Here's a pretty good talk about the philosophical motivations behind Clang and the current work being done on it:
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...
Here's a pretty good talk about the philosophical motivations behind Clang and the current work being done on it:
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012...
And please don't link to that RMS email as "evidence"; RMS has about as much control over GNU projects' technical details as Charles Manson does over the music industry.
By your own words, you've been working for three years on trying to get information out of GCC for use in other tools. Even if you have no intent of trying to attach proprietary back ends to GCC, you are working very hard to enable others to do so.
...
> I think the GCC list has to ask itself how long are we going to wait before addressing the issues at hand, and not just ignoring the problem to death.
As long as possible, because as long as there isn't a really clean way to attach proprietary front ends and back ends, people who are on the fence about going proprietary or submitting their code back will choose the latter.
-- Joe Buck, http://gcc.gnu.org/ml/gcc/2002-02/msg01823.html
(To note: James Michael Dupont, the person doing the work on Introspector, himself was perfectly fine with the licensing even being quite explicit that things attached to his XML data feeds would have to be themselves GPL. This was clarified, and people seemed to understand; however, his work was still being explicitly rejected as it could lead to proprietary backends.)
You still think that I think you're a bad guy. I don't. Long-term, GCC is going to have to open up the interfaces. Our current policy is that we don't accept patches that do this, but we can't prevent others from doing it.
-- Joe Buck, http://gcc.gnu.org/ml/gcc/2002-06/msg01392.html
(Honestly, I'm not even certain this is the wrong attitude for the FSF to take, although it certainly is a futile one: you can always build in your own mechanisms to do this, or hell, use one of the new alternatives. It really seems somewhat important that the FSF has been around as long as they have been taking a stance that they refuse to water down; yes, it would be better if we all could work together without this kind of inanity, but the world isn't perfect.)
The claim I've seen repeatedly is that this is precisely because they must now compete with Clang/etc.
Previously GCC's primary competitor was ICC, and they were compared based on the quality of their output. Now GCC's primary competitor is Clang, and they compete on how user-friendly their interface is. Modularization is a user interface improvement, just like better error messages or more comprehensive warnings.
You might argue that compliance with copyright law is a "political reason", but I think you'd find that to be a very difficult position to defend.
Because Clang happened.
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.
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.
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.
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?
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.
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. :(