I hope Clang vs. GCC turns out to be like the Webkit vs. Gecko rivalry - competing in public, but sharing ideas and even code to help improve the state of the art for everybody.
GCC was architected by Stallman to be intentionally inextensible, as a means of enforcing their interpretation of the GPL through technical means, by denying access to intermediate representations. That policy has been at least partially reverted 20 years later with the release of 4.5 on Wednesday with some plugin support, now that the LLVM projects are about to eat their lunch.
Concerning gcc, were you reading the mailing list of the gcc project for the last 20 years or so? What you said about Stallman is a fairly serious accusation, and as such must be supported with facts, as far as I know Stallman wasn't even important among gcc developers in the last 10 years, also in the very beginning gcc was intended to be the compiler of the GNU system, the technical reality for compilers in the 80s was probably different from now.
GCC was the canonical 'cathedral' project, controlled absolutely by Stallman through the FSF, a reign interrupted by the EGCS folks who had the gall to want a working compiler.
Mozilla may play up their whole 'community' angle, but they aren't very 'bazaar' at all in reality. Patches are unwelcome. A bunch of independent parties, most of them corporate enemies, contribute to the core WebKit project on a first-class basis. There have never been corporate contributors to Gecko, and they've repeatedly fucked over all the open source projects that used Gecko directly, to the point that only one is left (Camino). They don't even really support non-Firefox apps on top of XULrunner, including the ones they wrote themselves!
I tend to find the sniping at Stallman over gcc a little annoying overall. There are plenty of ways I disagree with Stallman's strategy, but from a "show me the code" perspective, he produced a free-software C compiler suitable for use in a modern free Unix 25 years before any of the MIT/BSD-license proponents did (until llvm, their only real alternative was the original pcc from the 1970s, which is why the BSDs all grudgingly use gcc).
NeXT tried to release Objective-C as a proprietary patch to GCC. It was only after the FSF told them that that was in violation of the GPL that they released the source under the GPL, now allowing Objective-C code to run on other platforms (I do in fact know people who deploy production code written in Objective-C on Linux, so this is not at all hypothetical).
Furthermore, NeXT^H^H^H^H Apple is now an even larger threat to computing freedom. They now have several Tivoized devices which forbid you from installing your own software on them unless you agree to an insane license from Apple that prevents you from writing any sort of interpreter or compiler that runs on or even targets those devices (oh, and also forbids political satire, apparently, unless you happen to be a Pulitzer prizewinner and get lots of press out of your rejection). People are talking of using these devices to replace their primary computer; people are even using these things, which are controlled by Apple and can have content remotely wiped from them, for government business. This is most definitely not an issue of "hypothetical" freedom; there are real freedoms being taken by Apple. They have even explicitly stopped upgrading to newer versions of GCC because of fear about the GPLv3; they don't want to make their platforms more free as the GPLv3 would require.
The H.264 issue is not hypothetical either. The licensing system is baroque and risky, as the MPEG-LA reserves the right to change the licensing in the future, meaning products with decoders, encoders, or even content encoded with H.264 may suddenly have massive royalties charged (with only a promise not to change anything for the next couple of years).
Furthermore, NeXT^H^H^H^H Apple is now an even larger
threat to computing freedom.
Yeah, Stallman hates extensible software. Look at Emacs, for example. That thing can't do anything Stallman didn't originally intend.
When did WebKit get support for Direct2D?
Mozilla is very late to the party. It seems like they're following Microsoft's lead here after they released builds of IE9 that use Direct2D and started dropping talking points about 'accelerated graphics'.
Quartz Compositor, as the name suggests, can only do compositing. This isn't just compositing. Windows Vista and above and Linux with Compiz also do compositing in hardware -- that isn't nearly comparable to Direct2D, though, because all these solutions render on the CPU.
QuartzGL, which is somewhat nearer to D2D in intent, still isn't enabled by default, even on Snow Leopard. http://www.tapper-ware.net/stable/web.dom.stresstest.transfo... is a good example of what's possible with true hardware acceleration and not just compositing: http://www.tapper-ware.net/files/stresstest.comparison.ogg shows how it performs on different browsers in Windows. Pretty stark difference, don't you think?
> Mozilla is very late to the party. It seems like they're following Microsoft's lead here after they released builds of IE9 that use Direct2D and started dropping talking points about 'accelerated graphics'.
It actually isn't. Mozilla started working on Direct2D support before Microsoft announced it, and the newest nightly is easily the fastest and most responsive browser currently available across any platform. It truly is a quantum leap, in that it is going to be impossible for a non-hardware accelerated browser to catch up.
LLVM is a great step forward in compilers but it's ties with apple and the recent devious deeds it is capable of is holding me back from contributing to LLVM.
What would be their motivation for restricting down to a single compiler? They had a (silly) reason to lock people into Objective-C; but that reason doesn't apply here. And even if they did, how would that be different from now where GCC is the only option?
One is that Apple likes control. They could hire the lead LLVM developer, own the copyrights, and use a permissive license, allowing them to exert a lot more control over the project.
Another is that Apple is allergic to the GPLv3. They have stopped upgrading to newer versions of GCC in recent Mac OS X releases, because they are afraid that the GPLv3 may prevent them from Tivoizing the iPhone and iPad.
And back when they were NeXT, they tried to release their Objective-C extensions to GCC as a proprietary patch, but wound up being forced to release them as free software by the GPL. They may want to avoid that sort of thing in the future. For instance, I don't believe they release as free software their implementation of OpenGL which uses LLVM.
So yes, I think it's entirely possible at some point in the future that Apple will say "you must use Clang to compile for the iPhone/iPad platform." And it may even be a special, proprietary version of Clang, targeted at a custom chip in the iPhone or iPad. They have worked very hard to have full control of the platform and toolchain, and made sure that it's all under licenses that will allow them to make it proprietary whenever they wish. They can't quite switch to Clang yet, as its C++ support is not finished yet (though it does cover enough to self-host), but once they do, I absolutely would not be surprised if they mandated its use.
I don't believe that the FSF's tactics are correct in all cases. I think that they could do better about encouraging and not alienating certain developer communities. But software freedom is a very important goal, and they are one of the few groups out there truly dedicated to software freedom.