On 04/24/2010 09:35 PM, Thomas Neumann wrote:
What reasons keep you from contributing to GCC?
I tried this a while ago, but ultimately gave up because I could not get my
patches in. Some were applied, but many never made it. Admittedly they were
perhaps not of general interested, there were only improving compatibility
of the gcc base with C++ (what Ian Lance Taylor then did later).
The most frustrating part was not getting patches rejected (I could then
improve them, after all), but having patches ignored. You submit a number of
patches, and the result is... nothing. No response at all. Not exactly what
encourages gcc as a free time activity.
On the other hand I am a professional developer, too (even working on
compilers), and I myself would perhaps also be reluctant to spend time on
reviewing and merging patches that I do not really care about. So I
understand the gcc developers. But it is still frustrating for outsiders.
Sorry to reply so late (was away off internet for a while).
From my experience, the reasons for not contributing are:
- Code complexity: Doing even the simplest stuff in gcc requires quite
some time to a newcomer.
Occasionnally, I got some good advices which helped to produce a
functional patch, but in many
cases, having access to a simple hint (just to localize the actual
code that needs to be modified)
is often difficult. C does not help here (even though I'm fluent in
that langage), but I do not want
to re-open a war...
- Time involvement: I can spend a few days (mostly over the week ends)
or hours after work and can
spend an equivalent amount of time for dealing with consequences of a
patch. I cannot afford to
spend weeks of work (except exceptionnaly if this relates to my
work). On one occasion, I submitted
a prototype patch to remove default template parameters with some
questions whether the flag I used
was really available and request for comments.... The only answer I
got was to use the new (completely
undocumented and un-comprehensible to me after a few days of
struggling with it -- this was several
years ago) error message system.... Not even one comment on the
usefulness of the feature or on
my questions, I decided that the patch would anyway be never accepted
(at the time INRIA had no
copyright agreement -- and I'm still not sure I'm covered now --), so
I abandonned. Since then
Paolo IIRC also proposed something (probably much more elaborated
than what I did), still such a "trivial"
(for me it was some effort) functionality is not available unless I'm
wrong. I agree that this is a minor
functionality, and typically the kind of effort that might interest a
newcomer, but the effort to get accepted
is/was just too high.
- I'd like to help gcc not to fight/bother gcc people to get some more
or less trivial stuff accepted.
I can very well understand that they have more important things to
do.....
I must say though that I see some maintainers spending time to answer
beginner questions, and I
appreciate.
- Copyright assignment only comes fourth (and actually may be solved for
me). I believe anyhow that
most newcomers should first start with very small patches first (one
liners, documentation, style, unused
variables....). But those patch are often ignored (again, I can
understand that for a gcc developper that
might not be worth the effort).
- All in all, I believe that there is gap between skilled developpers
and newcomers. Once one is skilled enough
the list is very helpful. For newcomers, the answers form the list
are just not reliable enough (in terms of useful
answers). Again, I have seen recently some effort by a few
developpers to anser basic questions and that's good.
A slightly better way might be to offer mentorship (eventually
pyramidal) on some small projects in order to help
people jump in the bandwagon.... At least this is true for
non-compiler people as I'm.