What is "free software"?

From: Eric S. Raymond <esr_at_snark.thyrsus.com>
Date: Tue, 3 Jun 1997 00:39:48 -0400 (EDT)

Recently we saw an excellent analysis of the copyright status of
ncurses from Kaz Kylheku which, among other things, distinguishes
correctly between "redistribution rights" and "adaptation rights". It
cites U.S. law, and correctly enumerates those rights which the
ncurses license gives away and those which it retains for the
copyright holders.

In a recent post, RMS belatedly discovered that the ncurses copyright
*does* in fact permit Zeyd benHalim and myself to control modification
of the software by Thomas Dickey or others.

RMS then opined that this means ncurses is not "free software" and
announced that he has deleted it from prep. He then worries that the
free-software community is "in a hole" because there is no "free"
alternative to ncurses.

The simplest solution to RMS's problem would be to hand ncurses to the
FSF and GPL it. At some future time, the present copyright holders
may be willing to do that. Right now I have reservations about
the LGPL which are not relevant to any of the ncurses issues but
which are fairly strong; these foreclose the simple solution for
the present.

Instead I want to take on the issue of what constitutes "free
software". Because I maintain that ncurses, even with the present
license, *is* "free software", both in intent and effect. I applaud
RMS's deletion of the rogue "4.1" distribution from prep, but I reject
his reasons for doing it.

RMS's position, the one the FSF is founded on and the GPL promotes, is
that software is "free" only if its license grants unlimited rights
(a) to reuse, (b) to redistribute, (c) to modify for personal use, and
(d) to modify and then redistribute.

In practice, the free software community at large has a less stringent
definition. No one disputes that "free" implies (a), (b) and (c).
As Kaz Kylheku correctly pointed out, the ncurses license explicitly
grants (a) and (b), and implicitly grants (c). It is intended to make
these grants.

RMS correctly observes that the ncurses license does not grant
(d), and says:

>The freedom to distribute modified versions, including changes that
>the author does not like, is a crucial aspect of free software.

I disagree. I say this requirement does not reflect common usage of
the term "free software". Nor is it necessarily correct (these being
two linked but semi-separate issues; common usage can be wrong). Nor
is it instrumentally good.

In connection with the "common usage" part, I want to start by
pointing out that RMS's "hole" exists mostly in his imagination. The
huge Linux community, and the smaller but significant
SpinoffGroupOfTheWeekBSD communities, are going to go right on using
ncurses whether FSF blesses its license terms or not.

I doubt even RMS will seriously dispute this prediction. While the
GPL is widely used in the Linux/BSD world, it is nowhere near
universal, and RMS knows that.

Because I maintain the Sunsite Linux archive and have written Perl to
check the copyright lines in LSMs, I can even supply a ballpark
figure. Somewhere around 1/7th of Sunsite's packages are under
licenses more restrictive than GPL. Many of those licenses resemble
those of ncurses, and the Linux/BSD community has no problem with that.

In general, if community aims are advanced by software that doesn't
happen to be GPLed but is under a sufficiently liberal license, the
Linux/BSD crowd will be happy to call it "free software" and keep
right on hacking. And the ncurses license is sufficiently liberal.

In fact, the only significant group that will be unable to use ncurses
is the FSF itself. Kind of ironic if you think about it.

This takes us to the "correct" part...

What do we mean by "sufficiently liberal"?

In the wider free-software culture, use of the GPL is a tactical
maneuver, not a dogma. Juergen Pfeifer was reflecting this attitude
when he responded to RMS's pronunciamento by saying it's "too religious
for me".

The difference between RMS's attitude and Juergen's (which is also mine)
comes down to a difference in underlying agendas. The FSF and the
Linux/BSD community do not have quite the same goals.

The FSF regards the "freeness" of software as an end in itself -- in
the FSF view, *all* software should be free and "unfree" software is
morally tainted. Their efforts tend to assume the grim, high-minded air
of a religious or political crusade, all clenched fists and barricades.

