ref: b795f27106bdf6107f95c3f3e9e8544626bf0252
dir: /fqa0.ms/
.\" This troff source is processed to create all forms of the .\" 9FRONT DASH 1 book and the http://fqa.9front.org website. .\" NOTE: Purely experimental. Methods employed may change. .\" troff -ms -mpictures fqa0.ms | page .\" htmlroff -u -ms -mhtml fqa0.ms >fqa0.html .de FG \" .FG <basename> .ie h .html - <img src="\\$1.\\$2" /> .el .BP \\$1.ps .br .. .po 1i \" page offset (from left) .fp 1 R LucidaSans .fp 2 I LucidaSansI .fp 3 B LucidaSansB .fp 4 BI LucidaSansI .fp 5 CW LucidaCW .paragraph 0 .margin 0 .HTML "FQA 0 - Introduction To Plan 9 .html - <style type="text/css">body{font-size:10pt}; a{font-size:10pt}</style> .html - <a href="fqa.html">FQA INDEX</a> | .html - <a href="fqa1.html">FQA 1 - Introduction To 9front</a> .html - <hr /> .SH .LG .ihtml h1 <h1> FQA 0 - Introduction to Plan 9 .ihtml h1 .NL .R .html - <a href="fqa0.html">html</a> | .html - <a href="fqa0.pdf">pdf</a> | .html - <a href="fqa0.ms">troff</a> .html - <a name="0.1" /> .ihtml h2 <h2> .SH 0.1 - What is Plan 9? .R .ihtml h2 .html - <br /> .FG csrc jpg .html - <br /> .FG plan9team1995 jpg Plan 9 is a research operating system from the same group who created UNIX at .ihtml a <a href="https://web.archive.org/web/20150221121232/http://cm.bell-labs.com/cm/cs/alumni.html"> Bell Labs Computing Sciences Research Center .ihtml a (CSRC). It emerged in the late 1980s, and its early development coincided with continuing development of the later versions of .ihtml a <a href="http://en.wikipedia.org/wiki/Research_Unix"> Research UNIX. .ihtml a Plan 9 can be seen as an attempt to evolve some of the same ideas that informed UNIX into the era of networking and graphics. .ihtml a <a href="http://en.wikipedia.org/wiki/Rob_Pike"> Rob Pike .ihtml a has described Plan 9 as "an argument" for simplicity and clarity, while others have described it as "UNIX, only moreso." From .I .ihtml a <a href="http://doc.cat-v.org/plan_9/4th_edition/papers/names"> The Use of Name Spaces in Plan 9: .ihtml a .R .html ul <ul> .QS Plan 9 argues that given a few carefully implemented abstractions it is possible to produce a small operating system that provides support for the largest systems on a variety of architectures and networks. .QE .html ul From the .ihtml a <a href="http://man.9front.org/1/intro"> .CW intro(1) .R .ihtml a man page: .html ul <ul> .QS Plan 9 is a distributed computing environment assembled from separate machines acting as terminals, CPU servers, and file servers. A user works at a terminal, running a window system on a raster display. Some windows are connected to CPU servers; the intent is that heavy computing should be done in those windows but it is also possible to compute on the terminal. A separate file server provides file storage for terminals and CPU servers alike. .QE .html ul The two most important ideas in Plan 9 are: .ihtml ul <ul> .IP • .ihtml a <a href="http://doc.cat-v.org/plan_9/4th_edition/papers/names"> private namespaces .ihtml a (each process constructs a unique view of the hierarchical file system) • .ihtml a <a href="http://man.9front.org/5/intro"> file interfaces .ihtml a (familiar from UNIX, but taken to the extreme: all resources in Plan 9 look like file systems) .LP .ihtml ul Most everything else in the system falls out of these two basic ideas. .ihtml ul <ul> .IP .I Plan 9 really pushes hard on some ideas that Unix has that haven't really been fully developed, in particular, the notion that just about everything in the system is accessible through a file. In other words, things look like an ordinary disk file. So all the devices are controlled this way by means of ASCII strings, not complicated data structures. For example, you make network calls by writing an ASCII string, not the files. This notion is something that's actually leaking quite fast. The second thing is sort of more subtle and sort of hard to appreciate until you've actually played with it. That is that the set of files an individual program can see depends on that program itself. In a standard kind of system, either with Unix remote file systems or Windows attached file systems, all the programs running in the machine see the same thing. In Plan 9, that's adjustable per program. You can set up specialized name stations that are unique to a particular program. I mean, it's not associated with the program itself but with the process, with the execution of the process. .R \(em Dennis Ritchie .LP .ihtml ul Read: .ihtml a <a href="http://man.9front.org/1/intro"> .CW intro(1); .R .ihtml a .ihtml a <a href="http://doc.cat-v.org/plan_9/4th_edition/papers/9"> .I Plan 9 from Bell Labs; .R .ihtml a .ihtml a <a href="http://doc.cat-v.org/plan_9/1st_edition/designing_plan_9"> .I Designing Plan 9, .R .ihtml a originally delivered at the .ihtml a <a href="https://groups.google.com/forum/#!topic/uk.announce/wEUdLbrb_Uk"> UKUUG Conference in London, July 1990; .ihtml a and .ihtml a <a href="fqa7.html"> .I FQA 7 - System Management; .R .ihtml a for a more detailed overview of Plan 9's design. .bp .html - <br /> .FG fork jpg Today, Plan 9 continues in its original form, as well as in several derivatives and forks: .ihtml a <a href="http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs"> Plan 9 from Bell Labs .ihtml a \(em The original Plan 9. Effectively dead, all the developers have been run out of the Labs and/or are on display at Google. .ihtml a <a href="http://en.wikipedia.org/wiki/Plan_9_from_User_Space"> Plan 9 from User Space .ihtml a \(em Plan 9 userspace ported/imitated for UNIX (specifically OS X). .ihtml a <a href="http://www.9legacy.org"> 9legacy .ihtml a \(em David du Colombier's cherry picked collection of patches from various people/forks to Bell Labs Plan 9. (it is not a fork) .ihtml a <a href="http://www.9atom.org"> 9atom .ihtml a \(em Erik Quanstrom's fork of Plan 9, maintained to erik's needs and occasionally pilfered by 9front. .ihtml a <a href="http://9front.org"> 9front .ihtml a \(em (that's us) (we rule (we're the tunnel snakes)) .ihtml a <a href="http://lsub.org/ls/nix.html"> NIX .ihtml a \(em High performance cloud computing is NIX \(em imploded in a cloud of political acrimony and retarded bureaucratic infighting. .ihtml a <a href="http://nxm.coreboot.org/NxM"> NxM .ihtml a \(em A kernel for manycore systems \(em never spotted in the wild. .ihtml a <a href="http://lsub.org/ls/research.html"> Clive .ihtml a \(em A new operating system from Francisco J. Ballesteros, designed to generate grantwriting practice material and research projects for otherwise indolent students. .ihtml a <a href="http://akaros.cs.berkeley.edu/akaros-web/news.php"> Akaros .ihtml a \(em Akaros is an open source, GPL-licensed operating system for manycore architectures. Has no bearing on anything but has attracted grant money. .ihtml a <a href="http://harvey-os.org/"> Harvey .ihtml a \(em Harvey is an effort to get the Plan 9 code working with gcc and clang. .ihtml a <a href="http://www.vitanuova.com/inferno/index.html"> Inferno .ihtml a \(em Inferno is a distributed operating system started at Bell Labs, but is now developed and maintained by .ihtml a <a href="http://www.vitanuova.com/"> Vita Nuova Holdings .ihtml a as free software. Just kidding it is not developed or maintained. .html - <a name="0.1.1" /> .ihtml h3 <h3> .SH 0.1.1 - Plan 9 is not UNIX .R .ihtml h3 .html - <br /> .FG notunix jpg In the words of the .ihtml a <a href="https://9p.io/wiki/plan9/plan_9_wiki/fqa.html"> Bell Labs Plan 9 wiki: .ihtml a .html ul <ul> .QS Plan 9 is not Unix. If you think of it as Unix, you may become frustrated when something doesn't exist or when it works differently than you expected. If you think of it as Plan 9, however, you'll find that most of it works very smoothly, and that there are some truly neat ideas that make things much cleaner than you have seen before. .QE .html ul Confusion is compounded by the fact that many UNIX commands exist on Plan 9 and behave in similar ways. In fact, some of Plan 9's userland (such as the .ihtml a <a href="http://doc.cat-v.org/bell_labs/upas_mail_system"> .CW upas .R .ihtml a mail interface, the .ihtml a <a href="http://sam.cat-v.org"> .CW sam .R .ihtml a text editor, and the .ihtml a <a href="http://man.9front.org/1/rc"> .CW rc .R .ihtml a shell) are carried over directly from .ihtml a <a href="https://web.archive.org/web/20170601063844/http://www.cs.bell-labs.com/10thEdMan"> Research UNIX 10th Edition. .ihtml a Further investigation reveals that many ideas found in Plan 9 were explored in more primitive form in the later editions of .ihtml a <a href="http://en.wikipedia.org/wiki/Research_Unix"> Research UNIX. .ihtml a However, Plan 9 is a completely new operating system that makes no attempt to conform to past prejudices. The point of the exercise (circa the late 1980s) was to avoid past problems and explore new territory. Plan 9 is not UNIX .I for a reason. .R Read: .ihtml a <a href="https://9p.io/wiki/plan9/Unix_to_Plan_9_command_translation/index.html"> .I UNIX to Plan 9 command translation, .R .ihtml a .ihtml a <a href="http://harmful.cat-v.org/cat-v/"> .I UNIX Style, or cat -v Considered Harmful .R .ihtml a .html - <a name="0.1.1.1" /> .ihtml h4 <h4> .SH 0.1.1.1 - Plan 9 is not plan9port .R .ihtml h4 .ihtml a <a href="https://en.wikipedia.org/wiki/Plan_9_from_user_space"> Plan 9 from User Space .ihtml a (also known as plan9port or p9p) is a port of many Plan 9 from Bell Labs libraries and applications to UNIX-like operating systems. Currently it has been tested on a variety of operating systems including: Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris and SunOS. Plan9port consists of a combination of mostly unaltered Plan 9 userland utilities packaged alongside various attempts to imitate Plan 9's kernel intefaces using miscellaneous available UNIX programs and commands. Some of the imitations are more successful than others. In all, plan9port does not accurately represent the experience of using actual Plan 9, but does provide enough functionality to make some users content with running acme on their Macbooks. .html - <a name="0.1.1.2" /> .ihtml h4 <h4> .SH 0.1.1.2 - Plan 9 is not Inferno .R .ihtml h4 .html - <br /> .FG inferno png .ihtml a <a href="http://www.vitanuova.com/inferno/index.html"> Inferno .ihtml a is a distributed operating system also created at Bell Labs, but which is now developed and maintained by .ihtml a <a href="http://www.vitanuova.com/"> Vita Nuova Holdings .ihtml a as free software. It employs many ideas from Plan 9 (and even shares some source code), but is a completely different OS. .B Note: Inferno shares some compatible interfaces with Plan 9, including the .ihtml a <a href="http://9p.cat-v.org"> 9P/Styx .ihtml a protocol. .bp .html - <a name="0.1.2" /> .ihtml h3 <h3> .SH 0.1.2 - Plan 9 is not a product .R .ihtml h3 .html ul <ul> .DS Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!smb From: s...@ulysses.homer.nj.att.com (Steven Bellovin) Newsgroups: comp.unix.wizards Subject: Re: Plan 9? (+ others) Message-ID: <10533@ulysses.homer.nj.att.com> Date: 23 Aug 88 16:19:40 GMT References: <846@yunexus.UUCP> <282@umbio.MIAMI.EDU> <848@yunexus.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 33 ``Plan 9'' is not a product, and is not intended to be. It is research -- an experimental investigation into a different way of computing. The developers started from several basic assumptions: that CPUs are very cheap but that we don't really know how to combine them effectively; that *good* networking is very important; that an intelligent user interface (complete with dot-mapped display and mouse) is a Right Decision; that existing systems with networks, mice, etc., are not the correct way to do things, and in particular that today's workstations are not the way to go. (No, I won't bother to explain all their reasoning; that's a long and separate article.) Finally, the UNIX system per se is dead as a vehicle for serious research into operating system structure; it has grown too large, and is too constrained by 15+ years of history. Now -- given those assumptions, they decided to throw away what we have today and design a new system. Compatibility isn't an issue -- they are not in the product-building business. (Nor are they in the ``let's make another clever hack'' business.) Of course aspects of Plan 9 resemble the UNIX system quite strongly -- is it any surprise that Pike, Thompson, et al., think that that's a decent model to follow? But Plan 9 isn't, and is not meant to be, a re-implementation of the UNIX system. If you want, call it a UNIX-like system. Will Plan 9 ever be released? I have no idea. Will it remain buried? I hope not. Large companies do not sponsor large research organizations just for the prestige; they hope for an (eventual) concrete return in the form of concepts that can be made into (or incorporated into) products. --Steve Bellovin Disclaimer: this article is not, of course, an official statement from AT&T. Nor is it an official statement of the reasoning behind Plan 9. I do think it's accurate, though, and I'm sure I'll be told if I'm wrong... .DE .html ul .html - <a name="0.1.3" /> .ihtml h3 <h3> .SH 0.1.3 - Plan 9 is not for you .R .ihtml h3 .B Let's be perfectly honest. .R Many features that today's "computer experts" consider to be essential to computing (javascript, CSS, HTML5, etc.) either did not exist when Plan 9 was abandoned, or were purposely left out of the operating system. You might find this to be an unacceptable obstacle to adopting Plan 9 into your daily workflow. If you cannot imagine a use for a computer that does not involve a web browser, Plan 9 may not be for you. See: .ihtml a <a href="http://harmful.cat-v.org/software/"> http://harmful.cat-v.org/software/ .ihtml a .html - <a name="0.2" /> .ihtml h2 <h2> .SH 0.2 - Why Plan 9? .R .ihtml h2 You may ask yourself, well, how did I get here? In the words of Plan 9 contributor .ihtml a <a href="http://swtch.com"> Russ Cox: .ihtml a .html ul <ul> .QS Why Plan 9 indeed. Isn't Plan 9 just another Unix clone? Who cares? Plan 9 presents a consistent and easy to use interface. Once you've settled in, there are very few surprises here. After I switched to Linux from Windows 3.1, I noticed all manner of inconsistent behavior in Windows 3.1 that Linux did not have. Switching to Plan 9 from Linux highlighted just as much in Linux. One reason Plan 9 can do this is that the Plan 9 group has had the luxury of having an entire system, so problems can be fixed and features added where they belong, rather than where they can be. For example, there is no tty driver in the kernel. The window system handles the nuances of terminal input. If Plan 9 was just a really clean Unix clone, it might be worth using, or it might not. The neat things start happening with user-level file servers and per-process namespace. In Unix, /dev/tty refers to the current window's output device, and means different things to different processes. This is a special hack enabled by the kernel for a single file. Plan 9 provides full-blown per-process namespaces. In Plan 9 /dev/cons also refers to the current window's output device, and means different things to different processes, but the window system (or telnet daemon, or ssh daemon, or whatever) arranges this, and does the same for /dev/mouse, /dev/text (the contents of the current window), etc. Since pieces of file tree can be provided by user-level servers, the kernel need not know about things like DOS's FAT file system or GNU/Linux's EXT2 file system or NFS, etc. Instead, user-level servers provide this functionality when desired. In Plan 9, even FTP is provided as a file server: you run ftpfs and the files on the server appear in /n/ftp. We need not stop at physical file systems, though. Other file servers synthesize files that represent other resources. For example, upas/fs presents your mail box as a file tree at /mail/fs/mbox. This models the recursive structure of MIME messages especially well. As another example, cdfs presents an audio or data CD as a file system, one file per track. If it's a writable CD, copying new files into the /mnt/cd/wa or /mnt/cd/wd directories does create new audio or data tracks. Want to fixate the CD as audio or data? Remove one of the directories. Plan 9 fits well with a networked environment, files and directory trees can be imported from other machines, and all resources are files or directory trees, it's easy to share resources. Want to use a different machine's sound card? Import its /dev/audio. Want to debug processes that run on another machine? Import its /proc. Want to use a network interface on another machine? Import its /net. And so on. Russ Cox .QE .html ul .html - <a name="0.2.1" /> .ihtml h3 <h3> .SH 0.2.1 - What do people like about Plan 9? .R .ihtml h3 Descriptive testmony by long time Plan 9 users Charles Forstyh, Anthony Sorace and Geoff Collyer: .ihtml a <a href="https://9p.io/wiki/plan9/what_do_people_like_about_plan_9/index.html"> https://9p.io/wiki/plan9/what_do_people_like_about_plan_9/index.html .ihtml a .html - <a name="0.2.1.1" /> .ihtml h4 <h4> .SH 0.2.1.1 - What do you use Plan 9 for? .R .ihtml h4 .ihtml ul <ul> .QS if you dont know what this is usefull then its not for you .QE .ihtml ul See: .ihtml a <a href="fqa8.html"> .I FQA 8 - Using 9front .R .ihtml a .html - <a name="0.2.2" /> .ihtml h3 <h3> .SH 0.2.2 - What do people hate about Plan 9? .R .ihtml h3 .ihtml a <a href="http://jfloren.net"> John floren .ihtml a provides a humorous(?) overview of .ihtml a <a href="http://jfloren.net/b/2012/4/27/0"> a typical new user's reactions to Plan 9: .ihtml a .html ul <ul> .QS Hi! I'm new to Plan 9. I'm really excited to work with this new Linux system. I hit some questions. .br 1 How do I run X11? .br 2 Where is Emacs? .br 3 The code is weird. It doesn't look like GNU C at all. Did the people who wrote Plan 9 know about C? .br 4 I tried to run mozilla but it did not work. How come? .QE .html ul Is this guy you? Related: .ihtml a <a href="http://9front.org/buds.html"> http://9front.org/buds.html .ihtml a .html - <a name="0.2.2.1" /> .ihtml h4 <h4> .SH 0.2.2.1 - What is not in Plan 9 .R .ihtml h4 A summary of common features you may have been expecting that are missing from Plan 9: .ihtml a <a href="http://c2.com/cgi/wiki?WhatIsNotInPlanNine"> http://c2.com/cgi/wiki?WhatIsNotInPlanNine .ihtml a .html - <a name="0.2.3" /> .ihtml h3 <h3> .SH 0.2.3 - Why did Plan 9's creators give up on Plan 9? .R .ihtml h3 .html - <br /> .FG belllabs jpg All of the people who worked on Plan 9 have moved on from Bell Labs and/or no longer work on Plan 9. Various reasons have been articulated by various people. .ihtml a <a href="http://russ.cox.usethis.com"> Russ Cox: .ihtml a .html ul <ul> .QS I ran Plan 9 from Bell Labs as my day to day work environment until around 2002. By then two facts were painfully clear. First, the Internet was here to stay; and second, Plan 9 had no hope of keeping up with web browsers. Porting Mozilla to Plan 9 was far too much work, so instead I ported almost all the Plan 9 user level software to FreeBSD, Linux, and OS X. .QE .html ul Russ Cox .ihtml a <a href="http://marc.info/?l=9fans&m=126697423223383"> (again): .ihtml a .html ul <ul> .QS The standard set up for a Plan 9 aficionado here seems to be a Mac or Linux machine running Plan 9 from User Space to get at sam, acme, and the other tools. Rob, Ken, Dave, and I use Macs as our desktop machines, but we're a bit of an exception. Most Google engineers use Linux machines, and I know of quite a few ex-Bell Labs people who are happy to be using sam or acme on those machines. My own setup is two screens. The first is a standard Mac desktop with non-Plan 9 apps and a handful of 9terms, and the second is a full-screen acme for getting work done. On Linux I do the same but the first screen is a Linux desktop running rio (formerly dhog's 8½). More broadly, every few months I tend to get an email from someone who is happy to have just discovered that sam is still maintained and available for modern systems. A lot of the time these are people who only used sam on Unix, never on Plan 9. The plan9port.tgz file was downloaded from 2,522 unique IP addresses in 2009, which I suspect is many more than Plan 9 itself. In that sense, it's really nice to see the tools getting a much wider exposure than they used to. I haven't logged into a real Plan 9 system in many years, but I use 9vx occasionally when I want to remind myself how a real Plan 9 tool worked. It's always nice to be back, however briefly. Russ .QE .html ul Russ Cox .ihtml a <a href="http://marc.info/?l=9fans&m=126700061820789"> continues: .ihtml a .html ul <ul> .QS > Can you briefly tell us why you (Russ, Rob, Ken and Dave) .br > no longer use Plan9 ? .br > Because of missing apps or because of missing driver for your hardware ? .br > And do you still use venti ? Operating systems and programming languages have strong network effects: it helps to use the same system that everyone around you is using. In my group at MIT, that meant FreeBSD and C++. I ran Plan 9 for the first few years I was at MIT but gave up, because the lack of a shared system made it too hard to collaborate. When I switched to FreeBSD, I ported all the Plan 9 libraries and tools so I could keep the rest of the user experience. I still use venti, in that I still maintain the venti server that takes care of backups for my old group at MIT. It uses the plan9port venti, vbackup, and vnfs, all running on FreeBSD. The venti server itself was my last real Plan 9 installation. It's Coraid hardware, but I stripped the software and had installed my own Plan 9 kernel to run venti on it directly. But before I left MIT, the last thing I did was reinstall the machine using FreeBSD so that others could help keep it up to date. If I wasn't interacting with anyone else it'd be nice to keep using Plan 9. But it's also nice to be able to use off the shelf software instead of reinventing wheels (9fans runs on Linux) and to have good hardware support done by other people (I can shut my laptop and it goes to sleep, and even better, when I open it again, it wakes up!). Being able to get those things and still keep most of the Plan 9 user experience by running Plan 9 from User Space is a compromise, but one that works well for me. Russ .QE .html ul .ihtml a <a href="http://marc.info/?l=9fans&m=126704318227120"> Rob Pike: .ihtml a .html ul <ul> .QS What Russ says is true but for me it was simpler. I used Plan 9 as my local operating system for a year or so after joining Google, but it was just too inconvenient to live on a machine without a C++ compiler, without good NFS and SSH support, and especially without a web browser. I switched to Linux but found it very buggy (the main problem was most likely a bad graphics board and/or driver, but still) and my main collaborator (Robert Griesemer) had done the ground work to get a Mac working as a primary machine inside Google, and Russ had plan9port up, so I pushed plan9port onto the Mac and have been there ever since, quite happily. Nowadays Apples are officially supported so it's become easy, workwise. I miss a lot of what Plan 9 did for me, but the concerns at work override that. -rob .QE .html ul .html - <a name="0.2.3.1" /> .ihtml h3 <h3> .SH 0.2.3.1 - Why did Plan 9's users give up on Plan 9? .R .ihtml h3 .html - <br /> .FG suncart png They probably have their reasons. .html - <a name="0.2.3.2" /> .ihtml h3 <h3> .SH 0.2.3.2 - Why did CIA give up on Plan 9? .R .ihtml h3 .ihtml a <a href="https://www.muckrock.com/foi/united-states-of-america-10/foia-cia-plan-9-from-bell-labs-82547/"> https://www.muckrock.com/foi/united-states-of-america-10/foia-cia-plan-9-from-bell-labs-82547/ .ihtml a .ihtml h3 <h3> .SH 0.2.4 - What is the deal with Plan 9's weird license? .R .ihtml h3 .html - <br /> .FG intellectualproperty jpg Over the years Plan 9 has been released under various licenses, to the consternation of many. The first edition, released in 1992, was made available only to universities. The process for acquiring the software was convoluted and prone to clerical error. Many potential users had trouble obtaining it within a reasonable time frame and many complaints were voiced on the eventual .ihtml a <a href="fqa2.html#2.2.2"> Plan 9 Internet mailing list. .ihtml a The second edition, released in 1995 in book-and-CD form under a relatively standard commercial license, was available via mailorder as well as through a special telephone number for a price of approximately $350 USD. It was certainly easier to acquire than the first edition, but many potential users still complained that the price was too high and that the license was too restrictive. .html - <a name="0.2.4.1" /> .ihtml h4 <h4> .SH 0.2.4.1 - Richard Stallman hates the Plan Nine license (circa 2000) .R .ihtml h4 In the year 2000, the third edition of Plan 9 was finally released under a custom "open source" license, the .ihtml a <a href="https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#History"> Plan 9 License. .ihtml a .ihtml a <a href="https://stallman.org/"> Richard Stallman .ihtml a was not impressed: .html ul <ul> .QS When I saw the announcement that the Plan Nine software had been released as "open source", I wondered whether it might be free software as well. After studying the license, my conclusion was that it is not free; the license contains several restrictions that are totally unacceptable for the Free Software Movement. (See .ihtml a <a href="http://www.gnu.org/philosophy/free-sw.html"> http://www.gnu.org/philosophy/free-sw.html .ihtml a .) .QE .html ul Read more here: .ihtml a <a href="http://www.linuxtoday.com/developer/2000070200704OPLFSW"> http://www.linuxtoday.com/developer/2000070200704OPLFSW .ihtml a .html - <a name="0.2.4.2" /> .ihtml h4 <h4> .SH 0.2.4.2 - Theo de Raadt hates the Plan 9 license (circa 2003) .R .ihtml h4 In the year 2002, the fourth edition of Plan 9 was released under the .ihtml a <a href="https://code.9front.org/hg/plan9front/file/9ad06889a5d1/lib/legal/lpl"> Lucent Public License. .ihtml a This time, Theo de Raadt was not impressed: .html ul <ul> .QS The new license is utterly unacceptable for use in a BSD project. Actually, I am astounded that the OSI would declare such a license acceptable. That is not a license which makes it free. It is a *contract* with consequences; let me be clear -- it is a contract with consequences that I am unwilling to accept. .html ul .QE Read more here: .ihtml a <a href="http://marc.info/?l=9fans&m=111558887521594"> http://9fans.net/archive/2003/06/270 .ihtml a .html - <a name="0.2.4.3" /> .ihtml h4 <h4> .SH 0.2.4.3 - Everyone hates the Plan 9 license (circa 2014) .R .ihtml h4 In 2014, portions of the Plan 9 source code were again re-licensed, this time under the .ihtml a <a href="http://www.gnu.org/licenses/gpl-2.0.html"> GPLv2, .ihtml a for distribution with the .ihtml a <a href="http://en.wikipedia.org/wiki/University_of_California,_Berkeley"> University of California, Berkeley's .ihtml a <a href="http://akaros.cs.berkeley.edu/akaros-web/"> Akaros .ihtml a operating system. Predictably, various parties were not impressed. Russ Cox tried to make sense of the situation by commenting in a .ihtml a <a href="https://news.ycombinator.com/item?id=7232511"> Hacker News thread: .ihtml a .html ul <ul> .QS When you ask "why did big company X make strange choice Y regarding licensing or IP", 99 times out of 100 the answer is "lawyers". If the Plan 9 group had had its way, Plan 9 would have been released for free under a trivial MIT-like license (the one used for other pieces of code, like the one true awk) in 2003 instead of creating the Lucent Public License. Or in 2000 instead of creating the "Plan 9 License". Or in 1995 instead of as a $350 book+CD that came with a license for use by an entire "organization". Or in 1992 instead of being a limited academic release. Thankfully I am not at Lucent anymore and am not privy to the tortured negotiations that ended up at the obviously inelegant compromise of "The University of California, Berkeley, has been authorised by Alcatel-Lucent to release all Plan 9 software previously governed by the Lucent Public License, Version 1.02 under the GNU General Public License, Version 2." But the odds are overwhelming that the one-word answer is "lawyers". .QE .html ul Some have suggested that confusion about licensing may have contributed to Plan 9's failure to supplant UNIX in the wider computing world. .html - <a name="0.2.4.4" /> .ihtml h4 <h4> .SH 0.2.4.4 - PRAISE FOR 9FRONT'S BOLD ACTION RE: LICENSING .R .ihtml h4 Any additions or changes (as recorded in Mercurial history) made by 9front are provided under the terms of the MIT License, reproduced in the file .ihtml a <a href="https://code.9front.org/hg/plan9front/file/9ad06889a5d1/lib/legal/mit"> .CW /lib/legal/mit , .ihtml a unless otherwise indicated. Read: .ihtml a <a href="https://code.9front.org/hg/plan9front/file/9ad06889a5d1/lib/legal/NOTICE"> .CW /lib/legal/NOTICE . .ihtml a .html - <a name="0.3" /> .ihtml h2 <h2> .SH 0.3 - Further Reading .R .ihtml h2 .html - <a name="0.3.1" /> .ihtml h3 <h3> .SH 0.3.1 - Plan 9 papers .R .ihtml h3 Academic papers that describe the Plan 9 operating system are available here: .ihtml a <a href="http://doc.cat-v.org/plan_9/"> http://doc.cat-v.org/plan_9/ .ihtml a .html - <a name="0.3.2" /> .ihtml h3 <h3> .SH 0.3.2 - Man pages .R .ihtml h3 .ihtml a <a href="http://man.9front.org/1/"> Section (1) .ihtml a for general publicly accessible commands. .ihtml a <a href="http://man.9front.org/2/"> Section (2) .ihtml a for library functions, including system calls. .ihtml a <a href="http://man.9front.org/3/"> Section (3) .ihtml a for kernel devices (accessed via bind(1)). .ihtml a <a href="http://man.9front.org/4/"> Section (4) .ihtml a for file services (accessed via mount). .ihtml a <a href="http://man.9front.org/5/"> Section (5) .ihtml a for the Plan 9 file protocol. .ihtml a <a href="http://man.9front.org/6/"> Section (6) .ihtml a for file formats. .ihtml a <a href="http://man.9front.org/7/"> Section (7) .ihtml a for databases and database access programs. .ihtml a <a href="http://man.9front.org/8/"> Section (8) .ihtml a for things related to administering Plan 9. .html - <a name="0.3.3" /> .ihtml h3 <h3> .SH 0.3.3 - Web pages .R .ihtml h3 The official website for the Plan 9 project is located at: .ihtml a <a href="https://9p.io/wiki/plan9"> https://9p.io/wiki/plan9 .ihtml a Bell Labs Plan 9 wiki: .ihtml a <a href="https://9p.io/wiki/plan9/plan_9_wiki/"> https://9p.io/wiki/plan9/plan_9_wiki/ .ihtml a Much valuable information can be found at .ihtml a <a href="http://cat-v.org"> http://cat-v.org .ihtml a regarding aspects of UNIX, Plan 9 and software in general. .html - <a name="0.3.4" /> .ihtml h3 <h3> .SH 0.3.4 - Books .R .ihtml h3 .html - <br /> .FG books jpg .ihtml a <a href="http://plan9.stanleylieber.com/_books/comp/plan9/Introduction.To.OS.Abstractions.Using.Plan.9.From.Bell.Labs.draft.2007.pdf"> .I Introduction to OS Abstractions Using Plan 9 From Bell Labs, .R .ihtml a by .ihtml a <a href="http://lsub.org/who/nemo"> Francisco J Ballestros (nemo) .ihtml a .ihtml a <a href="http://plan9.stanleylieber.com/_books/comp/plan9/Notes.On.The.Plan.9.3rd.Edition.Kernel.Source.pdf"> .I Notes on the Plan 9 3rd Edition Kernel, .R .ihtml a by .ihtml a <a href="http://lsub.org/who/nemo"> Francisco J Ballestros (nemo) .ihtml a .ihtml a <a href="http://books.cat-v.org/computer-science/unix-programming-environment/"> .I The UNIX Programming Environment, .R .ihtml a by .ihtml a <a href="http://genius.cat-v.org/brian-kernighan/"> Brian W. Kernighan (bwk) .ihtml a and .ihtml a <a href="http://genius.cat-v.org/rob-pike/"> Rob Pike (rob) .ihtml a (this book is the most clear, concise and eloquent expression of the Unix and 'tool' philosophies to date) .ihtml a <a href="http://fqa.9front.org/book.pdf"> .I 9FRONT DASH 1 .R .ihtml a (the document you are reading right now, in book form) .html - <hr /> .html - <a href="fqa.html">FQA INDEX</a> | .html - FQA 0 - Introduction To Plan 9 | .html - <a href="fqa1.html">FQA 1 - Introduction To 9front</a>