The Problem with Plan 9

Posted 27 Jun 2000 at 06:18 UTC by ncm Share This

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:

  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?

give things some time?, posted 27 Jun 2000 at 10:25 UTC by sergent » (Journeyer)

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.

legal limit to license terms..., posted 27 Jun 2000 at 10:54 UTC by jaz » (Journeyer)

It's not at all clear that the termination clause is enforceable in its broadest possible interpretation.

Anyhow, URL is:

agree and press onward, posted 27 Jun 2000 at 15:44 UTC by graydon » (Master)

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.

pike vs. stallman, posted 27 Jun 2000 at 17:33 UTC by CentralScrutinizer » (Apprentice)

Can you post the url or newsgroup to which this thread occurred? I'd like to read up on it.


Why is Plan9 interesting?, posted 27 Jun 2000 at 17:42 UTC by jrennie » (Apprentice)

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?


Revocation clauses, posted 27 Jun 2000 at 19:50 UTC by schoen » (Master)

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

What's interesting about Plan 9, posted 28 Jun 2000 at 10:39 UTC by davidw » (Master)

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.

Re: What's interesting about Plan 9, posted 28 Jun 2000 at 13:40 UTC by jrennie » (Apprentice)

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.


"Spirit in Which It's Offered", posted 3 Jul 2000 at 07:39 UTC by ncm » (Master)

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.

There appears to be a bit of confusion here..., posted 8 Jul 2000 at 18:03 UTC by argent » (Master)

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 » (Master)

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 » (Master)

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.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page