Why Clang

Polytropon freebsd at edvax.de
Tue Jun 19 21:22:41 UTC 2012

On Wed, 20 Jun 2012 01:09:11 +0400, Евгений Лактанов wrote:
> 20.06.2012 00:50, Polytropon пишет:
> > On Tue, 19 Jun 2012 22:06:49 +0200 (CEST), Anonymous Remailer (austria) wrote:
> >>> GPL protects the freedom of the programmer who licensed his
> >>> code under those licenses: He wants it to be free for use,
> >>> but not to be turned into closed source products.
> >> What a lying sonofabitch.
> > By insulting you think your arguments get any better? Sorry,
> > it's not the case.
> >
> >
> >
> >> That is not called freedom. That is called
> >> "forcible, viral open source".
> > That's what I initially called "viral license" (or which, to
> > be precise, is a phrase someone else invented, and which I
> > just repeated).
> >
> > A developer is always the key person to decide what he will
> > do with his source code. Giving it for free WITH NO SPECIAL
> > RESTRICTIONS is a very generous act. (Note that this act does
> > not mean he gives up copyright, the attribution that _he_ was
> > the creator of the code!)
> >
> > If a developer wants to donate his work to the public, but does
> > not want others to make money with his work, he will probably
> > choose the GPL to release the source code. Others are allowed
> > to modify it, to create derivate works and even use it in their
> > products, as long as the requirement (which you may validly see
> > as a restriction!) of "contribution back" is met.
> >
> > A much more strict requirement seems to be in the GPLv3 which
> > limits those who "take" the open source. The "aspect of being
> > viral" includes that the source will not be turned into closed
> > source. The most negative effect is that GPLv3 licensed components
> > may have side effects of non-GLPv3 licensed code. This is something
> > worth seeing critically.
> >
> >
> >
> >> I think we can all see the difference. Open
> >> your motherfucking eyes, communist goofball...
> > All those insults fly back to you and therefore apply to you.
> > It makes all your argumentation (which may be valid) futile.
> > In fact, that kind of acting is a typical means of communist
> > dictatures - using insulting language to actually avoid any
> > discussion and instead strengthen the means of oppression!
> > You should learn some history. And maybe calm down, as the
> > hatred you're spreading is really unpleasant.
> >
> >
> >
> >>> A programmer who does not want to raise this barrier will
> >>> typically use the BSD license which is "more free".
> >> No, it's just plain "free."
> > Among the many licenses, the BSD license seems to be the most
> > free license (or, the "only free license", which is a valid
> > point of view), as it explicitely allows things that the GPL
> > does not.
> >
> > Of course, there are different interpretations if this is a
> > good or a bad thing. For a system like FreeBSD that wants to
> > offer a free system (in the widest sense), GPLv3 system
> > components (such as compilers) could be a no-go.
> >
> >
> >
> >>> BSDL in opposite is often criticized a "rape me license".
> >> No, it is not, except perhaps by lying atheist Marxist bastards and his
> >> religious adherents.
> > By "no, except" you have actually agreed that the statement is
> > true, even if you tried to deny it. Again, please try to have
> > some culture in discussion. Maybe you should also read Marx. :-)
> >
> >
> >
> >>> It explicitely (!) allows creating derivates in a closed
> >>> source manner. This means that parts of BSD licensed code
> >>> can be a key component in a proprietary closed source
> >>> product that is for sale (e. g. a firewall appliance),
> >>> and nobody will find out about that fact.
> >> Now you got it! GPL is about forcing people to do what /you/ want and BSD is
> >> about letting them do what /they/ want.
> > Licensing is about choosing - a main criteria of a free society.
> > A developer is free to even keep his sources closed, to release
> > them as GPL v2 or v3, or as BSDL (or choose from other licenses,
> > or even write his own).
> >
> > In the next step, licenses have impact on how sources can be used.
> > As I did explain, GPLv3 code may be problematic in this regards in
> > certain environments. It may perfectly fit in others. As long as
> > there's an agreement of the users of such source to accept the
> > license, it's okay.
> >
> > What's _not_ okay is when the license forces you to do something
> > you don't want to do, or simply can't do.
> >
> >
> >
> >> Let's see if you can guess which one
> >> of those licenses is about freedom. Hint: freedom is not defined as forcing
> >> people to do what you want.
> > If people don't do what I want, they're limiting my freedom. :-)
> >
> > Seriously, you should pay more attention to what I wrote. Even
> > though English is not my native language, I try to be as precise
> > as possible, and if I can't do that (because a lack of knowledge,
> > because of assumptions or deduction), I make clear that it is not
> > the case. Hint: Read carefully: "I think", "as far as I know" or
> > similar formulas are an indicator.
> >
> > Finally: Insulting me is not a way to go. It shows that you don't
> > value the freedom of speech. Of course you are free to say whatever
> > you want. But as soon as you insult people and limit their freedom,
> > maybe even their right (moral right, not law) to have a polite and
> > normal discussion on this list, you're not any better than the
> > communists you hate that much.
> >
> >
> People like that have a very-very skewered views on freedom ... One can
> say hypocritical and immature 

I assume it's just an aspect of "still being too young" in
regards of missing the difference between freedom and
anarchy: the right to extend one's freedom is limited
as soon as it limits the freedom of others. Maybe another
aspect is the lack of discussion culture and the proper
use of means of language. You often find such behaviour
among school children of the lower grades. Using words
without knowing their meaning is very typical for people
in puberty. :-)

Okay, to try to come back on topic, especially regarding
the use of CLANG as a system compiler: I recently read
the following interesting article which I want to throw
into the discussion:

	John Regehr:
	The Little C Function From Hell

It's more a minor observation than an evaluation of CLANG,
but this article shows a significant change of how CLANG
handles (char) meeting it's margin CHAR_MAX vs. (int) in
a C function call. The impressing thing here is that CLANG
2.7 vs. rev. 126534 seems to bring a massive change on how
the compiler handles certain boundaries and implicit type

I _may_ assume that this is something "quite normal" during
the evolution and improvement of a compiler, but it could
become critical when used at system level. If FreeBSD chooses
CLANG as the default system compiler and the primary compiler
for ports (instead of sticking with the "well proven", but
old GCC, and _not_ moving to a newer GPLv3 GCC), I hope the
performed tests have made sure that the new compiler will
work properly in all imaginable cases.

Finally, the article illustrates that the depicted bug has
been corrected in LLVM/CLANG within 24 hours, which is a good
thing, and it emphasizes _quality_ of the product, which is
the right attitude in my opinion.

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list