Why Clang

Robert Bonomi bonomi at mail.r-bonomi.com
Wed Jun 6 20:14:29 UTC 2012


> From owner-freebsd-questions at freebsd.org  Wed Jun  6 12:33:25 2012
> Date: Wed, 06 Jun 2012 10:28:19 -0700
> From: "Thomas D. Dean" <tomdean at speakeasy.org>
> To: freebsd-questions at freebsd.org
> Subject: Why Clang
>
> Has the discussion on why change to clang been made available?
>
> I would like to know the reasoning.

There were several reasons;
  1) the proliferation of "non-standard" things that the GNU crowd calls
     'features' in newer versions of the compiler -- some of which actually
     break 'standards compliant' code.
  2) The proliferation of situations under which newer versions of the GCC
     compiler generate 'bad code' -- code that does *NOT* do what it is 
     supposed to do.
  3) The GPL, version *3* -- which applies to all newer versions of the
     GCC compiler -- is unacceptable to a large part of the FreeBSD community.

Items 1) and 2) were ongoing nuisances.  Item 3) all by itself, was the deal 
breaker.

clang was selected over alternatives -- including keeping the 'old' (GPL v2)
GCC, on the basis of:
  a) better standards compliance.
  b) *FAR* better error messages.
  c) guality of generated code.
  d) 'non-restrictive' licensing.


The GPL V3 has been responsible for a lot of people, besides FreeBSD, going
looking for alternatives to any GPL-licensed code. GNU is well on the way
to 'radicalizing' itself out of significance.    They would rather be 
ideologically pure than 'widely accepted'.  It _is_ their right to do so,
but it makes life 'difficult' for those who have interests in building
profit-based products using their tools.


More information about the freebsd-questions mailing list