This is the mail archive of the gcc@gcc.gnu.org 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)


Manuel López-Ibáñez wrote:
On 23 April 2010 23:19, Basile Starynkevitch <basile@starynkevitch.net> wrote:
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!


I was referring to the fact that the threat to GCC is today no more from Sun (I read a few weeks ago that as a company Sun does not exist today). The competition is from other free compilers like LLVM CLANG. And it could happen that LLVM + CLANG would continue to exist even if Apple disappeared. It could also happen that LLVM + CLANG would supersede GCC.


The legal status is impossible to change and we do not want to change
it. The legal procedures to satisfy that status are a different matter
altogether and we should evolve and improve them. Mixing the two
concepts leads to confusion.


In my own perception, the legal status of GCC is *not* the GPL. I would be very satisfied if GCC was "only" GPLv3+ (like Linux kernel is only GPLv2+). But GCC is not only GPLv3, it is in practice FSF copyrighted, with (for big organizations like my employer) *unlimited* liability for the code they have written (the lawyers at my organization tried to explain me that if I legally do bad things, the entire French state could be crushed.. by e.g. a patent litigation between Dark Vador & the FSF; perhaps there is some trick to avoid that but I did not understood it; I do stay skeptical, because I never coded important enough code that would matter a lot to others. Remember that I am not a lawyer, and I might have understood all wrong. And most of my GCC code don't interest a lot of people.). I repeat, what is scary to lawyers is the "*unlimited* liability" words of the copyright transfer to FSF. [If the legal documents specified a very large, but limited amount, like US$100M, I would imagine lawyers would perceive the FSF copyright transfer form differently]


I repeat: the legal document employing organizations of contributors have to sign (the transfer of copyright to FSF) is *not* the GPL. (And I am not sure that document is public, a fact that I personally find disturbing from an organization -the FSF- which defends free software....).

And I did met several persons who abandoned the idea of contributing to GCC just because of the transfer of copyright to FSF requirement. If the set of such persons is large, and if such persons are collectively wise, then GCC might have an issue here, unless we consider that the set of GCC contributors is large enough and will stay large enough.

Again, my definition of the legal status is what legal document have to be signed to contribute to GCC. For me, as employer of CEA, the legal document was *not* the GPL.

As for the legal status. For me, the GPL is one of the reasons I chose
to contribute to GCC.

I personally definitely agree with that, and I do find the GPLv3 attractive. But the lawyers at my organization tried to explain me that the GCC compiler is much more than GPL. Any legal mistake could have tremendous consequences.
[I'm working at the French DoE equivalent - CEA http://www.cea.fr/ is producing French nuclear warheads, and providing expertise for French civilian reactors; I definitely don't want to start a nuclear war with some GCC patch; honestly, I find such an event very unlikely.]


In my view, the only way GCC would become only GPL (and not GPL + FSF copyright with *unlimited* liabilities & co-responsabilities from employers of contributors) would be a GCC fork (to a GPLv3 code base with patches belonging to *contributors*, not to FSF), unlikely to happen.

In case you did not understood that, any political or legal point of view is only mine, not of my employer's. And I am not a lawyer, and I don't want to become one, and I don't even like to speak to them.

I wouldn't like to see Apple to take my work,
add some shiny stuff and start distributing it as a closed-source
bonus to its customers. But if the GPL is stopping you from
contributing, then go now because we cannot and we do not want to
change this. But the procedure, I don't see any reason why it could
not improve.

It is not the GPL that bothers me, it is the transfer of copyright to FSF. Getting that document signed was so painful to me that I will never try again. And this (FSF copyright requirement) fact disable me to even consider contributing -even a dozen lines- to other GNU code such as binutils.


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

Scared about what? Legal implications? Please clarify.

I am only scared about the reaction of the community - i.e. cultural issues. Working a lot on some code and having it rejected by some folks I never met in a few seconds is -for me- very uneasy. The coding typesetting rules (which I don't understand; I won't be able to formalize them), the spelling & language conventions, the strong language of patch rejections [i.e. words like "this patch is crap"], all this is still scary to me. Remember, I am not a native English speaker.


From a legal point of view, I never dive into patent databases to check that any small idea in my code is already patented (especially in the US, where the patent system is more crazy than in Europe). Who is really honestly doing that before sending a patch for GCC? And my code contribution is probably not clever enough to interest any lawyer!

And my employer's lawyers explained to me that there are even some terms of the copyright transfer which are illegal in France, because the copyright laws are so different in the USA & in France. It is called "droit moral de l'auteur" -I don't claim to be able to translate these french words; I am not a lawyer but I understood that in France no one - not even the FSF - could legally claim to a judge that the code I wrote was not written by me, while something similar is possible in US law. But I am not a lawyer, and I don't want to become one.

I also never understood what would happen if I had a brain illness to the point of submitting illegal patches (I have no idea if such things could exist; I am supposing today that if I wrote every character of every patch I am submitting to GCC they cannot be illegal.), or what would happen if the FSF or RMS decided to make all GCC code base proprietary (my limited understanding is that RMS or the FSF could relicense GCC under a non-GPL compatible license). Could a foreign goverment worker (I am nearly that, employed by a French government owned institution) crash the economy of his entire country by some single GCC patch? I believe that no, but I cannot prove it or just explain it. In principle, the "unlimited liability" words [in the transfer of copyright to FSF] make me think that it could be possible, but I don't understand how. Could a GCC patch submission start a world war? Again, I believe that no, but I am not able to explain why.

Of course, all opinions here are only mines, ...

I agree that I am nitpicking about law (I don't care that much about law; I find ethics more important than law). But I did actually spent too much energy to get the copyright transfer form signed (from my employer to FSF) and this was extremely boring and even painful to me. And it is sufficiently unpleasant to several people who, just because of the FSF copyright transfer requirement, decide to not contribute to GCC.

I have mixed & contradictory feelings about the long term future of GCC.

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} ***


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