Clang - what is the story?

Matthew Seaman m.seaman at infracaninophile.co.uk
Sat Jan 21 13:33:14 UTC 2012


On 21/01/2012 12:11, Da Rock wrote:
> I've been seeing a lot of hoorays and pats on the back and a general
> feeling satisfaction in being able to use clang to compile FreeBSD and
> ports. The only reason I can see from searching is a need to get away
> from gcc (which is tried and tested since the beginning of time) which
> is now apparently GPLv3.
> 
> Can someone offer some clarity as to the importance of this? I'm
> guessing the that stepping away from GPL is generally a good thing,
> especially if there is something similar with similar license structure
> to BSD; I just can't understand the rush of it.

The problem is exactly the GPLv3.  The version of gcc in the base system
is gcc-4.2, the last version licensed under the old GPLv2 terms, but now
looking quite elderly and not resulting in the best performance.

> Even under GPL anything built using gcc can be licensed as you like, so
> I doubt it could be that.
> 
> I'm not skeptical, just curious- trying to get my head around some of
> the dev side of things :)

Unfortunately, no -- you can't necessarily license anything compiled
with a GPLv3 compiler using whatever license you prefer.  For instance,
one problem is that executables will be linked against libraries which
are part of the compiler -- and the viral nature of GPLv3 means that the
resulting programs have in their turn to be licensed under GPLv3.
That's not acceptable for FreeBSD, hence the decision to switch to a BSD
licensed toolchain using clang.

9.0 is really an intermediate step in the changeover -- gcc and clang
are both provided in the base system and its a matter of administrative
choice which one is chosen for compiling the system.  One consequence of
the change is that it will become more common to install a recent
version of gcc from ports to facilitate compiling gcc-only software,
with the rest of ports typically compiled with either that ports-gcc or
the base clang.  This is fairly new at the moment, and there still needs
to be a deal of debugging effort put into making the ports work well
with compilers other than the base gcc-4.2.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
JID: matthew at infracaninophile.co.uk               Kent, CT11 9PW

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20120121/737850ac/signature.pgp


More information about the freebsd-questions mailing list