The Problem with Plan 9
Posted 27 Jun 2000 at 06:18 UTC by ncm 
I copied Bell Labs' Plan 9 the day Lucent released it. I was excited
because Plan 9 is interesting: it has left behind the cruft that the
Unices have accumulated over the years, yet it is mature enough to be
useful immediately. It draws on the best traditions that spawned Unix
itself. Now that it has (I had thought) been released under a Free
license, it's a worthy partner and competitor to Linux and BSD; it
might even have a brighter future.
When I first read the license, it looked unusually good. It's not
the GPL, and it's not the MIT X license, but it seemed to extend
the freedoms we need to allow us to use the code in Free Software
projects, and to inspire people outside Bell Labs to participate
fully in maintaining and improving it. The termination clause
seemed, at first, to create a club of software developers who have
abjured intellectual property enforcement among themselves.
Here's the relevant paragraph:
6.0 TERMINATION
1. The licenses and rights granted under this Agreement shall
terminate automatically if ... (ii) You initiate or participate
in any intellectual property action against Original Contributor
and/or another Contributor.
On reflection, I have realized that it presents two severe problems.
First, Lucent is a very unequal member of this club: they haven't
abjured enforcement themselves, because they're not bound by the
license. Second, and more profoundly, it is by the "intellectual
property action" forbidden in the license that the GPL, as well as
the MIT X and BSD licenses, are enforced.
What does this mean? It means if you depend on Plan 9 code you cannot
sue Lucent (or anybody else whose code they accepted into Plan 9) for
copyright license violations of any kind. If Plan 9 were to become
widely used, this would be a direct blow to our Free licenses, because
any "Contributor" would have carte blanche to take the code out of the
common pool, delete the copyright licenses, and claim it for their own.
It helps to compare this license with other Free Software licenses,
because it is clear Lucent's lawyers have studied them. The Ricoh
Source Code Public License terminates if you sue for patent
infringements found in the covered code, but only 60 days after they
warn you. The IBM license is more ambitious, protecting IBM against
enforcement (only) of patents in the licensed code or anywhere else.
Interestingly, the license has a kind of circularity: it restricts
you from enforcing the license itself. This, in fact, is what
makes it so unequal: although the language treats Lucent and other
"Contributors" equally, the law doesn't. Others are bound by the
license, but Lucent is not, even if they adopt others' code into
Plan 9.
As owner of the code, of course, Lucent has a perfect right to
release (or not release) the code under any license they like.
The situation is not so one-sided as that, though; they want
something from us too. The interesting questions are:
-
Under what conditions might we, as Free Software developers, allow
ourselves to come to depend on the code, and be motivated to
participate in developing and improving it?
- With or without our own participation, can Lucent find
enough willing participants for their termination clause to have
any practical force?
- Can Lucent be persuaded to relax this clause of their
license enough to permit us to enforce the terms of our own Free
licenses, even against Lucent, in exchange for our participation
in improving their code?
Plan 9 is an interesting enough body of code to be worthy of detailed
attention. Given a reasonable license and sound project management,
it could attract a Free Software developer community. With all three,
it might even have a chance to become the fabled Successor to Unix,
allowing us finally to leave behind what is complained about most
bitterly in the Unix-Hater's Handbook.
Without an inspiring license, Plan 9 could easily succumb to code rot
as the fraction of modern systems it runs on shrinks over time. That
would be a sad loss to us all. What can we do about it?
a url to plan9?, posted 27 Jun 2000 at 09:45 UTC by mathieu »
(Master)
Please, can you post a url to plan9?
It's loads better than the license terms from the previous 10+
years.
Like I say, give things some time.
It's some pretty nifty software regardless.
what the plan9 authors need to realize (if they're reading this) is that
while they've put a significant effort into writing plan9 over the
years, the community of people who are interested in adopting
the software are evaluating this as an investment that they are
going to put forth: should we spend weeks, months and years of
our lives learning plan9, auditing plan9, gutting and rebuilding all the
broken parts of plan9, porting things to plan9, porting plan9 to other
machines, optimizing plan9, holding conferences
about plan9, writing device drivers for plan9, shifting our consultancy
businesses to focus on plan9, etc. should any of us put forward that
sort of investment, if only to find our butts in court because we didn't
read the license carefully enough? compare a modern free unix to the
unix released by bell labs, and you'll see the difference: number of
processors supported, performance, stability, scalability, flexibility,
management features, applications, marketing, documentation... the work
done after such original "in the labs" research is quite
significant.
rob pike has recently posted to netnews (in response to RMS' criticism
of the plan9 license) that he's shocked at the community response. he
wants us to all just "accept the software in the spirit in which it's
offered". to pike I can only suggest a history lesson: look at what USL
pulled with BSD when they accepted the "spirit" of your company's last
operating system release, rather than getting a good license. sure, you
personally might not have filed that suit, but never
underestimate the evilness of a company with old unenforced intellectual
property rights and an idle legal department. your spirit will not live
on in the actions of your business partners at lucent, and it is them
that we all fear.
no, if a company wants to release code, they need to understand that the
license agreement is not something we will accept carte blanche. with
this release, lucent is not "giving" us something: they are entering
into an institutionalized relationship with the world's programmers. the
terms of that relationship must be satisfactory to both parties
if they want to make it work. they should look at a source release less
like a "gift" and more like, say, a constitution for a country or a
marriage contract: the parties involved bring radically different skill
sets and resources to the table, but they both need to be satisfied with
the license.
if "the spirit" includes the concept of "not revoking the license from
people", then they need to codify that spirit into the license agreement
and re-release it. it's not hard. netscape, apple and IBM have all
responded maturely to the request for improvements in their "public"
licensing terms. lucent ought to do the same thing.
Can you post the url or newsgroup to which this thread occurred? I'd
like to read up on it.
Thanks.
ncm said:
I was excited because Plan 9 is interesting:
it has left behind the cruft that the Unices have accumulated over
the years, yet it is mature
enough to be useful immediately.
Hmm... another unixish clone with a less-than-wonderful license. What's
so interesting about Plan 9? Why should I go to Lucent's site, read all
of the man pages and discussing Plan 9 license issues?
Assuming that the license issues are resolved, why do you think that
Plan 9 is much different than Linux or *BSD?
Jason
Nathan, sorry I didn't get back to you on this point.
The OSI has endorsed a couple of licenses with revocation clauses,
when those clauses looked to the OSI like reasonable methods for
those releasing the software to protect themselves. These clauses
are very controversial, and RMS has never accepted any of them;
he argues that it might be free software today but not tomorrow,
if the license is revoked for some people.
You're right that the Plan 9 clause would be the broadest yet, as
far as I've seen. I am not sure why the lawyers thought it was
necessary, but they must have had some reason. In my opinion, the
IBM Public License is the very best of the "corporate style" licenses which came out after the Mozilla license. IBM's license uses indemnifications and disclaimers rather than threats and conditions. That does not mean that it's stronger legally, but it gives a friendlier impression to a prospective developer reading it. It would be nice to see the Plan 9 license changed to be more along these lines.
I think it is very possible that the OSI might certify the license in its present form, but that could be just a formality; as
graydon points out, that hardly means that the worldwide collection of free software developers will trust the license and rush to embrace Plan 9.
The best way to attract developers to make that investment which graydon mentions is
of course to offer license terms with which they're already familiar.
links and stuff, posted 27 Jun 2000 at 20:39 UTC by graydon »
(Master)
the discussion is scattered across a few threads on comp.os.plan9. RMS'
post comes in here,
but most of the thread is just making mean RMS jokes. later on pike
restarts the thread here,
which seems to get a few people talking about how the lucent license
isn't really quite perfect after all.
some discussion also came
up on gnu.misc.discuss, including this quick
analysis of the license.
in response to jrennie, wrt plan 9's design advantages: it is based on a
ubiquitous network protocol which subsumes file service, device
control
and character stream services. all processes run in their own namespaces
with their own view of the filesystem, and the protocol can customize
the view of a file tree on a per-connection basis, allowing
session-oriented "control" files to be opened and used in a much cleaner
way than the associated combination of ioctls, filesystem accesses and
socket calls needed in unix. furthermore, all authentication is done
with minimal challenge-response permission tickets, providing a fair bit
more security than on unix. there's no "root". these features
combine very well to provide services unix is quite awkward at: mounting
remote devices and displays in your own process namespace, unioning
paths based on CPU architecture or personal customization, wrapping
standard
services in extensions or emulations, providing uniform views of
different resources, or limited views to untrusted visitors and
processes. it's just a significantly cleaner and more "network friendly"
system.
at a more obvious level, plan 9 includes a new, deeply integrated windowing
system and UI which some people happen to like a fair bit, and
speaks unicode natively.
if you want a quick overview, read the original paper
jrennie, it would do you well to look up a bit of Unix history. Plan 9,
even from what little I know about it, certainly cannot be described as
simply a clone of Unix. I mean, Rob Pike was one of the guys who
*invented* Unix. Why would he redo the same thing over again?
A colleague of mine here at Linuxcare Italia tried it out, and was quite
impressed, actually. He said that it really could be credibly
considered the 'evolution' of Unix.
davidw said:
jrennie, it would do you well to look up a bit of Unix history. Plan
9, even from
what little I know about it, certainly cannot be described
as simply a clone of Unix.
I was hoping for a response analyzing some of the differences between
Plan 9 and conventional unices (or pointers to others who have made such
analysis). From ncm's article, I didn't get any real sense of why Plan9
isn't just another unix clone. I have to thank graydon for giving me
good reason to take
some serious time to look into Plan9. Sounds like an interesting
concept.
Jason
Rob Pike wrote, "I must admit I find the fissiparous nature
of the Open Source/FSF community a little dispiriting. We're
just trying to make stuff available. Please accept it in the
spirit in which it's offered."
For Rob Pike I have nothing but admiration. I fully believe
that he, personally, has no objectionable motivations connected
with the release.
However, it's not Rob Pike offering the code, but Lucent. As a
corporation, Lucent's nature is entirely a matter of legalities. To
discover the "spirit in which [the code] is offered" we must needs
study the written license. Reading the license reveals a spirit
noticeably different from what Rob would probably have suggested.
The license seems quite fixable. It is just unfortunate is that
Lucent's lawyers didn't bother to communicate with the community
they hoped to engage before the release. As it is, fixing the
license may be embarrassing to some of those involved, and may
generate some bad feelings, before it's ready. It will end up
taking longer before members of the Free Software community begin
to contribute to the project. That's too bad, but nothing to
be dispirited about.
My dictionary says "fissiparous" means "fractious", with a
connotation of pettiness. It seems to
me that the Free Software community has spoken largely in unison
about this license: it is not good enough yet. As for the software,
everybody who knows much about it is eager to get a look, and many
are eager to dig in. I don't think "fissiparous" is justified.
While the GPL is enforced by the potential for litigation against licensees who distribute GPL code without the source or redistribution
rights, that is not true of the BSD license. You can indeed take BSD and grab part of the code and shove it in (say) Windows NT, without
any restrictions whatsoever. Now it used to be that you had to acknowledge the University in your advertising if you did so (and in fact
that's the clause that got BSD out from under the USL lawsuit), but (a) that's no longer true, and (b) it's so minimal a restriction that apart
from defending against lawsuits it's no restriction at all to the commercial distribution of the software.
(as an aside, the GPL folks used to rail about how horrible the "advertising clause" was... and they apparently convinced Kirk and co to
remove it from later releases... yet Linux has exactly the same kind of restriction on it!)
Fissipariety?, posted 9 Jul 2000 at 08:33 UTC by ncm »
(Master)
I don't know what was the point of argent's posting above, except
perhaps to try to demonstrate Pike's accusation of fissiparousness. In
particular, I don't see anything in it relating to the problems in Plan
9's license.
Still, for the record: I doubt that the BSD license was changed at the
request of GPL fans. It seems more likely it was BSD developers
themselves who came to find the advertising clause onerous. I don't
know of any "advertising clause" connected with Linux.
In on-topic news, RMS mentioned that he has offered to preview any
revisions Lucent is considering before announcement (I assume) to help
them avoid repeating the present embarrassment. Nobody has mentioned
yet any evidence that Lucent was considering changing the license.
advertising clause, posted 29 Apr 2002 at 09:02 UTC by phr »
(Journeyer)
RMS lobbied UC Berkeley for years to drop the advertising clause and
they finally did it. I was around while it was happening and can tell
you this is true.
Linux is GPL and doesn't have an advertising clause.
Termination clause, posted 29 Apr 2002 at 09:14 UTC by phr »
(Journeyer)
The termination clause might be vaguely tolerable for hobbyists
interested in playing around with Plan 9 on personal systems, but most
free software developers have bigger fish to fry. Any business would be
insane to use Plan 9 with its current termination clause.
Imagine that you decide Plan 9 is better than GNU/GNOME/Linux or its
nearest competitor Windows 2000. You convince your company, Megafrob
Corp, to install Plan 9 on its 80,000 desktops and retrain all its
employees to use Plan 9 apps. A while later, Megafrob's frozen foods
division gets into some weird disagreement with Lucent over a domain
name (something to do with bell peppers vs. Bell telephones). Since
this is an IP dispute Lucent's lawyers say Megafrob now has to trash the
software that 80,000 of its employees have to depend on for their daily
work. All of Megafrob's wordprocessing and spreadsheet files are in
data formats that are only understood by the Plan 9 apps; while there's
some chance of writing a conversion program, all Megafrob's operations
to grind to a halt until this is done.
Moral: Plan 9 can't be thought of as useable software for any purpose
where you have to depend on it staying available.
Fixed years ago, posted 7 Mar 2006 at 12:10 UTC by rsc »
(Master)
Just for the record, these posts are about the original Plan 9 License, which RMS didn't like either.
The current Plan 9 distribution uses the Lucent Public License 1.02, which is the IBM Public License made non-viral and is OSI-approved.