The Wayback Machine - https://web.archive.org/web/20221225064447/https://lwn.net/Articles/259307/
| |
Subscribe / Log in / New account

GCC unplugged

GCC unplugged

Posted Nov 20, 2007 13:32 UTC (Tue) by rlk (guest, #47505)
Parent article: GCC unplugged

I *hope* the FSF isn't making the mistake of deliberately crippling a product to hinder
creation of closed plugins.  That's implied here, although the article also notes that there's
no record known of RMS actually stating that.  Hopefully this is a misinterpretation.

Deliberately crippling a product to manage usage is exactly what DRM (and other tactics) is
all about: a business strategy grounded on restricting what users can do, which is
antithetical to any principles of freedom that I'm aware of.  Furthermore, if there is a real
demand for a plugin architecture, it isn't going to work, because ultimately someone else will
find a way to do it, and the FSF cannot prevent anyone else from doing this.  It would simply
lead to a hostile fork, which wouldn't do the free software community any good.  egcs was
basically a friendly fork; this would be more like the XFree86/Xorg situation, and we can see
where that one ended up.

It's one thing not going out of one's way to help would-be closed extensions (e. g. the Linux
kernel not freezing the module API), but making technical decisions on affirmative grounds of
blocking closed extensions crosses a line.  If the GCC simply has more important things to do
and doesn't have the time to implement something deemed to be of lesser importance then that's
a valid technical decision.  The problem would be if the decision is not based on technical
merit or resource limitations, but rather a desire to inhibit certain uses of GCC.

All that said, this is all second or third hand, and nobody seems to have an actual record of
RMS, or anyone else who can speak for the FSF or GCC, actually stating that a plugin
architecture should not be done because it would make proprietary extensions easier.  Until
there's any clear proof of that, we have to give the FSF the benefit of the doubt.



(Log in to post comments)

GCC unplugged

Posted Nov 20, 2007 14:33 UTC (Tue) by Lev (subscriber, #41433) [Link]

In response to:
"All that said, this is all second or third hand, and nobody seems to have an actual record of
RMS, or anyone else who can speak for the FSF or GCC, actually stating that a plugin
architecture should not be done because it would make proprietary extensions easier.  Until
there's any clear proof of that, we have to give the FSF the benefit of the doubt."

Please see:
http://gcc.gnu.org/ml/gcc/2000-01/msg00572.html
"Anything that makes it easier to use GCC back ends without GCC front
ends--or simply brings GCC a big step closer to a form that would make
such usage easy--would endanger our leverage for causing new front
ends to be free.

Because of this, the GNU Project will in all probability not install
such changes, should they be available.  This statement reflects a
firm conclusion based on a decade of thought."


GCC unplugged

Posted Nov 20, 2007 15:12 UTC (Tue) by nix (subscriber, #2304) [Link]

This *was* from seven years ago, and RMS's attitude is slowly evolving in this area (since it
was obvious that a rigid approach to this would make it nearly impossible to do
cross-translation-unit optimizations properly; the compiler has to be able to write out
intermediate state in some form).

GCC unplugged

Posted Nov 21, 2007 19:44 UTC (Wed) by landley (guest, #6789) [Link]

Are you aware of a single instance where Stallman got _more_ flexible with 
time, instead of less?

I'm honestly curious.  Examples, please?

GCC unplugged

Posted Nov 22, 2007 0:41 UTC (Thu) by gdt (subscriber, #6284) [Link]

Two examples that spring to mind: the output of Bison can be used in non-free programs; and support for the GPL to BSD license change of Ogg Vorbis. I am sure there are more.

GCC unplugged

Posted Nov 22, 2007 10:15 UTC (Thu) by nix (subscriber, #2304) [Link]

Well, there's the case we were just discussing: RMS shifted from a strict 'no
non-FSF-copyrighted code in GCC' to allowing it for ecj; he shifted from a 'no writing out
internals' to allowing it for link-time optimizations... he's not completely dogmatic: if the
choice is between useful free software that incorporates stuff copyrighted by other people or
makes things easy for GPL violations, and between free software that lags behind and is
outcompeted by other stuff, he has a track record of not taking the route that will kill the
free software.

You just have to convince him that this will happen unless he bends, which is kind of hard.

(Part of this is probably the perfectly normal pride-in-project: nobody wants to see something
they started get thrashed by something else if it can be avoided.)

GCC unplugged

Posted Nov 21, 2007 22:15 UTC (Wed) by Max.Hyre (subscriber, #1054) [Link]

Also from that e-mail:
I ask anyone who would like to make such changes in GCC to please contact me privately. I would like to talk with you about the ideas you are interested in working on, to look at the magnitude of their potential benefits, and consider other possible ways of achieving them.
So,
  1. he's not ruling it out completely, and
  2. in case anyone hasn't noticed, RMS is purely and always about freedom. He wants function, but it comes in second.

GCC unplugged

Posted Nov 22, 2007 2:39 UTC (Thu) by rlk (guest, #47505) [Link]

I'm certainly aware that RMS puts freedom first, and I personally agree with that priority in
general.  The classic example is DRM: while in the short term accepting the use of DRM gets us
access to more movies or such, but in the long(er) run that comes with a high price, and it
ultimately results in less function.  Wasn't it Ben Franklin who said that those who sacrifice
liberty for security soon find themselves with neither?

This is a rather different situation, though; it's a case of deliberately restricting the
capabilities of free software to prevent a certain type of use, which could be either free or
non-free (this plugin interface would have substantial free use as well as potential non-free
use).  Leaving aside the fact that the FSF cannot prevent someone else from implementing this
functionality, this kind of decision making seems a bit backward; it's denying people the
freedom to implement free GCC plugins to prevent others from implementing non-free ones.

Again, there are plenty of other reasons why the FSF might not implement this -- there might
be higher priorities, or the specific proposed interface might have technical problems -- but
this particular reason just strikes me as particularly unfortunate.


Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds