FUD in clang vs GCC comparision ?

"GCC is licensed under the GPL license. clang uses a BSD license, which allows it to be used by projects that do not themselves want to be GPL."
http://clang.llvm.org/comparison.html

GLIBC requires linked programs to follow GPL.
But for what i know GCC alone does not have such.

For example Opera for Linux started as GCC w/o GLIBC project, and it is totalyl proprietary.
More so, the page itself does link to the letter Joe Buck - Re: -fdump-translation-unit considered harmful
which outright tells that GCC may be used to compile proprietary programs.

They are referring to the inclusion of clang inside another project and not the result of compilation.

"GCC is licensed under the GPL license. clang uses a BSD license, which
allows it to be used by projects that do not themselves want to be GPL."
http://clang.llvm.org/comparison.html

Disclaimer: I am not a lawyer, and this is not legal advice.

I believe the text to which you refer is about reusing parts of Clang in other compiler-related projects. It is not talking about the licensing of programs compiled with Clang.

For example, if I understand correctly, if you reused GCC's code to build a front-end for a new programming language, that front-end would need to be licensed under the GNU GPL. If you built that same front-end using Clang, then you could license it however you wanted provided that you followed the restrictions in the BSD-style license that Clang uses.

You are correct that both GCC and Clang can be used to compile proprietary code. I don't believe it was the intention of the person who wrote that page to say otherwise.

-- John T.

"GCC is licensed under the GPL license. clang uses a BSD license, which
allows it to be used by projects that do not themselves want to be GPL."
http://clang.llvm.org/comparison.html

They are referring to the inclusion of clang inside another project and
not the result of compilation.
------------
There's no FUD - please contact a legal professional if you have further
questions or doubts and leave this list for development relates
questions or issues.

Just an FYI that the aforementioned Clang web page does tell users to email cfe-dev if a comparison between Clang and GCC seems unfair. The original question was therefore on-topic.

-- John T.

There is an appropriate medium for seeking legal advice and clarification - I'd almost certainly *never* recommend people ask on a -dev list - I'm not a lawyer and I wouldn't tell others to ask fellow armchair lawyers either. I'm happy to ignore such topics, but IMHO the page should be updated if there's confusion on this.

As far as I know GLIBC uses the LGPL license which basically says that you can use whatever license you want as long as you link dynamically. If you're linking statically your software needs to be LGPL as well (GPL is probably fine too).

Note, I'm not a lawyer.

"GCC is licensed under the GPL license. clang uses a BSD license, which
allows it to be used by projects that do not themselves want to be GPL."
http://clang.llvm.org/comparison.html

I believe the text to which you refer is about reusing parts of Clang in other compiler-related projects. It is not talking about the licensing of programs compiled with Clang.

For example, if I understand correctly, if you reused GCC's code to build a front-end for a new programming language, that front-end would need to be licensed under the GNU GPL. If you built that same front-end using Clang, then you could license it however you wanted provided that you followed the restrictions in the BSD-style license that Clang uses.

Well, let's take a note how you used "REuse" verb through all your letter.

There can be other relatively narrow verbs used, like "integrate", "embed", "include", "base upon" and so forth.

But the verb "use" is most generic that could be put. Literally it covers just any kind of use.
So you would be uncomfortable putting it, for you know that there are kind of uses allowed and disallowed there and one should choose which uses he talks about to convey any specific idea.

I wanted to say that the phrase using such a broad verb turns just technically incorrect, but doing this i had to attentively reread it...
I just realized that there is no that "phrase", instead what coined are two formally separated phrases!

The text does not claim "clang ...differs from GCC in .. that can be used in non-GPL projects ... while GCC cannot". Formally parsing it, text does not claim *anything* about GCC use at all. Formally understanding, there is one claim that GCC is under GPL and there is another claim about clang can be used in non-GPL projects, those are different claims with absolutely no relation or common context between them. "Oh those stupid readers, they always read it wrong, no one knows why."

So is most probably what any lawyer would tell if brought to this.
Afterall FUD tactics was exactly coined about being formally correct and immune to laws, while implying something, but carefully avoiding directly telling so no responsibility for those words could be legally challenged.

You are correct that both GCC and Clang can be used to compile proprietary code. I don't believe it was the intention of the person who wrote that page to say otherwise.

Frankly, after i just reviewed the formal structure of those sentences with that accurately put artificial split, it is harder to me to believe that that wording was chosen unintentionally.

