
RMS regrets not accepting LLVM into GCC during 2005 - jordigh
https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00594.html
======
handelaar
It's almost like refusing to be connected to the internet and consequently
being an entire day behind important conversations-in-progress could have some
sort of downside.

~~~
autoreleasepool
It's almost like being so fixated on the "free", to the point that you don't
consider the "software", could have negative consequences for free software.

------
tzs
David Kastrup has a very insightful comment in that discussion, well worth
reading [1].

He quotes a speaker he heard at an "IT for startups" talk he found himself at.
The speaker talked about the importance of contingency plans for when things
go wrong, but also said "the worst mistake a manager can commit is to be
unprepared catering for the eventuality of success".

Kastrup then notes:

    
    
        So we worked on making GCC a bad choice for
        proprietary vendors.  What do they do?  They manage
        to unite an industry-spanning coalition of different
        parties including academia into creating a free
        software compiler framework.  Free to the degree
        that we could just take it, slap the GPL on it and
        distribute our own version of it (assuming we were
        prepared to dealing with pissing everybody off in
        the process).
    
        So what's our reaction to our and GCC's role in
        causing a large-scale industry cooperation creating
        a free compiler framework?
    
        Panic.  We are not prepared to deal with people
        doing on their own terms what we have fought to
        happen for decades.  So now we try to fight those in
        our midst who want to make use of what we have
        fought for.
    
        And since LLVM is relicensable as GPL if anybody
        bothered to, the only effective means to "fight"
        LLVM is by necessity effective in fighting GPLed
        software in just the same manner.
    
        It seems sort of pointless to be fighting our spoils
        because they were given to us in the wrong kind of
        ceremony.
    

[1] [https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00...](https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00516.html)

------
dagss
The rest of the thread linked to gets into the intentional lack of modularity
in GCC. Lots of open source, not-really-for-profit projects are benefits from
LLVM in general: Julia, Numba (numerical JIT compiler for Python), Xdress (C++
wrapper generator for Python)...probably many others. Even apart from
licensing issues (wanting to stay BSD-compatible), they could not have built
on top of GCC.

LLVM offers pluggability and modularity. You can use whatever you want from
the compiler in a very flexible way; use it only to parse C headers, or use it
only for code generation at run-time.

GCC is the opposite: Modularity and pluggability has been explicitly prevented
because GCC maintainers fear that a pluggable and modular GCC would enable
people to "take the edge off the GPL".

I guess there is no way around this. For instance, if GCC was to merge the
gcc-xml fork which allows you to parse C headers and get the syntax tree as
XML back, then somebody could "abuse" that to create a proprietary compiler
that uses the GCC parsers.

(OK, there is some modularity in GCC now, as I remember a student project in
Cython that plugged into GCC using command line flags injecting a shared
library in order to parse C/C++ headers; I'm not sure exactly what the status
quo is. But it's certainly a very different world from LLVM.)

------
alecco
Title implies he knew about the offer.

    
    
      > If I had seen it back then, I would not have had the benefit of
      > hindsight, but it would clearly have been a real possibility.
    

Also, they are talking about a patch to GCC to make it use the LLVM optimizer
backend, and not LLVM itself. Reading comprehension, anyone?

[https://gcc.gnu.org/ml/gcc/2005-11/msg00888.html](https://gcc.gnu.org/ml/gcc/2005-11/msg00888.html)

------
norswap
Being a day behind does not explain why he missed it though. He should just
have becoming aware of it one day later. I'm puzzled.

~~~
autoreleasepool
He missed the proposal within the context of the current conversation. He is
actually responding to an email earlier in the thread that linked the original
email from 2005[0].

RMS does't use an Internet browser so he fetches pages and recieves them in
email. He received the html file a day after he had already written his
response that he self quotes[1].

He wrote the linked email before he replied without actually having viewed the
link of the 2005 email. Therefore, he was unaware of its contents.

It makes little sense out of context.

[0] [https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00...](https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00468.html)

[1] [https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00...](https://lists.gnu.org/archive/html/emacs-
devel/2015-02/msg00485.html)

------
phkahler
Nope. Richard wanted GCC to remain monolithic to prevent certain commercial
activities. LLVM is modular with many reusable components which was
unacceptable to RMS. Of course he'd rather have a GPLed modular compiler than
a free but non-GPL modular compiler, but I don't think he believed they'd get
as far as they did and that's why he didn't accept the offer.

~~~
nextos
I think creating walled gardens and artificial barriers is always a mistake.
This is the perfect example. Intentionally crippling a GNU project is absurd.

~~~
phkahler
>> I think creating walled gardens and artificial barriers is always a
mistake. This is the perfect example. Intentionally crippling a GNU project is
absurd.

I agree, and I'm sad to see it happened with the flagship software of the GNU
project.

~~~
nextos
Indeed, I think that as much as I love GNU and sympathize with most of
Stallman's POVs, he got it wrong here.

Crippling GCC just to prevent some undesirable use cases at the expense of
slowing down his own community is not the way to go. LLVM has made many
amazing things possible.

------
raverbashing
RMS is becoming ever more irrelevant with time.

In the same way BSD software has been ever more present, free software is
still going strong, not in the way he likes, though.

~~~
danieldk
He is becoming more and more relevant. I remember reading this at the turn of
the century:

[https://www.gnu.org/philosophy/right-to-
read.html](https://www.gnu.org/philosophy/right-to-read.html)

And remember thinking _yeah right, what a nonsense, no one would accept this_.
Although it's written slightly overdramatic, here we are, many people are
reading DRMed books that cannot be shared. We are renting our DRMed movies and
music online. Soon there will be a day where young kids don't even realize you
could borrow a movie, book, or album from a friend.

Say about RMS what you want, but he has a tendency to predict problems 10-20
years ahead.

~~~
nappy-doo
Everytime I read a book on my kindle, I think about this essay. In my mind, I
look at it like this:

My income now so vastly exceeds the income I had in 2000, that the marginal
cost of a book is so small, and not actually having to warehouse the book is
worth the cost to me. Additionally, I believe we'll be moving to models more
like what Disney has implemented with its movies (where you can buy it once,
and watch it anywhere) is what will happen with most/all media.

~~~
phkahler
>> Additionally, I believe we'll be moving to models more like what Disney has
implemented with its movies (where you can buy it once, and watch it anywhere)
is what will happen with most/all media.

Can you lend it to a friend? I don't believe that "watch it anywhere" part.

------
longlivegnu
>oh well

I guess he is being realistic, it does no good to beg and ask. I hope little
Richard isn't sad though :(

