Hello All,

Robert Dewar wrote:
Gerald Pfeifer wrote:
On Wed, 1 Oct 2008, Basile STARYNKEVITCH wrote:
is the goal to only permit FSF copyrighted GPLed plugins

The FSF is concerned about making and keeping software free. Copyright assignment to the FSF is required to get code into the FSF version of
GCC; it is not needed otherwise.

Gerald


Free software is a concern I do have and do share. But notice that GPL-ed software is different from FSF copyrighted software. First, there exist GPL-ed software which are not FSF copyrighted, and second (and much more relevant to GCC plugins) getting authorized to contribute to GPL-ed software is (at least for me, and probably many others) much less difficult than getting the FSF copyright transfer form signed by his/her employing organization (with the additional issue, that FSF copyright transfers are not exactly public).

Just because of that, I believe (maybe wrongly) that the plugin legal effort, once approved by FSF (ie once the yet unknown runtime license is adopted & published) might have as a side effect that GPL-ed code which is not FSF copyrighted may be more common in GCC (as plugins). At least in Europe, be authorized to publish GPL-ed code is much less difficult than getting the FSF copyright transfer.


And of course, as always, it is fine to do anything with your
own personal copy of gcc, including fiddling with plugins. But
when it comes to distribution, the FSF would like to encourage
only free software plugins, and discourage or if possible
prohibit propietary plugins (what can be prohibited is quite
unclear for a number of reasons, which is why this is under
discussion).

I do think (but I am perhaps naive, and certainly not a lawyer, and I know nothing about the US law system) that a way to make proprietary plugins harder is to avoid stabilizing an API. By the way, my MELT branch in practice enforces that quite well. For technical reasons, when a core part of MELT is slightly modified (and this might probably happens when GCC with MELT is evolving) all the MELT generated C files (which are generated from MELT sources gcc/melt/*.bysl) have to be generated again. This means that in practice MELT is useful only for code for which you have the MELT source files [of course this technical restriction does not technically require GPL on the MELT source files; the GPL requirement on *.bysl files is a legal consequence of GPL in GCC], so a proprietary MELT plugin is nearly impossible.

For those having compiled the MELT branch, to be more specific, if you modify gcc/melt/warmelt-first.bysl [I agree you might not do that often] then you have to regenerate every warmelt*.c files, their warmelt*.so files, and every other MELT generated file. Hence, the MELT source code should be accessible, and the installation of a MELT branch GCC does install every *.bysl file. In practice proprietary MELT plugins would be very impractical (assuming MELT would be inside gcc-4.y with y>=5, i.e. a *.so file produced thru MELT for gcc-4.y.3 won't work with gcc-4.y.4 unless regenerated from its MELT source). BTW, there are other languages with similar proprieties. For example, an Ocaml file compiled by ocaml-3.10 cannot be linked into an Ocaml program compiled by ocaml-3.11; you need to recompile all the Ocaml code at every Ocaml release.


Notice also that I don't know about any proprietary library which does not ship its header files "*.h", but only a precompiled header file. This seems significant to me.

In practice, I strongly believe that the main way of avoiding proprietary plugin is just to code as usual, i.e. avoid freezing any internal API or internal data representations inside GCC. This is already the case (and won't change soon even if people wanted to). So I don't think that a lot of proprietary plugins will appear. Also, while there is a real market for services around software tools like compiler, the market on proprietary compilers is apparently shrinking (partly thanks to the success of GCC) - outside of Microsoft systems at least.

So I don't think that proprietary plugins to GCC will be very successful; I don't perceive them as a significant threat to GCC (but I understand some of the FSF concerns regarding the runtime license). But then, I am French, politically more on the social democrat side, working in a government owned organization, so not struggling with the market each hour (even if I do have market related concerns, because I have to find fundings which require market relevances.).

The compiler landscape has significantly changed thanks to GCC. Few organizations can ignore GCC!

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

Reply via email to