
Chrome now uses clang for production builds on Linux - espadrine
http://article.gmane.org/gmane.comp.compilers.clang.devel/39700
======
rakoo
Does anyone have details on why they made the switch ? The email states very
little improvements, even a bug on 32-bit Debians. Is this only because of the
license of the compiler ?

~~~
IshKebab
The licence of the compiler doesn't affect what you build with it. I expect
the reasons are the same most people are switching to clang:

* Modern modular design (everything is libraries) * Faster compile times * Nicer error messages

The modular design in particular is a good reason that might not be obvious at
first. It lets you do things like debuggers, code formatters and static
analysers in a _much_ more sane and robust way than GCC's "no plugins,
everything must be separate and flaky" way.

~~~
film42
I recently heard a google employee come speak at my university about how
google's main codebase is compiled using clang, and their janitorial work is
done using clang mapreduce [1]. Furthermore, that google employee talked about
how google is working with the LLVM team to integrate the toolchain into
visual studio for cross-platform compilation [2]. Pretty cool stuff!

[1] (similar talk)
[https://www.youtube.com/watch?v=mVbDzTM21BQ](https://www.youtube.com/watch?v=mVbDzTM21BQ)

[2]
[http://llvm.org/docs/GettingStartedVS.html](http://llvm.org/docs/GettingStartedVS.html)

~~~
12423gsd
" google is working with the LLVM team to integrate the toolchain into visual
studio "

the 3 giants are working together...

------
i_am_ralpht
Next stop Windows! Then they can use all the modern C++ constructs they
like...

------
amelius
How about Chromium? Are they switching too?

~~~
metzman
Chromium doesn't ship binaries to end users. Linux distros that have chromium
build it from source. But I suspect that they are probably going to switch to
clang as the recommend compiler for development.

~~~
pix64
They are here.

[https://commondatastorage.googleapis.com/chromium-browser-
sn...](https://commondatastorage.googleapis.com/chromium-browser-
snapshots/index.html?prefix=Win/304464/)

------
tedks
It's been a good run, but we're finally seeing the end of free compilers.

Over time, using Clang effectively will require proprietary modules from
Google, Apple, et all and the GCC project, long dead, will haunt us from the
grave.

We'll tell stories to our children about how when we started learning to
program, it was easy to get started because compilers were free, but now the
only free compilers are toys, ill-suited for anything but the most basic
education.

A special thanks to everyone who helped make this possible by attacking GCC
and championing LLVM whenever possible. I hope it's very, very easy for you to
write extra modules for your new proprietary compiler.

~~~
Igglyboo
LLVM has a far more "free" license than gcc does. GPLv3 is indeed less "free"
than MIT style licenses regardless of what RMS says.

~~~
voidlogic
That depends on if you are encouraging "free" for societies interests or
"free" for individual/corp interests. GPLv3 encourages the former, but not the
later. The two interests almost always come into some degree of conflict
(although in many ways are compatible).

I view the flamewarz between BSDish and GPLvX licenses as similar in spirit to
the arguments between laissez faire capitalism and northern European social
capitalism.

~~~
Igglyboo
I'm not encouraging either just taking the word "free" in the purest sense.
GPL has more restrictions than MIT/BSD and thus is less free.

~~~
jimktrains2
The GPL isn't about the freedom of the dev to do whatever they want, it's
about the freedom of the code to always be available.

EDIT: Essentially, saying you aren't free because you're not free to kill me
without repercussion is absurd. GPL advocates view freedom the same way: You
can't do something to hurt me, but that doesn't make you less free.

~~~
bronson
So, BSD/MIT are the software license equivalent to allowing people to kill
without repercussion?

It seems your analogy is a wee bit overwrought.

~~~
jimktrains2
That's quite literally not what I said. I said that freedom does not
inherently mean no limitations. Murder was my example, but that does not mean
I equate software distribution to murder. (I had figured this crowd would be
astute enough to reason as much.)

For the record, I believe that the BSD and MIT license allow the distributor
to withhold source from me, which does "hurt" me from my point-of-view.

As an example, How many chemistry and biology lab machines have you seen
running windows 95 or dos because the company won't release updates for old
software and want you to buy a new machine?) I've seen many, and it's very
difficult and expensive to keep them running at times because they don't work
under emulation for various reasons.

~~~
bronson
> I said that freedom does not inherently mean no limitations.

No, it pretty much does: [http://www.merriam-
webster.com/dictionary/freedom](http://www.merriam-
webster.com/dictionary/freedom)

It's true that too much freedom can produce awful results but let's not
redefine the word?

~~~
belorn
I recommend that you read up on Negative liberty
([https://en.wikipedia.org/wiki/Negative_liberty](https://en.wikipedia.org/wiki/Negative_liberty)).
The freedom from interference by other people is an important freedom, and can
only exist by limiting the actions of others.

To reference Erich Fromm, its not about "freedom to", but "freedom from". If
you modify or distribute a work based on a copyleft work, you have "freedom
from" being sued for patents, DRM, or proprietary copyright restrictions. If
the work was based on a permissive licensed work, no such freedoms are given.
You only have freedom to distribute the original work or modifications of it.

~~~
bronson
This is a great reply, but it gets very deep into parsing and subjective
opinion without coming to any sort of concrete conclusions (that can be
applied to licensing anyway).

Personally, I'm happy for others to use most of my code without contributing
back. Does that therefore mean that you and I have different definitions of
the word "freedom"?

If so, then why isn't that in the dictionary? Do we need separate
dictionaries?

~~~
belorn
If you want to give people freedom to modify and distribute your code, then
that is a freedom as per the same dictionary that I use. I have no problem
with its definition.

Freedom to, and freedom from, both include the word freedom. They share
philosophical ideas, most which originate from the ancient Rome. The question
we are having is how to solve the paradoxes which said philosophy created.

I thus personally prefer to use the word liberty rather than freedom. Liberty
is commonly understood to have a philosophical connotation, while freedom is
more associated as mechanical concept. A slave can reach freedom by running
away, but to gain liberty, they got to be given rights.

(Not to imply that BSD isn't granting some liberties. It is. The above is
about the word freedom.)

