emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Contributing LLVM.org patches to gud.el


From: David Kastrup
Subject: Re: Contributing LLVM.org patches to gud.el
Date: Thu, 12 Feb 2015 11:28:58 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> You said
>
>   > The distinction here, of course, is that LLVM does not *require* that
>   > you link the components together, or indeed, that you use them as
>   > a compiler at all.
>
> and then you said
>
>   > I am afraid that I'm having trouble seeing what the ultimate
>   > distinction is -- again, LLVM all links together too.
>
> However, from what you said above, LLVM doesn't NECESSARILY all link
> together.  That is the point.

Depending on the definition of "linking".  The LLVM project is, in a
way, a collection of compiler utilities, just like we have GNU textutils
and GNU dirutils (which are now combined into something).  The copyright
from cat has no hold over the distribution of tac.  In a similar vein,
the copyright of Bison has no hold over the distribution of Flex, and
yet we do not consider Flex an attack on GNU.

> Anyway, LLVM is just for comparison.  Since it is not copylefted,
> how its parts relate to each other does not affect anything.
> The issue applies to GCC.
>
> It is good for the parts of GCC to be modular.  And it is fine for
> these modules to be able to link with other programs, too.
>
> What I am worried about is for these modules to be used with nonfree
> programs by NOT linking them together.  That that would lead
> to proprietary use which ultimately is bad for users' freedom.
>
> I prioritize users' freedom above technical merit, and that's why I
> wrote GCC.  If not for that, I wouldn't have had to write a C compiler
> at all -- I could have used one of the proprietary ones.

Those compilers were not free.  Prioritizing users' freedom above
technical merit did not force us to rewrite the non-copylefted X Window
System, or to rewrite the non-copylefted Flex (which I believe to be
still used for generating part of GCC).  It did not force us to replace
TeX which Texinfo, the GNU documentation system, uses for generating all
of its printed manuals.

Let me quote from the GNU Manifesto, from the section "Some Easily
Rebutted Objections to GNU's Goals":

    “Competition makes things get done better.”

    The paradigm of competition is a race: by rewarding the winner, we
    encourage everyone to run faster. When capitalism really works this
    way, it does a good job; but its defenders are wrong in assuming it
    always works this way. If the runners forget why the reward is
    offered and become intent on winning, no matter how, they may find
    other strategies—such as, attacking other runners. If the
    runners get into a fist fight, they will all finish late.

    Proprietary and secret software is the moral equivalent of runners
    in a fist fight. Sad to say, the only referee we've got does not
    seem to object to fights; he just regulates them (“For every ten
    yards you run, you can fire one shot”). He really ought to break
    them up, and penalize runners for even trying to fight.

At the current point of time, I see us getting into fist fights with
other free software.  Clang/LLVM do not exist because Apple wants to
damage GCC: the initial Clang code was offered by its author working at
Apple for inclusion into GCC in 2005.  Of course, this would have
included the respective copyright assignments.  This contribution was
rejected.  Not even on philosophical grounds, but rather mostly because
of technical reasons that have by now become irrelevant.

The reason Clang/LLVM thrived even without GCC is because it met
technical needs that GCC was not able to cater for satisfactorily.
These reasons were initially rooted in the history and code base of GCC.
However, in the last decade they have increasingly become political,
focused on avoiding the reuse of GCC for things not planned by its
developers and/or copyright owners.

But flexible reuse of components is the reason for the success of
UNIX-like operating systems including GNU.  It is what enables research
and development and rapid prototyping, and consequently strong roots
into academics.

By confining the use of GNU to those software designs which cannot be
untangled without triggering copyright problems, we are no longer
hacking copyright for the sake of software freedom, but we are hacking
software freedom for the sake of copyright.  We have managed to turn
copyright into a weapon we wield against ourselves.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]