[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Pan-users] Coding guidelines?
From: |
Duncan |
Subject: |
Re: [Pan-users] Coding guidelines? |
Date: |
Sat, 31 Mar 2012 20:08:38 +0000 (UTC) |
User-agent: |
Pan/0.136 (I'm far too busy being delicious; GIT 72905f5 /st/portage/src/egit-src/pan2) |
Rui Maciel posted on Sat, 31 Mar 2012 13:19:49 +0100 as excerpted:
> On 03/31/2012 12:39 PM, Duncan wrote:
>> I'm not sure if you had in mind the following, or more literal code
>> format conventions, but FWIW...
>
> <snip/>
>
> I had in mind stuff which was a bit more low-level, but the stuff you
> pointed out is in no way less important. The main issue I had in mind
> was what programming language to use. More precisely, what C++ standard
> to target and which language features are accepted or avoided in Pan's
> source code. This issue is a bit more important now that there is a new
> C++ standard is out and some compilers already support at least some of
> the new features.
Traditionally, pan has been pretty careful about requiring new compiler
versions, etc.
In particular, practically speaking, one of the more technically
proficient testers (SciFi) is on "the fruity OS" as he calls it (he's
looking at switching to Linux, but it's a multi-year process for him as
it was for me), and thus limited in the choice of gcc and various library
versions he has access to. Being the technical guy he is, he recognizes
the value in moving forward, but given that it's simply not practical for
him to do so in some cases, it's recognized that if pan chooses to
require newer versions of those libs, etc, we're not going to have his
valuable testing input. That has caused a few extra ifdefs and version
requirement jump rollbacks already.
Of course there's also the issue of pan on MS Windows. That was one of
Charles' big interest points tho I don't know how much focus is on it
now. But I know we have several users on the platform and someone doing
regular MS builds for those users without a compiler and build-skills.
So there's that compatibility issue to consider as well.
> Regarding Pan's development process in a broader sense, are there any
> plans to add a section to Pan's site which explicitly covers how Pan is
> developed and how others may contribute to it? There is a section
> covering Pan's roadmap, and the download section includes references to
> a set of source code repositories, but that appears to be it.
That in fact is a very good question. Petr Kovar is the guy with the
keys to pan's web site. He has overhauled and modernized various bits of
it since Charles gave his blessing and handed over the logins, etc, but
his skills are more in the communications and translation areas than in
development (he's officially a gnome translator, but also our interface
to gnome since he's the one with full gnome commit access, etc, so he
does the releases altho he's mostly simply taking KHaley's and now
Heinrich Mueller's actual development work when he does so).
So having someone with a developer focus coordinate with him on updating
and expanding the on-site developer info should be useful indeed! And
just by bringing it up you've already made a useful contribution! =:^)
> With regards to the bit about Pan not requiring GNOME, it is
> unquestionably the right thing to do. Yet, as Pan's site refers to Pan
> as "gnome newsreader", maybe this might appear a bit contradictory to
> some people. Wouldn't it be better to refer to Pan as, for example, a
> gtk newsreader?
That's somewhat historical as well. A decade ago, gnome-1 era, pan DID
require gnome. But with the switch to gnome/gtk2, pan dropped the gnome
requirement and required only gtk2. Now of course it's gtk2 or gtk3.
But pan remains hosted on gnome infrastructure, with both the official
git repo and bug reporting system on gnome.org, and as I mentioned above,
PKovar is the guy with the gnome credentials that has actually done the
last few releases, etc.
Now I'm a kde person that just happens to be highly involved in pan as
well, and I don't claim to do either C or C++ to any major degree (tho I
can read git-whatchanged and git-show well enough to propose changes
occasionally, when a git-bisect nails down one that broke something), so
my knowledge of gnome is definitely limited. But my understanding is
that its components are somewhat more loosely integrated than those of
kde, for example, and that within the gnome ecosystem, it's actually not
unusual for apps to claim to be gnome XXX, when they're technically only
gtk XXX, and especially given that pan was originally a gnome requiring
app and the fact that the source repo and official tarball releases as
well as bug reporting remain hosted on gnome infra, being a "gnome
newsreader" but only requiring gtk is well within the normal range for
"gnome apps".
That's especially true now that major components such as the help system
and gnome keyring integration require gnome.
It's also possible; I don't know, that some users value the "gnome" label
just as some value the GNKSA seal, and that stripping it to "gtk" might
simply have more political costs than it's worth. I simply don't know
the gnome world well enough to know whether that's true or not, but see
how it plausibly could be. Again, Petr's the gnome authority 'round
here, so he'd be the one that would groke that side of things well more
than I do.
But I guess that's something that could probably be covered in that
expanded developer section on the web site, that you mentioned. Or maybe
in a general pan history section...
Actually, that might not be such a bad idea either. That would be a
great way to honor Charles Kerr and others no longer directly involved,
as well as explaining stuff like the pan's gnome origins, the origin of
the pan name (pimp-ass newsreader, until the C++ rewrite I was pretty
consistent in using uppercase PAN for that reason, but took the
opportunity of the rewrite to switch to the lowercase pan that most
others were using by then already), maybe have a list of all the version
strings and their origins (there's a site on the net that already tracks
that, or at least was until some years ago, I could look it up...), etc.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman