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.
Cheers
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
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} ***