Another example (this time a private e-mail thread that was made public) is this one, which later became a massive discussion on the FreeBSD advocacy mailing list. Here, as a University project, someone wrote a backend for gcc that generated Java bytecodes (not like gcj, which bypasses most of gcc itself, but a true backend that could generate bytecodes from arbitrary front-ends, such as C).
In this case, Stallman not only indicated that the code should not be accepted, but even requested that the code that had already been published be retracted. He felt that Java bytecodes were sufficiently high-level that they could be used as an intermediate language, allowing closed-source backends to be indirectly connected to gcc's frontends.
FWIW, here again, it isn't clear whether going to RMS was even the right path; it could be that addressing the gcc mailing list in the first place would have caused a different discussion. In fact, even once posted to the gcc mailing list, the response was actually largely positive, although now somewhat colored into a discussion of the e-mail thread, and not the patch; I am not certain (but would love to know) why this patch then continued to not happen.
I am really amazed and disturbed by this email. It seems so absurd that RMS is trying to hold back progress, and keep people from using and expanding gcc as they see fit. In the name of his twisted version of "freedom", he even tries to get Trent to censor the code from his site.
I've always thought RMS was a little off, but I just chalked that up to the typical eccentricities of genius. This isn't just eccentric though: suppressing code in the name of freedom is just plain evil. I'm not sure how anyone can take RMS, and by extension the FSF that he controls, seriously anymore.
> I'm not sure how anyone can take RMS, and by extension the FSF that he controls, seriously anymore.
Well, if it makes you feel any better (or, alternatively, worse, I guess, in which case I apologize :(), I do (to be explicit: take RMS seriously). I didn't in 2002, which is part of why I can pull these examples do quickly: I considered Stallman an extremist and I found his definition of "freedom" confusing. I often had to cite these various email exchanges.
However, over the course of the last ten years of being a developer of open-source tools, I've entirely reversed my opinion. I have found myself more and more frustrated with the attitudes people take towards open source contributors, and I have seen the licenses on my open work become more and more defensive against these abuses (sometimes even using AGPL).
In fact, this whole Apple/Clang debacle was one of the things that pushed me over: this only became "a thing" when gcc moved to GPL3, and seems mostly about Apple wanting to maintain and expand a fully-closed ecosystem, not about technological advantages. In my opinion, the "great GPL purge" of Mac OS X is going to lead to some dire consequences on computing.
Android was designed to decouple GPL code from userspace because OEMs were scared of the "GPL contagion".
The recent Android NDK r8c (November 2012) includes clang 3.1 as an experimental alternative to gcc 4.6. This suggests that it may become the default in future versions of the Android NDK. If Google, like Apple, drops gcc for clang, which major commercial entities will be helping to fund gcc development?
I'm amazed I've never seen this get more publicity.
The fact that RMS would tell someone to take a GPLed extension to GPLed code off their website, and never mention they exist, seems fundamentally against the principles of free software. How was this not a controversy of the highest order at the time? I'm amazed I missed it.
I would say it is against the general principals of "open source" as you might find embodied in the modified BSD license (or simply in the notion of the public domain); but "free software" is more about the enforcement of a social contract, one where everyone has agreed that the "payment" we receive by providing software to the community as open source is that others will also contribute to the shared pot (as opposed to "freeloading"). In a perfect world, it wouldn't be needed, but we don't live in a perfect world.
That said, I agree that this example sucked: the argument wasn't even that strong, party because I get the impression that Stallman doesn't really "get" Java (based not just on this example, but from other situations where Java comes up; it just seems like he never looked at it very closely to see what it really wasn't actually capable of: he seems to give it much more credit than it is due). The comments on the mailing list seemed to defeat his argument, which is why I continue to be confused that the discussion didn't continue.
As for why more people don't know about it, I don't know: it was a somewhat big deal on a bunch of mailing lists (again: it hit freebsd-advocacy and turned into a major event, somewhat bolstered by the GCC Introspector guy I mentioned elsewhere in this thread getting involved an sharing his stories as well). I can only imagine that not enough people care about mailing list history. :(
http://gcc.gnu.org/ml/gcc/2001-02/msg00895.html
In this case, Stallman not only indicated that the code should not be accepted, but even requested that the code that had already been published be retracted. He felt that Java bytecodes were sufficiently high-level that they could be used as an intermediate language, allowing closed-source backends to be indirectly connected to gcc's frontends.
FWIW, here again, it isn't clear whether going to RMS was even the right path; it could be that addressing the gcc mailing list in the first place would have caused a different discussion. In fact, even once posted to the gcc mailing list, the response was actually largely positive, although now somewhat colored into a discussion of the e-mail thread, and not the patch; I am not certain (but would love to know) why this patch then continued to not happen.