I probably look to you like annoying mistrustful person, and like that i see that page like annoying shady word play.

Surely we can never know the intentions of the original author. And our gut feelings of those would remain different and let them be. Guessing on that would be merely baseless speculations. So let's drop the intentions topic.

But the net result looks exactly like "U" of "Uncertainty" to me.
And i think those phrases would better be rephrased in correct and specifically narrow way.

Of course, if the point of the page is technical comparison rather than bashing GCC and averting its potential users from it.

PS: i also was a bit surprised by relating page discussion to cfe-dev list, i hoped there is webmaster mailbox or comments for pages or tracker/forum about site contents, but the only feedback link was cfe-dev, sorry for those who are bored or disguted by the topic raised.

If you have a good idea about how it should be phrased, just submit a patch.

-- Jean-Daniel

Frankly, after i just reviewed the formal structure of those sentences
with that accurately put artificial split, it is harder to me to believe
that that wording was chosen unintentionally.

A major part of the design of clang is that it is intended for reuse, for example in IDEs. This is reflected in both the design, as a set of libraries, and in the license.

I know of clang being used in the following ways, and there are undoubtedly other projects that I am unfamiliar with:

- Other compilers not using LLVM as the back end
- Refactoring tools
- Syntax highlighting
- Code indexing
- FFIs from other language to C / C++
- OpenCL parsing

If you read the paragraph thinking 'clang is a compiler' then you will no doubt experience the incorrect interpretation that spawned this thread. If you read it understanding what clang actually is, then you would not. On the very page that you cite and, in fact, in the very section that you are quoting, the second bullet point is:

Clang is designed as an API from its inception, allowing it to be reused by source analysis tools, refactoring, IDEs (etc) as well as for code generation

In this context, it is clear that the GPL is a problem for these uses.

The person who wrote this page made the assumption that people would read the bullets in the order that they are written. If you skip the first ones and then read the later ones in the wrong context, then it is not the author's fault that you misunderstand them.

That's not to say there aren't some slightly FUDish things on that page, most notably they speed comparisons which not only compare an old version of GCC, they also compare Apple GCC, which is significantly slower than FSF GCC.

David

Jean-Daniel Dupas <devlists@shadowlab.org> ÐÉÓÁÌ(Á) × Ó×Ï£Í ÐÉÓØÍÅ Fri, 03
Aug 2012 13:00:45 +0400:

But the net result looks exactly like "U" of "Uncertainty" to me.
And i think those phrases would better be rephrased in correct and
specifically narrow way.

If you have a good idea about how it should be phrased, just submit a patch.

      GCC is licensed under the GPL license. clang uses a BSD license, which
-- allows it to be used by projects that
++ allows it to be re-used as part of projects that
      do not themselves want to be GPL.

Hello,

I probably look to you like annoying mistrustful person, and like that i
see that page like annoying shady word play.

While I personally think that you went a bit overboard with calling it "FUD" :slight_smile:
I certainly understand where you are coming from: Unless you know that the
paragraph in the features page refers to *embedding* clang as opposed to
merely using it as a stand-alone compiler, the current wording is unclear.

And i think those phrases would better be rephrased in correct and
specifically narrow way.

I agree, which is why I just sent a patch to cfe-commit :slight_smile: changing the wording
to the following:

We actively intend for clang (and LLVM as a whole) to be used for
commercial projects, not only as a stand-alone compiler but also as a library
embedded inside a proprietary application. The BSD license is the simplest way
to allow this. We feel that the license encourages contributors to pick up the
source and work with it, and believe that those individuals and organizations
will contribute back their work if they do not want to have to maintain a fork
forever (which is time consuming and expensive when merges are involved).
Further, nobody makes money on compilers these days, but many people need them
to get bigger goals accomplished: it makes sense for everyone to work
together.

(BTW, I'm a bit uncertain about "nobody making money on compilers"; what about
the Edison Design Group?)

PS: i also was a bit surprised by relating page discussion to cfe-dev
list, i hoped there is webmaster mailbox or comments for pages or
tracker/forum about site contents, but the only feedback link was cfe-dev,
sorry for those who are bored or disguted by the topic raised.

I can't speak for the project leaders, but my personal impression is that clang's
development is a community process publicly discussed on this here mailing list,
and that this also includes clang's website.

Jonathan