

FreeBSD built with clang now selfhosting - testers wanted - durin42
http://permalink.gmane.org/gmane.os.freebsd.current/124678

======
thristian
I don't use FreeBSD, and I have no ill-feeling towards the GCC team who have
done amazing things for the Free Software community (and lots of other
individuals and organisations) over the years — but I'm quite excited to see
how much progress Clang has made, and I begin to wonder whether maybe someday
the Linux kernel will have _two_ supported compilers.

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.

~~~
blasdel
That analogy is perhaps uncomfortably apt, considering how soundly Webkit is
beating Gecko on every front except for self-aggrandizing wankery over
hypothetical freedom. The only active non-XUL Gecko application is Camino, the
rest died several years ago or switched to webkit, and Camino's been
threatening to do one of those too.

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.

~~~
zppx
The LGPL adopted by Webkit is much more restrictive than the MPL adopted by
gecko (gecko still adopts GPL and LGPL, just because them it can link with GPL
software), if you're blaming gecko for supporting Theora but not H.264 I must
remember that the WebKit codebase do not includes an H.264 codec, it's Apple
and Google that link the codec against webkit, any application that uses the
bare WebKit will have to include its own version of the H.264 code, that said
technically webkit is advancing much faster than gecko in some areas (WebGL
for example).

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.

~~~
blasdel
Nobody else ships codecs baked into their rendering engine because that's a
_fucking stupid_ thing to do, something you'd only do if you wanted to prevent
users from using other codecs without forking the entire project. Everyone
else links against an intermediary framework (QT, ffmpeg, gstreamer) and lets
that dictate codec support. Chrome/Chromium does ship with a minimal
libavcodec, but you can swap it out with a symlink to your system's full
ffmpeg.

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!

~~~
zppx
upvoted, really good response, but calm down man, it appears you're barking.

------
kraemate
IIRC apple is one of the primary contributors to the Clang project, yes? I
wonder what motives they could possibly have for being so interested in
compilers. Not to sound like a conspiracy nut, but is it possible that apple
could impose a restriction on the iphone apps :"must be compiled with our own
version of clang" etc?

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.

~~~
lambda
I think there are a few issues.

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.

~~~
durin42
Yeah, that objective-c extensions (and objective-c++ even moreso) thing went
_so_ well for FSF too. Apple still ships a forked version of GCC (and binutils
for that matter) because FSF never actually _took_ all the patches, so I fail
to see what good it really did the community, especially now that there's a
non-GCC compiler that is open, and has a mainline that supports ObjC.

~~~
lambda
I know people who write and deploy code in Objective-C on Linux. So while
mainline GCC hasn't accepted the patches, keeping the compiler free _did_ help
the community.

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.