The Linux/BSD community's stance is more instrumental. In this view,
the purpose of free software is to make sure hackers and other people
will always have enough tools and toys to play with. And the purpose
of the free-software culture is to have lots of fun, push the
technical envelope, and play a non-zero-sum reputation game that
everyone can win.

In this more relaxed view of "free software", commercial software is
not so much wrong as irrelevant. Individual products may earn
resentment because they are shoddy and overhyped, or because the
people who promote them are overweening assholes (or both, as in
Microsoft OSs). But commercial software isn't intrinsically evil.
Linus even says in his speeches, "commercial software can be OK,
sometimes". GPL is just a means to an end, and there can be others,
including ncurses-like licenses.

But here's the key logical point: if "free" means "without
restrictions", it means without *any* restrictions, even the GPL ones
that forbid various forms of exclusively binary distribution and
"hoarding". (There are many people who refuse to GPL for this reason.
I'm *not* one of those myself, BTW.)

By claiming that "free" means "with GPL restrictions and only GPL
restrictions", RMS implicitly concedes that software can be "free"
without granting unlimited rights to everybody for all time.

But once he's gone this far, it is no longer possible for him to
defend his definition of "free software" logically by making it a
simple composition of the terms "free" and "software", because it
isn't! This is what I meant by saying his usage is not correct.

Instead, RMS's definition implies *acceptable kinds* of restrictions.
Viewed in this way, RMS's attempt to corner the term "free software"
for stuff with a license that includes the right to redistribute
modified copies is really an attempt to set cultural norms by
controlling semantic territory.

But anybody can play that game. RMS is no more privileged at it
than I am. He can argue for his restrictions, I can argue for mine,
and whether you buy my definition of "free software" or his depends
on what *you* want to accomplish by promoting "free software".

Now for the part that will *really* annoy him :-(. Sigh...

I will now argue that RMS's definition is instrumentally bad, in that
we would all be worse off if we accepted it than if we accepted the
weaker one implied in the ncurses license.

The reason is reputation incentives. As I point out in "How to Become
A Hacker" (http://www.ccil.org/~esr/faqs/hacker-howto.html) and my
recent paper "The Cathedral And The Bazaar" from Linux Kongress '97
(http://www.ccil.org/~esr/writings/cathedral.html), the free-software
community is what anthropologists call a "gift culture" and runs on
reputation incentives. See those documents for detailed support.

Briefly, hackers invest their reputations in their work. They hope to
gain in reputation by doing successful projects. The reputation gain
is important because people like their peers to think well of them,
but it's even more important for a different reason. When your
economy has no scarce goods and your politics has no real power
relationships, gain or loss in reputation is the only kind of reality
check available.

The problem is that if "free software" includes a right to
redistribute modified copies, the optimal strategy is hijacking and
parasitism, not being original and productive. And the culture
doesn't want that.

The only thing that prevents these strategies from becoming endemic is
a strong social consensus that, despite what the GPL says, authors and
primary maintainers *own* their software. Forking live projects is
wrong, or at least justified only by extraordinary circumstances and
resorted to under extreme pressure.

Even then it's frowned upon, and for the norms to be satisfied it has
to be accompanied by extensive public self-justification (this
explains apparent exceptions like XEmacs and the BSD splitoffs that
actually prove the rule).

This norm also serves the valuable purpose of minimizing the
wasteful duplication of work.

Most hackers half-consciously understand all this, which is why it's
normal to pay lip service to the doctrinaire purity of the GPL while
actually running freeware projects as if source code is a sort of
intangible real estate homesteaded out of the noosphere, complete with
ownership, "primary maintainers", seniority rights, and a chain of
legitimate succession.

This is also why, when people disagree with primary maintainers, they normally
distribute patches rather than hacked source trees. It's a way of
making your statement without violating the norms of succession.

A free-software culture in which a right to redistribute modified code
really were customary would have a much higher incidence of parasitism
and duplication. It would be less productive than the one we have in
practice.

I'm planning to write a paper on all this called "Homesteading the
Noosphere".

-- 
		Eric S. Raymond
Received on Tue Jun 03 1997 - 00:49:18 EDT

This archive was generated by hypermail 2.2.0 : Mon Dec 19 2011 - 06:24:16 EST