Port KAnimatedSystemTray into KSystemTray
Aaron J. Seigo
aseigo at kde.org
Sun Sep 14 23:02:51 BST 2008
On Sunday 14 September 2008, Friedrich W. H. Kossebau wrote:
> Am Sonntag, 14. September 2008, um 04:36 Uhr, schrieb Aaron J. Seigo:
> > On Saturday 13 September 2008, Friedrich W. H. Kossebau wrote:
> > > Please, don't hide the fact that that guide is _not_ an official guide.
> >
> > it's as close as we have for the core kde libraries, though. i don't know
> > why people are so allergic to the idea of consistency
>
> People are rather allergic to all-or-nothing proposals.
even when they don't affect them in any way shape or form? why does nobody
complain about the kdepim style guide these days, which is rigorously
enforced? because it doesn't affect us. it only impacts those working on
kdepim, and they've come to a conclusion for themselves.
this is no different with kdelibs.
> And things that get
> pushed forwards without a real general consens.
of the top 10 contributors by commit count to kdelibs, i know that 7 are very
much in favour of it. this includes the top few people who are responsible for
a remarkable % of the work that went into kdelibs in the last two years (the
top committer has ~3x the number of commits of the #2 person, and the top 3
combined account for 50% of the combined top 10 commit count; but more on that
later). one person in the top 10 has expressed the desire to do some minor
tweaks to it, though that didn't happen after they aired their proposal. of
the remaining two people, i don't know what their opinion is off hand. (should
be easy to find out, of course =)
if we extend that to the top 20, it's pretty much identical, right down to one
more person wanting some small tweaks.
of the people who objected to the idea of a coding style guide or to the
current one in substantive ways (so not small issues, but big ones) ~0% of
them appear in that top 20 (or even futher) committers.
the issue was raised at trysil in person which was attended by those most
involved with kdelibs at the time; it was raised again a couple times on this
list.
if that isn't consensus then heaven help us because consensus is
unnattainable.
> I guess nobody is allergic to consistency in style for a given code block,
> it's just for the kind and scope of the style.
to be frank, what kind of guide is not your concern unless you are a signficant
contributor to $PROJECT. if you're a casual "patch here and there" person or
not a contributor to $PROJECT at all, i don't think it's really up to you.
example: i have actually contributed to kdepim in a rather insignificant but
consistent fashion for probably 5 years (or maybe a bit more than that even).
i worked on the smtp ioslave, did the fancy headers still used in the reader
window (which i now think looks very dated; it was cool at the time though ;),
worked on the visuals in the kontact sidebar, did some work on the little
calendar widget in korganizer, etc... but let's face it: i'm really not a
significant contributor to kdepim. =) so i don't feel like i have any say or
concern in the style guide they use.
they who code decides, and i don't see kdelibs as any different which is why i
used $PROJECT in the above rather than "kdelibs" directly.
as for the scope, it is quite tightly constrainted to just kdecore, kdeui,
kio, kdeutils and kfile. other projects may opt to use it if they wish, but
that is 100% up to each project and there is no expectation of adoption or
penalty for not doing so.
> > it's
> > not like i go around telling people in kmail (to pick a random example)
> > what style to use or complain about their style.
>
> They might care because they are open to contribute there, have a look at
> some parts, and even have modules in the works which are a candidate for
> inclusion there. :) And so they might care for entry barriers, and this
> includes such representatives nitpicks as where-braces.
a) the effort to ensure consistency such as where braces go are near zero
compared to actually writing the code in the first place.
b) if you are wanting to contribute to a project, you contribute to it and
that means cooperating with certain things like licensing or code style or
portability requirements or ... we have far more onerous issues in kdelibs
than braces, you know.
c) if coding style is really a barrier to entry, i'd like you to explain the
constant suppy of patches we get for plasma from new contributors, many of
whom end up sticking around for more patches, where we're much more strict
about code style than we are in kdelibs. (plasma is probably "sexier", but
that's already visible in the involvement difference between plasma and
kdelibs). we could also look at kdepim which has a strict style guide as well;
they need more hands, so i don't think a styleguide alone is enough either.
> Also, please for KDE being a community project normalize contribution a
> little by time to spend, not everybody is lucky to earn his money by this
> and can go fulltime.
let's look at the KSystemTrayIcon patch in question. there were several actual
problems with it. i spent a good amount of time reviewing and providing
possible solutions to those real problems, and about 10s dealing with style
issues. the coder probably spent an additional 15s touching up those braces,
several minutes reworking the actual issues and probably even more time
waiting for it to compile and link libkdeui.
what this says is that it's not a time issue for the contributor in this case.
moreover, in the several years i did kde development on my own time, i
provided patches to, e.g., kdepim that does have a strict style guide. i went
through reworking my patches for style for them. i disliked how hard it was to
get patches in there some years ago, but that had nothing to do with the style
issue: it's really easy to get patches into kdepim and the style guide
remains.
so i know from personal experience that it is not the style guide that matters
when it comes to getting patches in as a volunteer. it's completely how open,
responsive and helpful the maintainers are.
we (kdelibs devs) used to be really concerned about the number of people
working on kdelibs: it was mostly people who had been with the project for
years with very little "new blood". we talked about possible reasons why
extensively, and what we might be able to do about it. we didn't have a style
guide, so that wasn't it ;)
today, in the top 10 commiters for the last ~2 years i see three new-to-libs
names (even more if we extend to top 20) and those people are not paid to do
so. there has been more activity and care in kdelibs recently than there was
through much of kde3. we can do even better yet and get even more people
contributing and doing great things with kdelibs ... but things are improving
here, at least according to the numbers i have so far (once Pauls' db is
available i'll be able to do a lot better reporting in this area) ...
you have made 9 commits to the kdelibs covered by the style guide in the time
span covered by my data. 5 to kdecore and 4 to kdeui. 33 others are in the 5-9
commit range; a total of 156 people are in the <10 commits range. so there are
significant numbers of occasional commiters: 67.2% of contributors in fact.
they account for 6.6% of total commits. the top 4.3% (aka "the top 10")
account for 43.1% of commits. the next 4.3% account for 20.3%, meaning the top
20 account for 63.3% of commits. it's not unusual for a foss project, though a
little more top heavy than some.
(i really wish this data had line change data as well; i'm hoping Paul's db
will)
so when optimizing for involvement, there are a few different aspects to take
into consideration here:
* those doing the bulk of the work should be allowed to work easily
* new developers should have a low barrier to entry, including:
* the code should approachable (consistency helps; it's one thing we've
heard numerous times from would be contributors and was part of the motivation
for the style guide; clarity and documentation are even more important though)
* clear direction on how to contribute (the more clearly process is
defined, the more confident someone can be they are doing the "right thing",
something that is disproportionately important to most technical people)
* time to contribute must be kept low (which is a combination of a few
factors; one of them can be if the process is too complex or strict)
* code should be easy to pass on from generation to generation of developers
it's satisfying to me that we have a way to work that is agreed upon by those
who do the bulk of the work, that we continue to see large numbers of "casual"
developers (small numbers of commits over time) and that with a consistent
style the code is a bit more maintainable and transferable.
so what i'm saying here is that i share your concern for contribution to
kdelibs. it's a real issue for us and one that some of us, myself included,
have spent time and energy on.
it matters enough to me that i take time out of my sunday to write this very
long email =)
my motivation is that i'd like people to give the kdelibs project the same
respect and understanding they give any other project in KDE. i think they
might if we had an actual visible and official maintainer / maintainence team
for kdelibs, but we don't.
> Understandable motivation?
i understand what you are saying, but respectfully disagree with it. the ideas
presented are not held up by actual practice and i really find it "not very KDE
like" to have people who aren't contributing significantly to these libraries
tell those of us who are how to work. i appreciate feedback in general, but
this one has been heard many times over now.
kdelibs development is not exactly "vibrant" right now, but it is rather
better than it was a few years ago imho. those of us working on it care and
are doing what we can to make it more vibrant.
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Trolltech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20080914/40221117/attachment.sig>
More information about the kde-core-devel
mailing list