This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why not contribute? (to GCC)

Marc Glisse wrote:
On Fri, 23 Apr 2010, Manuel López-Ibáñez wrote:

What reasons keep you from contributing to GCC?

Not sure we should spam this list even more with such non-technical discussions, but since you are asking:

legal reasons. The default disclaimer is nonsense, it is hard to find an employer willing to sign a sensible disclaimer, and even when you have a nice employer it can still take months (years?) to get things through the FSF.

My personal opinion is that this legal reason is a *huge* bottleneck against external contributions. In particular, because you need to deal with it *before* submitting any patch, which, given the complexity (4MLOC) and growth rate (+30% in two years) of GCC, means in practice that people won't even start looking seriously inside GCC before getting that legal paper. And getting it in big organizations is very hard, especially when you need big bosses in suit (that you never meet in person) to sign the papers. And convincing these top level bosses to sign a paper for an hypothetical patch is much harder than making them approve an existing (but non trivial) patch (eg a 6 month work patch).

I even tend to believe that a possible nice side effects of plugins would be to change this sad stage of fact. I am imagining that people would first contribute their work as a GPLv3 plugin (that they will publish outside of GCC, eg on some site, and under the copyright of their employer, not of the FSF). Several years later, it could happen that a few such plugins may become popular enough to grant interest from the GCC community which might perhaps ask the plugin to be incorporated inside GCC. In that hypothetical case, getting the legal document signed is a bit easier (the big boss knows what actual work & code is transfered to the FSF, and would sign a legal paper with less apprehension).

From a technical point of view, plugins also force us to design some more stable API, and that fact alone is good. Perhaps in a few years, we will even have less than hundred global variables inside GCC!

I also think (knowing that I am in a small minority) that automatic memory management (thru garbage collection techniques) is important to keep GCC modular (and to increase its modularity). I don't believe it is sensible to pretend having a five million lines of code software managing complex & circular internal data structures without a garbage collector. Again, I do know that most GCC people are against that opinion. (and GCC memory management needs are different, and more complex because of circularities, than those inside Gnome or KDE or the Linux kernel).

I am personally more attached to the FSF ideal of free software than to the actual four millions lines of code inside GCC. GCC is mature, and I am happy that other free compilers are appearing. Maybe in a dozen years the dominant C free compiler won't be GCC anymore. This is software evolution, and as long as free software flourish, I am happy with that. (I would even dream that in a dozen of years, C, C++, Ada, Fortran - i.e. the major languages of GCC - will be less relevant, but this is sadly a dream).

Again, all this is my personal opinion. Don't ask me about what my employer's opinion is (I don't know). Don't ask me to have any other person from my employer contact any one (including the FSF) to suggest improvements or changes to the legalese.

And obviously I am *not* a lawyer, of course (and even my employers lawyers are more expert on the laws of my country - France - and my continent - Europe - that about the US laws, or the Canadian ones).

I do know that the legal system of GCC is nearly impossible to change (we all remember how getting the runtime license of GCC compatible with plugins took so long) but I believe it is one of the weaknesses of GCC. My feeling is that the legalese inside GCC have been defined in a different time and world than today!

Any even since I did send patches to GCC since several years, I am still scared even now when sending one.

Sorry for spaming the list with such non-technical blabla.


email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]