
Richard Stallman - Re: clang vs free software - nickmain
http://gcc.gnu.org/ml/gcc/2014-01/msg00247.html
======
rwg
When I finally realized that the FSF is really about being a social movement
and that creating useful software is a non-primary goal (or maybe even a non-
goal), my level of annoyance with RMS greatly decreased. Of course, along with
that, my level of give-a-shit about the FSF and the GNU project decreased
proportionally.

Stallman wants you to use Free software because it's free-as-in-ideology, not
because it necessarily works well or does what you want.

~~~
SomeCallMeTim
I have to agree.

I love free; what doesn't feel "free" to me is the GPL, since I can't use just
about anything GPL in my job.

My job involves creating non-free software. Given the GPL's goals, it's not a
surprise at all that I can't use it.

But it strikes me as ironic that RMS talks about "freedom" when really he's
advocating _restricting_ your freedom to use the software.

I understand it's in pursuance of a "greater goal" of Freedom to modify
everything, but the problem is that, in the large, free software sucks, and I
don't really want to be responsible for making it good.

Sure you can come up with a dozen really great free software packages (I'm
using Firefox to post here, for one, and I make builds using gcc daily and gnu
make). But I can come up with a thousand that suck -- and that includes the
"best" packages in a number of different categories: Image editing, document
editing, development environments (Eclipse has some nice bells and whistles,
but that doesn't make it not suck), 3d editing... ALMOST everything with a
GUI, browsers being a huge exception. [1]

Those are just the categories I've tried and tried again to make Free software
work for me, because I am attracted to the _ideal_ of working with Free
software. But every time, the paid/proprietary solution has been _so much
better_ than the free solution that I've defected and paid for the proprietary
version.

No, I'm not going to use free software to support an ideal. I'm going to pay
for software that helps me get my work done faster and better. Because at the
end of the day, I appreciate good tools, not ideals.

There may come a day when I try to make my own "free" software project, but if
I do, it will be because I really want to make a world class tool in that
category, and I feel that the free model is the best for that tool. But I will
continue to choose my tools based on what they allow me to do, not their
source code license, and the proprietary tools I do use offer me more
advantages _despite_ being closed source than their open source equivalents.

[1] Don't bother posting arguments about this or that free software package in
these categories. Unless it's brand new and awesome, in which case I might
like to try it out. Regardless, one example doesn't change my overall point,
and I don't want the thread to devolve into "Gimp is great!" "No it sucks!"
\-- "Good enough" for one person is not always going to be good enough for
another.

~~~
belorn
Not an other post about what "freedom" means :(.

Please read
[https://en.wikipedia.org/wiki/Negative_and_positive_rights](https://en.wikipedia.org/wiki/Negative_and_positive_rights)
and in particularly about the right to be left alone ( _negative rights_ ).

Freedom of speech, private property, freedom from violent crime, freedom of
worship, habeas corpus, a fair trial, freedom from slavery are just a few
freedoms that can only be implemented by _restricting_ others. You can't have
freedom from slavery without restricting slave owners their right to enslave.
Thus the term negative rights had to be made by philosophers and political
scientists.

The proprietary model is to trade software for money, and then threaten your
customers with lawsuit if they share or modify the program. GPL provide
software under the freedom from those threats, with the use of negative rights
(ie, the user of the program has a right to be left alone). If you can not
make software without threatening your users, don't try to start by taking GPL
software.

~~~
microtherion
A number of companies have been sued for using GPL software in ways
incompatible with the GPL, so I don't see how the distinction you're drawing
here is meaningful.

------
kwantam
Context:

This discussion originated on the emacs-devel mailing list, where there was a
discussion of adding code to company-mode (text completion) explicitly
supporting Clang [1].

It was pointed out [2] that RMS has in the past shown a disinclination to
incorporate Clang support into GNU projects because of his perception of its
encouragement of proprietary software riding the coattails of open source (but
not Free) software.

The discussion then turned [3] to another instance of this: RMS's disapproval
of modifications to GCC that would have made the front end more easily
separable from the back end, opening the door to a proprietary end-around (or
just outright abuse) of the Free license on the GCC frontend.

The article linked above is RMS's response to ESR's comments [4] that such
policies have reduced the popularity of GCC compared to Clang.

[1] [http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg017...](http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg01732.html)

[2] [http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg017...](http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg01735.html)

[3] [http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg017...](http://lists.gnu.org/archive/html/emacs-
devel/2014-01/msg01739.html)

[4]
[http://gcc.gnu.org/ml/gcc/2014-01/msg00209.html](http://gcc.gnu.org/ml/gcc/2014-01/msg00209.html)

~~~
hacknat
If LLVM is so bad why are the people who make it so much easier to work with?
You shall know a tree by it's fruits. It wouldn't bother me one way or another
whether LLVM was copyleft or not, the people who run it are more pleasant to
work with.

I think the biggest hurdle to people caring about copyleft is the sheer
tonnage of disrespect people like RMS show to others. Nobody wants to work
with a curmudgeon.

~~~
jjoonathan
> If LLVM is so bad

RMS doesn't have a problem with LLVM because it's bad, he has a problem with
it because it's good.

> the biggest hurdle to people caring about copyleft is the sheer tonnage of
> disrespect people like RMS show to others

No, the biggest hurdles to people caring about copyleft are by far the
incompatibilities with accepted practices and existing software that make it a
lot of work to comply with copyleft ideals.

RMS's tone never seemed disrespectful to me. Uncompromising and occasionally
blunt, yes, but never disrespectful. What would you have had him do
differently? Compromise his ideals? Spin out a comforting but insincere
apology that focused on licensing technicalities rather than the underlying
philosophical issues?

~~~
Tloewald
I find it telling that RMS explicitly has a problem with LLVM because it helps
private companies "as well as us" instead of _only_ helping us. It's literally
zero-sum for him. He doesn't want companies to benefit in any way from open
source.

I think there's a big problem with copyright and software -- the goal of
copyright is to provide public goods, but the public goods that copyright
protects is the source code, not the binary, yet there are no guarantees that
the public will ever get the source code. I think if this problem were
addressed (e.g. all software that seeks copyright protection must have its
source code placed in escrow) then a lot of RMS's legitimate issues with
closed source software would be mitigated. I'm sure he would still resent code
being closed source, but at least we'd know that in 25 years or whatever the
source code would become available to all.

~~~
erikpukinskis
> He doesn't want companies to benefit in any way from open source.

He never said that, and you're really failing to see his point. He doesn't
want GCC to be broken up into tiny bits and have each of those pieces replaced
by non-copyleft equivalents. Because he doesn't want the hard work of the GCC
community to be used as a scaffold for creating a non-free replacement.

He is totally happy for companies to use and benefit from GPL'ed software in
all the ways the license permits. He is totally happy for companies to use and
benefit from non-free open source software (like Klang) however they like.

He also has no problem with people forking GCC and splitting it up however
they want to. He doesn't think that's a good use of resources, and he thinks
it's harmful, but he has no interest in stopping them.

What is is not happy for, and what he is standing up against, is companies
making changes to _his_ branch of GCC. The GNU project is a group of people
maintaining _their_ versions of various Free Software. You can fork any of
those projects and make different choices. But within the context of that
project, amongst _his_ collaborators he has opinions about what changes to
make, and how best to further the goals of the project. And he thinks this
change will be bad for the project.

~~~
dllthomas
I'm not sure if Klang is another software project, but if you meant Clang it
is not non-free. Because it is not copyleft, its code can be used in things
which _are_ non-free. There is a distinction.

------
beering
The people who campaign for GPL software authors to change their license seem
to assume that the authors of the software naively chose the GPL, as opposed
to choosing it for its particular spirit.

That's really important distinction that people don't realize about the GPL -
it's designed to protect the rights of the END USERS. And that's great when
the end user is you and me, but it's also not surprising that we, as
developers, will happily throw end user rights under the bus if we think we
can make some money (e.g. SaaS, app stores, etc.) or profit otherwise.

~~~
intermatrigator
end users do not give a shit about source code (or software licensing at all).

~~~
Anderkent
Well yes, that's the basis for Stallman's argument. If end users cared about
free code, we wouldn't need to enforce it from the other side - nonfree
software would have no users.

~~~
Someone
I care about free oxygen for all, but if the only way to get it was by buying
it, I would still buy it, and applaud those attempting to enforce it.

------
zbowling
> They have been supported by Apple, the company which hates our freedom so
> much that its app store for the ithings _requires_ all apps to be nonfree.
> (*)

This is a judgement of the motives of Apple that I do not believe is correct
by Stallman and he making a straw man case for it. I don't think that Apple
"hates" their freedom.

I do believe Apple added the restrictions on having only non-GPL code because
they understand the problems that it presents legally in the App Store as a
distributor and their bourdon under the GPL by being the middle man and
redistributing the software in question. Apple would be required to field GPL
requests for software in the App Store as the main distributor. This is risk
and overhead Apple doesn't want to deal with.

They could just as easily make the language not specifically mention GPL at
all but instead say that you releasing software on the App Store can't add
restrictions, constraints, or additional requirements on how Apple distributes
your apps in the App Store not expressly contained the agreement already. This
would be the same and would be just as GPL incompatible as it is today.

~~~
cma
Read what he wrote in the asterisk; he is making a distinction about DRM and
terms of use.

A counter example: sourceforge, as the primary distributor of many GPL'ed
binaries, does not have to field GPL requests for software. DMCA safe-habor
clause removes that burden; all they have to do is comply with takedown
requests.

[http://www.openlogic.com/blog/bid/156894/Are-App-Stores-
Liab...](http://www.openlogic.com/blog/bid/156894/Are-App-Stores-Liable-for-
Open-Source-Software-Compliance)

"Either way, the next question in the legal analysis is whether the app store
qualifies as an online service provider under the Digital Millennium Copyright
Act (DMCA). Actually, a court may answer this question first as a matter or
practicality.[1] The DMCA limits liability of online service providers for
infringing material provided to the service by its users (i.e. app developers
here) so long as the provider meets certain conditions. Whether an app store
can be considered under the DMCA definition of an online service provider has
yet to be tested, but it seems likely given the trend of caselaw that has held
such vendors as Amazon and YouTube to qualify."

~~~
msbarnett
> A counter example: sourceforge, as the primary distributor of many GPL'ed
> binaries, does not have to field GPL requests for software. DMCA safe-habor
> clause removes that burden; all they have to do is comply with takedown
> requests.

Sourceforge can get away with that because _Sourceforge has no editorial
process_.

Apple could not continue to operate their App Store in the manner they
currently do and successfully pursue a section 230 defence under the DMCA.

~~~
cma
Amazon got away with it and they have an editorial process for the Kindle
store. Youtube takes down offensive videos and has a human appeals process.

~~~
msbarnett
The human appeals process wouldn't really factor into it. It's more about the
distinction between "auto-posting anything submitted" and "high-touch pre-
posting decision making process prior to posting" that distinguishes "safe
harbours" from sites that bear responsibility for what they host.

I'd need to read the Amazon decision for more insight into how that played
out. Seems like a somewhat unsettled area of DMCA caselaw.

------
octo_t
Is it bad I just _don 't_ care that LLVM has enabled non-free software?
Because it has done a h*ck of a lot for opensource software. New languages,
new compilers, new optimisers, new IDEs have sprung up around an impressive
framework.

I also don't understand how LLVM enables non-free software any more than
binutils does. I can do:

    
    
      binutils/cat my_file | my_incredibly_none_free_program | binutils/grep my_pattern
    

which is essentially how LLVM works.

~~~
lmkg
> _Is it bad I just don 't care that LLVM has enabled non-free software?
> Because it has done a h_ck of a lot for opensource software.*

This presents an interesting (to RMS) quandary. I take it as a given that he
prioritizes the freedom of software over its technical merits (as discussed in
other threads). But, even just from the freedom perspective: LLVM increases
the amount of proprietary software produced, and _also_ increases the amount
of free software produced. Does RMS consider this a worthwhile trade-off? Or
does he think that less software overall, and less free software in
particular, is favorable to more free software existing and also some
proprietary software.

~~~
dragonwriter
RMS appears to believe that the creation and distribution of non-Free software
is a categorical and unscionable evil, such that anything that anything that
encourages it (whatever other benefits it provides) is categorically morally
wrong, and anything that discourages it is categorically morally obligatory.

~~~
ZeroGravitas
There a bunch of facts that contradict this, e.g. the exstance of the LGPL,
RMS supporting BSD licencing of Xiph codecs etc.

His approach is a lot more nuanced and tactical than it is often portrayed.

~~~
dragonwriter
> There a bunch of facts that contradict this, e.g. the exstance of the LGPL,
> RMS supporting BSD licencing of Xiph codecs etc.

Those don't actually contradict it in any way that I can see.

> His approach is a lot more nuanced and tactical than it is often portrayed.

Sure. That doesn't mean that the long-term goal isn't as I've described it
(and, in fact, RMS has pretty explicitly said it is for him, though that may
or may not be true of the FSF.)

~~~
ZeroGravitas
The LGPL is explicitly designed to allow non-free software to be created that
uses the code under that licence, and it was created by RMS.

He supported BSD licences for Xiph codecs because he recognised the impact of
network effects,

You claim that both these thing are considered "evil", "unconscionable" and
"categorically wrong" by him regardless of whatever benefits they create.
Clearly RMS disagrees, and is happy to use them as tools to achieve his long
term goals in specific circumstances.

------
eliteraspberrie
_I invite those working on major add-ons to LLVM to release them under GNU GPL
version-3-or-later._

I don't use the GPL because I cannot honestly say that I understand it
entirely. I understand copyleft, but the document is written for lawyers and I
am not one. I can't expect users to read it either, much less understand it.

I use the BSD licenses because they are simple and clear. If I ever had to
defend my intellectual property, I could do so myself, and the case would be
over quick. That is more important to me, as a developer without access to
lawyers, than ideological battles.

~~~
jimktrains2
[http://www.gnu.org/licenses/gpl-3.0.html](http://www.gnu.org/licenses/gpl-3.0.html)
it isn't that bad to get through. There are also more than enough analysis of
it on the web from reputable sources (I'm looking for good links...).

If you understand copyleft, then you know what you're giving up by not using a
copyleft, license. Do you not care about what you gain from the copyleft or
don't want what you gain?

~~~
Sanddancer
I care about what I lose because of copylefting software. I want software to
suck less, and if that occasionally means letting someone be a free-rider on
my stuff, let it be. At the same time, the existence of the GPL doesn't
preclude people from free-riding either. Look at the embedded toolchains that
are little more than GCC with a tiny proprietary wrapper, or the many many
companies that use GPLed code, and have internal patches that never see light
outside of the company. Restrictive licenses like the GPL are not all sunshine
and roses.

------
saurik
In case anyone doesn't realize this: the ARM64 LLVM backend used by Apple in
Xcode 5 to target, for example, the iPhone 5S, is currently not open source.
There is a vague promise that it will be merged, but the time frame described
was itself long, many months have already passed, and it doesn't really seem
like much progress has been made since (although of course things could be
happening internally at Apple).

(In fact, none of the code actually backing Xcode 5 or iOS 7, even LGPL code
such as WebCore/JavaScriptCore, has yet to be released; but, in the case of
the ARM64 backend, there was a specific discussion about it on the mailing
list, and in fact some iOS-specific ARM64 patches to LLVM languished seemingly
due to the idea that "well, some day the ARM64 stuff will be merged from
Apple", so it is already having "chilling effects".)

------
surrealize
This message conflates two issues in an unfortunate way. One issue is the
licensing of GCC, the other issue is the architecture of GCC (how modular it
is).

No one is arguing that GCC should change licenses. But he seems to think that
making GCC more modular would somehow make it less free:

> If GCC were to change from a free compiler into a platform for nonfree
> compilers, it would no longer serve the goal of freedom very well.

There are two embedded assumptions here. First, that making GCC more modular
would result in people creating non-free compilers with it (presumably by
connecting a non-free component with GCC using an IR rather than linking
directly, to get around the GPL). And second, that such use would become more
prevalent than just using GCC itself (which is what would "change" GCC from a
free compiler into a platform for nonfree compilers).

I imagine a few people would use GCC components that way, if it became more
modular. But would that use be a significant one? That's unknown. And would
that use "no longer serve the goal of freedom"? If a large number of nonfree
tools appear that generate and consume a GCC IR, that could boost GCC as well.

The GPL seems to be able to defend freedom just fine for all the other gnu
software, even the modularly-architected projects. I don't see why it can't
ultimately do the same for GCC.

~~~
craigching
I've seen the argument made that somehow RMS and the gcc developers are
against making gcc more modular. Where is everyone getting that idea, because
that's not what I'm reading.

Indeed, this quote from David Edelsohn in response to ESR seems to indicate
they _are_ interested in making the gcc more modular:

>GCC is working toward re-factoring its code base toward a more compositional
approach for "toolification". One can look at presentations from the recent
GNU Cauldron 2013 for discussion of the topic.

So what am I missing?

[1] --
[http://gcc.gnu.org/ml/gcc/2014-01/msg00212.html](http://gcc.gnu.org/ml/gcc/2014-01/msg00212.html)

~~~
cwzwarich
"Anything that makes it easier to use GCC back ends without GCC front ends--or
simply brings GCC a big step closer to a form that would make such usage easy
--would endanger our leverage for causing new front ends to be free.

Because of this, the GNU Project will in all probability not install such
changes, should they be available. This statement reflects a firm conclusion
based on a decade of thought."

[http://gcc.gnu.org/ml/gcc/2000-01/msg00572.html](http://gcc.gnu.org/ml/gcc/2000-01/msg00572.html)

~~~
coryrc
That's 14 years old. The GP's message is from this year.

------
phamilton
He's basically saying: "We must avoid design decisions that allow users to do
X, because we disagree with X".

Everyone has their own definition of "Free", but to me that seems very similar
to Walled Garden decisions regarding my freedom as an end user. You could just
as easily say:

"We don't want to allow unsigned code to run, because we disagree with not
signing code"

I guess the difference is that you can fork gcc and start a parallel project.
Or you can just let it die as llvm and clang become more and more efficient.

~~~
drdaeman
Is this still surprising or non-obvious, after decades of GPL vs BSD flamewars
(and, in particular, discussions on which one is truly "free")?

GPL _is_ restrictive and defending users' freedoms _is_ the exact reason for
this. If you care about that, welcome to the GPL side; if you don't want the
imposed restrictions but also ready to stop enforcing (through restrictions)
GPL-granted freedoms - BSD and company await you.

------
codex
Stallman consistently ignores the free market when writing about software
freedom. What users want, the free market will provide. If they want
customizable software, the market will give it to them. If they only want
feature X, the market will give it to them. If they want interop., they will
get that too. If they don't care about modifying the source code, well, people
won't offer it.

The GPL is not what allows users to get what they need from software or
technology. It's the market. As long as you have a free market, with able
competitors, you don't need the GPL, and the whole discussion of "free
software" is a red-herring.

Stallman's initial experience with closed software was not in a free market,
so I can see how he's grown up with a colored view.

~~~
davexunit
ESR, is that you?

All you did was repeat "free market" a bunch of times. Congratulations.

~~~
codex
Allow me to continue, then. Stallman's original problem was essentially, "I
had a broken car once and I couldn't get the part I needed to repair it. That
sucked, so all manufacturers should provide everyone with all the information
needed make any replacement part."

In today's world that problem really doesn't exist anymore. Software is a mass
market product, and the software that is produced already conforms to what
people want pretty well. Sure, I'll take cheaper parts for my car, but on the
list of humanity's problems, non-GPL software is very, very low.

~~~
davexunit
Your ignorance is baffling. I won't continue to humor it.

------
jnbiche
What many GPL supporters fail to understand is that GPL doesn't hinder or hurt
big companies at all. If they find a GPL-licensed piece of software they need,
they just pay their developers to make another proprietary one. With the
exception of huge projects like Linux, it's a rounding error for them.

No, the only ones the GPL hinders are small-time freelance devs and small devs
shops who are trying to make a living. Often, these are the same devs who are
leading open source projects of their own. When they need to create a
proprietary project to pay the bills, a GPL-licensed library is usually the
end of the road for their project, since they won't have the manpower to
replicate it on their own.

Aside from these issues, do we really care that we can't access the source of
Subtle Text? As long as it's got a good API, I don't see the big problem.
Don't get me wrong, I'm a strong supporter of open source, and have realized
numerous modest projects under the MIT license. But proprietary projects, even
ones that use my MIT code, don't offend me to the core like they do RMS and
co-ideologues (incidentally, I feel like I'd really get along with RMS as a
person, even if he might shun me).

~~~
chrisdone
tl;dr: “I disagree with the core principle of the FSF and the GPL”.

------
davexunit
Nothing particularly new here, but it's another reminder about the actual goal
of Free Software. A lot of people still don't understand the major distinction
between Free Software and Open Source.

------
mcguire
Every once in a while, RMS makes a statement that _doesn 't require
translation to avoid seeming ridiculous:_

"When any program fosters non-free software, that works directly against the
overall goal.

"Copyleft is our method of making sure that our free software does not
generate nonfree competitors which consist of our code plus something else
that is off limits to us."

[http://gcc.gnu.org/ml/gcc/2014-01/msg00208.html](http://gcc.gnu.org/ml/gcc/2014-01/msg00208.html)

------
sdegutis
> The values of free software are fundamentally different from the values of
> open source, which make "better code" the ultimate goal.

I want to live in a world where innovation thrives and survival of the best
technology reigns. Because the ultimate point of technology is to serve
humanity by making our lives better. So stifling innovation just so that
everyone has access to source code is backwards.

~~~
angersock
The rough line of reasoning here is that non-free software will, eventually,
allow business tactics which run counter to software thriving and the best
technology reigning.

------
ridiculous_fish
> [Clang and LLVM] have been supported by Apple, the company which hates our
> freedom so much that its app store for the ithings _requires_ all apps to be
> nonfree.

It's worth pointing out that GCC also "has been supported" by Apple,
especially around PowerPC support and the PFE implementation. If you can get
past the insane "War on Terror" rhetoric, that is.

~~~
gillianseed
It's worth pointing out that Steve Jobs at NeXT was a prime example of the
benefits of a policy against proprietary linking as Jobs tried to have GCC be
the backend of their (NeXT's) proprietary ObjectiveC front end.

He (Jobs) was not allowed to do this due to the licencing (GPL) which is what
led to GCC getting a ObjectiveC frontend merged which was then available to
all GCC users.

Had Jobs had his way, only NeXT users would have had the benefit of the
ObjectiveC front end while NeXT would have enjoyed the benefits of the GCC
backend.

~~~
nzp
Well, when you spin it like that... I'm no Steve Jobs apologist, but I think
it's important to get the facts straight. NeXT wanted to distribute the
frontend as .o files which the user would link with the backend, true. Now,
the way you present it makes it seems as though NeXT was hell bent on having a
proprietary frontend, but were strongarmed by the GPL to release under the
GPL. What actually happened is that Jobs asked RMS if he thought it would be
OK to distribute the frontend as .o files, to which Stallman said that it
probably would be OK (from a legal standpoint), but then consulted a lawyer
who told him that the judge would probably think this is not OK. So RMS then
tells Jobs that FSF _believes_ this is not allowed by the GPL. Then NeXT
produces GPLed frontend. Notice how smooth all of this went. No attempts of
subversion by NeXT or disputing FSF's opinion, they asked, were given a
legally worthless negative opinion which they accepted and produced a free
frontend. So yes, technically it happened because of the GPL (but only on an
assumption that the judge would accept FSF's lawyer reasoning) but based on
what actually happened there is no evidence of Jobs wanting to "have his way".
If Jobs "hated" "our freedom" and the GPL was the only thing that stood
between us and slavery as RMS likes to think, this would unlikely go without
any friction whatsoever.

Sources for what happened:
[http://www.gnu.org/philosophy/pragmatic.html](http://www.gnu.org/philosophy/pragmatic.html)
[http://www.tikirobot.net/wp/2008/11/22/why-gcc-has-a-free-
ob...](http://www.tikirobot.net/wp/2008/11/22/why-gcc-has-a-free-objective-c-
frontend/)

EDIT: Another source, the first paragraph is telling:
[https://groups.google.com/forum/#!topic/gnu.misc.discuss/_pB...](https://groups.google.com/forum/#!topic/gnu.misc.discuss/_pBZdo_bXPc)

------
ChuckMcM
I am surprised he isn't railing against all the folks selling GCC for
extortionate rates to the embedded community. IAR, KEIL, others, $3,000 -
$6,000 for a "development tool" which is 99% gcc and 1% some startup code the
vendor wrote. Nice margins I guess.

~~~
blacksmythe

      >> 99% gcc and 1% some startup code 
    

Modifying and selling gcc to compile code optimized for lots of different
underpowered processors sounds like an unattractive business model to me,
given (I assume) a relatively small number of customers for any given
microprocessor type and (again I assume) a significant amount of work for each
microprocessor type supported.

~~~
ChuckMcM
Sort of. There are folks who have C compilers optimized for smaller
processors, my personal favorite are the folks at ImageCraft. That isn't what
I'm talking about.

I'm talking about people who take the community developed gcc (which they
haven't "optimized" at all) and Eclipse config, and some of their own startup
code crt0.a + linkerscript. And then put that together as their tool for
$3,000. I'm sure its a wonderful business for them.

RMS was railing that clang wasn't embodying the spirit of "free software"
because it parts could be proprietary, but he doesn't rail against those
people like IAR who keep their parts proprietary but are riding on the
shoulders of the community doing the heavy lifting.

I find that notable because I like what the folks are trying to achieve with
clang and do not like what IAR has done with gcc. Granted it is entirely my
own personal pain point.

------
aurelius
"The existence of LLVM is a terrible setback for our community precisely
because it is not copylefted and can be used as the basis for nonfree
compilers -- so that all contribution to LLVM directly helps proprietary
software as much as it helps us."

See, this is why I hate Stallman's position on anything software. It's based
on irrational thinking derived from a flawed ideology.

Since LLVM is not copylefted, EVERYONE is able to benefit from it, and that is
good... FOR EVERYONE! For example, NVIDIA based their CUDA compiler on LLVM
because it was not copylefted. Thanks to LLVM not being copylefted, NVIDIA was
able to reduce their R&D time, provide customers with great technology, and
consequently sell more products. The money that proprietary companies make
from being able to incorporate non-copylefted software into their products has
a ripple effect. Companies like NVIDIA can provide more jobs, LLVM developers
become more highly sought-after, customers benefit from more rapid advances in
the technology, and the entire LLVM-based community benefits from work that
filters back down from companies like NVIDIA into the mainline LLVM repo.

Stallman's argument that projects like LLVM help proprietary companies take
away users' rights is simply not true. There would be little benefit for a
company like NVIDIA to take from the LLVM community, and be unwilling to give
anything back. For one, it would be so much harder for them to hire good
people out of that community, which they will desperately need in order to
drive their products forward. But look at what has actually happened: NVIDIA
are releasing the code to their LLVM-based compiler! Why? Because it doesn't
really benefit NVIDIA to enforce a proprietary lock-in on their customers.

As for his argument against the Apple App Store, how is it really of benefit
to anyone if binaries are "free" the way he thinks they should be? Does anyone
really want or need the ability to install a "free" binary onto their
iPhone/iPad? Why is wrong for companies to want to protect their proprietary
platforms and technology (and also their users) from potentially
malicious/illegal code, or code that might brick the device? Oh, that's right!
Because Richard Stallman thinks that companies should not be allowed to guard
any of their interests when it comes to software. This is an obnoxious
opinion, and detrimental to real user freedom.

I do not think the world will suffer AT ALL if clang/LLVM has doomed GCC to
irrelevance. I was actually glad to read Stallman's email because it signifies
that clang/LLVM really are eroding GCC's relevance, to the point where even
Stallman is feeling it. Soon, Stallman and his FSF cronies will be relegated
to the footnotes of computing history where they belong.

~~~
e12e
> For example, NVIDIA based their CUDA compiler on LLVM because it was not
> copylefted. Thanks to LLVM not being copylefted, NVIDIA was able to reduce
> their R&D time, provide customers with great technology, and consequently
> sell more products.

Counterpoint: Say I'm writing a new OS, and want to use the hardware I bought.
How do I port the CUDA compiler? Porting GCC (or LLVM) should be pretty easy
-- but that doesn't help me, because I can't use my software on my hardware.

This is what RMS has a problem with. You argue that if they had to contribute
their changes back, we would all have been worse off. I'm not so sure. I think
it's more: Nvidia could get lots of code for free and made more money, than if
they had to write that code themselves. Great for Nvidia, yes -- but it's a
bit of a tautology: If I give you something for free, and you can turn around
and make money off it -- that _is_ good for you. It's a bit of a stretch to
say it's a lot better for me.

~~~
aurelius
Do you not benefit from newer technology delivered at lower costs? Do you not
benefit from more paying jobs to work on open source software?

What RMS has a problem with is the fact that companies don't (and shouldn't)
always tell you how their products work. Just because you bought something
doesn't give you the right to know all of its secrets. If he (or you) is not
ok with that, then fine, he lives in America, he has the freedom to disagree.
His solution, however, is to try to restrict the freedom of people and
companies when it comes to software and software reuse. That's what I have a
problem with.

Thankfully, I think LLVM and clang represent the coming ultimate triumph of
the Berkeley school of software freedom. The clouds of the Cambridge school
have overshadowed the software world for far too long.

~~~
e12e
As I try to support companies that work for a more open architecture, no, I do
not benefit from proprietary advances by Nvidia. I would also argue that free
research, open technology in general leads to lower costs and higher
productivity than closed equivalents -- while they might lead to lower profits
(and less concentration of wealth). But since I don't own Nvidia, I don't
benefit from their profits.

RMS has just made a choice that he'd like to do his bit to enforce openness
and freedom. Everyone is still free not to use GPL software, just as they are
free to not use proprietary operating systems. And without the FSF and RMS, I
think we'd have a lot less choice in that regard.

There's lots of paying jobs for working on free software too -- we can (and
do) have both.

As for:

> Just because you bought something doesn't give you the right to know all of
> its secrets.

Perhaps not. But I'd argue you should have the right to use it as you see fit.
I don't need to know all the details of a chair to sit on it, use it to reach
the top shelf, or burn it to keep warm -- to use it as intended by the
manufacturer and otherwise. I do need to know a bit about my graphics card to
use it efficiently.

------
yalogin
I respect RMS a lot and really appreciate his steadfast promotion of free
software (copyleft). But isn't it becoming a moot point in this day and age? A
decade or two ago the software tools were important and since all of them were
proprietary GNU was sorely needed and all the work done by people on GNU and
Linux really was needed. But now the concept of open source and free software
(not copy left but just free) has really taken roots and businesses have
evolved to circumvent the revenue loss from giving away software. Instead they
now created a new closed ecosystem - cloud and hosted services. By moving them
away from people's computer they have control and we are pretty much in the
same situation as we were a decade ago. So we need a new idea of "copyleft"
that applies to services and hosted platforms and not just tools. Isn't it
where the battle needs to be now with regards to freedom (as RMS puts it)?.

~~~
mempko
And RMS recognizes this. See [https://www.gnu.org/philosophy/who-does-that-
server-really-s...](https://www.gnu.org/philosophy/who-does-that-server-
really-serve.html)

------
nycticorax
"[The Clang and LLVM developers] object to the measures we have taken to
defend freedom because they see the inconvenience of them and do not recognize
(or don't care about) the need for them."

I would call this an Orwellian use of language. Stallman and the FSF have
adopted a particular definition of "freedom", which is a good deal more
particular that the usual definition, but they seem to consistently act as if
it was the one and only definition, and therefore that anyone opposed to it is
opposed to freedom.

Nevertheless, on one reasonable definition of "freedom", permissive licenses
are more free than copyleft licenses. On another reasonable definition (the
FSFs), copyleft licenses are more free than permissive licenses.

The statement quoted above implicitly assumes that there is only one
definition of freedom, and it's the one the FSF favors.

------
lolwutf
<yet another reminder that Richard Stallman is bat shit crazy but a necessary
vocal FOSS proponent for counterbalancing closed-source interests>

~~~
clamberson
Obviously you've never read RMS, because "open source" is one of the things he
vehemently fights against.

------
crazy1van
How does Stallman fund his life? I'm assuming he gets paid a salary. So he's
ok with doing work for money himself, but not ok with other people monetizing
their efforts in a slightly different way. I don't understand.

~~~
davexunit
He does not get paid a salary, afaik. The FSF certainly does not pay him. In
the old days he made his money by selling copies of Emacs and documentation
and such. These days, he travels the world and speaks at various institutions.
Monetization is _not_ at odds with free software, btw. In fact, software that
cannot be used commercially is nonfree! There is no moral objection to a
programmer being paid to write software. The objection is to software
licensing that denies user of that software the "four freedoms".

[https://www.gnu.org/philosophy/free-
sw.html](https://www.gnu.org/philosophy/free-sw.html)

------
jarjoura
I can sympathize with RMS's argument that companies like Apple & Google can
create plugins and modules that are proprietary because LLVM/Clang has a non-
copyleft license.

However, it would not be in any contributing companies favor to avoid pushing
changes back up stream. The pool of people work together to solve really hard
problems and they all need to be on the same page. Otherwise that work will
become extremely hard to maintain when merges do need to happen.

Maybe I do not understand the licensing, but since LLVM is "more" free,
couldn't RMS and his FSF members create a GPLv3 version of it that meets his
goal?

~~~
e12e
> Maybe I do not understand the licensing, but since LLVM is "more" free,
> couldn't RMS and his FSF members create a GPLv3 version of it that meets his
> goal?

Yes, if you could get together a lot of people you could fork llvm under a
different license -- GPL or proprietary. But forking to GPL would a) be a bit
rude, and perhaps more importantly b) most likely just be a dead fork. You
would have to contribute a fairly significant patch (I can't think of anything
that would qualify at this stage of LLVM/Clang maturity) under GPL for "most"
to want to use your version.

So, no, they can't practically do that, even if the license permits it.

And at any rate; c) Since the _architecture_ of LLVM allows proprietary
extensions, even if Clang/LLVM was under the GPL big changes would be needed
to "force" the GPL on things like CUDA compilers etc.

(This is the point that ERS originally raised, arguably with limited knowledge
of actual modern architecture of GCC, that GCC is artificially kept monolithic
and by extension tied to a technically inferior architecture).

See also:

[http://gcc.gnu.org/ml/gcc/2014-01/msg00181.html](http://gcc.gnu.org/ml/gcc/2014-01/msg00181.html)
[http://gcc.gnu.org/ml/gcc/2014-01/msg00178.html](http://gcc.gnu.org/ml/gcc/2014-01/msg00178.html)

------
chubot
What are the proprietary compilers that LLVM enabled? Are they significant?

Stallman's claim about the practical difference between gcc and LLVM is
interesting but I'd like to know more details.

~~~
tbrownaw
And more importantly, does their existence _help_ or _hinder_ the work done on
LLVM?

------
aaronbrethorst
"hates our freedom"

I tuned out at this point. Polemics tend to bore me and are a fantastic way of
turning people off of the rest of your message. (see also: All FSF anti-
Windows campaigns)

~~~
vezzy-fnord
Is it really that false, though? I agree it reeks of demagoguery, but it's
still not that far from the truth. Where freedom refers to digital freedom, of
course.

------
guscost
The problem I have with the copyleft movement is an impression that they want
developers to have _less_ freedom than end users. As an end user I get free
access to all GPL source code, but as a developer I can only use that source
code to make new software if I follow certain rules.

It's as if there was a "free recipes" movement arguing that since their method
for cultivating cayenne peppers was under GPL, KFC should be forced to tell
everyone how to make their chicken.

~~~
Avshalom
The GPL/Four Freedoms more or less rejects the distinction between developer
and user.

~~~
guscost
That seems to make about as much sense as rejecting the distinction between
cooking chicken and eating it.

~~~
dllthomas
I put chicken on my plate. I taste it. It is not salty enough. I add some
salt.

Obviously, we wouldn't call this "cooking chicken", but I'm participating in
the creation of my final meal. We can add arbitrarily more, arbitrarily
complex steps and ingredients.

It totally makes sense to say, "this person is developing software" or "this
person is cooking chicken". What is rejected is the notion that eating the
chicken means you're not taking any role in shaping it except those roles
explicitly given to you.

When I make boxed macaroni and cheese, I add nutmeg, and the result is way
better. It's a good thing I have access to enough of the guts of the recipe to
make that change (... or maybe it would be better if I ate less boxed macaroni
and cheese, but I think you follow the metaphor).

------
mortdeus
This argument is moot. Proprietary software doesn't have to live at a
dissonance from FLOSS software, nor does free software protect the integrity
of freedom. So there are proprietary compilers being derived from LLVM... How
does that prevent somebody from throwing out the proprietary compiler on
principle in order to support the open source alternative?

Forcing somebody to respect your ideological beliefs regarding freedom is just
as much a wolf in sheep's clothing as a notion to force somebody to bend to
your will regarding how the software you use may function by design.

There is a place for open source licenses and there is a place for free
software licenses. To say free software protects the interest of technological
innovation better than open source software can is a position based on a
foundation of ignorant dissension.

Science has little use for politics playing a major role as a core value. 99%
of all people Using software could care less about the freedom of software,
and the 1% who do care are split between the engineers who value the ideals of
innovation by collaboration, and the executives who understand that too much
freedom means everybody gets stuck with a bounced cheque.

~~~
gillianseed
Your argument is 'moot'.

Free software is no more 'forcing' anyone to respect your ideological beliefs
than proprietary software is, in neither case you can 'prevent anyone from
throwing it out on principle'.

Proprietary limits the rights of end users, you are free to not use
proprietary software.

Free software secures rights of end users, you are free to not use Free
software.

------
BjoernKW
I think Stallman has very much lost sight of who his true 'adversaries' are. I
consider myself a strong proponent of open source software but there are
reasons - imagined or real - for not making everything open source or for
using a permissive licence.

Not using a permissive licence for a software effectively bars most companies
from using that software. In my opinion licences such as Affero GPL aren't
free at all because they limit what you can do on your own machines. I've
experienced this first hand with very useful libraries such as iText.

Sure, iText und many other AGPL-licensed libraries are available under an
additional proprietary licence. However, this isn't very much about free
software either but simply another sales argument: "You've got to publish the
valuable source code of your application unless you pay us a lot of money. In
that case: Screw free software!" Sounds a bit like blackmail to me.

I understand that the FSF is an ideological movement that's based on strong
principles. Stubbornly insisting on these principles without considering
pragmatic concerns does a disservice to free software adoption, though.

------
dradtke
I just don't get why GCC needs to cripple itself; shouldn't the (in)ability to
incorporate GCC be handled by the license? It's a legal issue, not a technical
one. Sure, making it easier to plug in to other programs enables proprietary
software developers to do so as much as it does free software developers, but
the former is still illegal if the software is released that way.

------
JulianMorrison
In practise, has LLVM/Clang turned into an unfreedom-fest? I haven't noticed
as much. It seems to be remaining free in practise.

