
Plan 9 from Bell Labs (1995) - shawndumas
http://plan9.bell-labs.com/sys/doc/9.html
======
jff
Plan 9 pops up on the front page from time to time, and I see a lot of people
expressing a lot of misconceptions about it. I know there are at least 2 or 3
other Plan 9 users on this site, and they help try to clear up some of the
questions.

I've done quite a bit of poking around in Plan 9, but of course I don't know
all of it. I've hacked in the kernel and worked on the 64-bit version as well,
I've fooled with the compilers, and I've hacked on the window manager.

If anyone wants to ask questions about some aspect of Plan 9, I'll do my best
to answer--and if I can't, I bet others can jump in and take over. It would be
great to clear up some of the misconceptions, myths, and FUD!

~~~
zheng
Ok, first question, why aren't we all using Plan 9 instead of a linux-based
OS? Maybe more importantly, what could the next upstart kernel/OS do different
than Plan 9 if it wants to be more successful?

~~~
noselasd
* It's not enough to be better to displace something ubiquitous (as unix like systems are today). You likely have to be orders of magnitude "better".

* Do not be hostile to your potential users. (The community that formed around Plan 9 as it went open source were quite hostile, there's no need for public beatings just because someone suggests to port X11 to Plan 9 even if it's a bad idea).

~~~
davidw
> The community that formed around Plan 9 as it went open source were quite
> hostile

I remember at FOSDEM a few years back, there was this Spanish dude and some of
his friends, who were frothing-at-the-mouth fans of Plan 9, and, as they
became progressively more inebriated in the place where a bunch of us were
staying, he kept ranting louder and louder (and more by himself) about the
perceived injustices and deficiencies of a world where Linux was more popular
than something so beautiful, so elegant, as Plan 9.

It was ... a bit disturbing to watch. That kind of passion should be reserved
for relationships with other people.

I think part of the problem with its diffusion was that it only became free
software a decade _after_ Linux, with no clear niche to attack (see: Crossing
the Chasm) and make its own.

~~~
mennis
I like how you use "perceived" to modify Linux's deficiencies but "frothing-
at-the-mouth" to describe individuals whose perspectives differ from yours.
It's just so nicely objective.

~~~
davidw
Reading comprehension: "perceived" refers to the "injustices of a world ..."
in my comment. Also, I've met plenty of people who disagree with me who don't
froth at the mouth. For instance, BSD vs Linux used to be a Topic of Debate on
the internet, and often the BSD guys would be fairly rational about what they
preferred (of course some of them frothed too, just like some of the Linux
fans).

------
krevmax
Reading through the archives of the Plan 9 mailing list at
<http://9fans.net/archive> you can follow along with the progress of Linux and
the web as they completely displaced and then decimated operating systems
research, culminating in famous Pike's utah2000 paper. You see each casual
user show up on the mailing list demanding "modern" features, arguing about
the license, screeching about security "holes" they don't understand, before,
ultimately, declaring that they are retreating to Linux (or, later, Mac OSX),
where at least they can play Flash games and login to turbotax.com and watch
Youtube videos.

------
jfb
I wish it had stuck.

In a related vein, I idly wonder if there's a project around intended to bring
useful security to a practical Unix derivative. Nobody uses a big timesharing
box any longer (for all reasonable definitions of nobody); and the protections
mooted to keep "users" away from "wheel" are basically pointless and
counterproductive in a world where attacks come from outside. Apple's code-
signing is one reaction to this new reality; what's the current status of
capability based systems?

~~~
deno
You can do quite a bit in Linux with CGroups and SELinux. Projects making good
use of those are Fedora, Systemd and Chromium browser.

~~~
jfb
I'll check it out. Next up, doing away with POSIX.

~~~
jff
POSIX defines a pretty good framework, which is why Plan 9 is POSIX-ish. They
changed things that they thought needed improvement. I just wanted to point
out that doing away with POSIX merely to do away with POSIX isn't necessarily
wise; if you don't have a better idea to use instead, you'll just end up
reimplementing much of POSIX under another name.

------
obsidian123
I sent an email to Bell Labs a couple of weeks ago suggesting that Plan 9 be
released as "public domain" code. I even suggested that this could be a great
way to honour the late Dennis Ritchie (who worked there, of course), getting
the code "out there" for all and sundry to use, no strings attached.
Unfortunately, I didn't get a reply, so I guess the email was deleted without
being read. ( Probably thought "Arrrrgh! Another one of those P.D. zealots!" )
( And they'd be right.... ;) )

I just think it is TRAGIC and a HUGE waste that such an elegant and
beautifully-designed OS as Plan 9 continues to basically sit in a backwater,
ignored and unused by almost everyone. And it is sitting there when I am
_convinced_ that a P.D. release would see its use rocket into the
stratosphere.

 __What would be the harm __in releasing it to the public domain? It is
already open-source so it's not as if any revenue would be lost. It would be a
good P.R. opportunity for Bell Labs too (and as I say, a nice way of honouring
D.R.

Let's face it - if Unix itself had been released as P.D. in the first place,
then there would have been no need to reinvent it (as with the BSDs and
Linux). It could simply have been continually improved upon. That's where I'm
"coming from", as it were.

SQLite shows what is possible with P.D. code. It is apparently used in darned-
near every smartphone out there, so it's not as if companies won't use P.D.
code if it is good enough. If it meets their needs, they will go for it.

~~~
4ad
The LPL which Plan 9 now uses is basically equivalent to the BSD licence. It's
non-viral.

------
mseepgood
The linked text is from the 90s. Not exactly news. But Plan 9 was a big
improvement over Unix. Unfortunately, good things are often ignored.

~~~
sp332
A lot of the ideas in Plan 9 were ported to Linux. UTF-8, the /proc
filesystem, and the idea of union filesystems. Also Plan 9 is arguably better
because of what's _not_ in it <http://c2.com/cgi/wiki?WhatIsNotInPlanNine>

~~~
4ad
/proc in Linux is nothing like /proc in Plan 9 though. Not only that the
exported files are completely different conceptually and in their internal
format, but on Linux I can't bind /proc from another box and do remote
debugging with tools that know nothing about where the process runs.

Also Linux union mounts are clunky and not as useful as they are in Plan 9
because you can't have private namespaces if you are not root.

------
specto
One of my friends from University developed quite a bit for Plan 9. It's
nostalgic to see this again.

~~~
f2f
what university was that?

------
bbguitar
Phew, Nostalgia indeed. I looked a Plan 9 back in late 90's when we were doing
research for alternative OS's and ways of sharing stuff securely across a
network without the cruft of DFS...

It had a lot of promise. What did become of it I wonder?

~~~
dleimbach
Coraid ships ATA over ethernet storage based on Plan 9.

Bell Labs still uses plan 9 internally and develops it.

9front is a community fork of Plan 9 with a bunch of interesting changes.

There's a small but interested community of die-hard plan 9'ers that care
about it, and the principles it set forth. A lot of it came from some very
good, very sane development with people who often spend more time thinking
than coding (a virtue we could all benefit from I think)

------
rjzzleep
it's a shame the first paragraph is exactly what we're once again moving away
from. all hail cloud computing

------
codgercoder
And the relationship to Inferno is...?

~~~
catenate
Inferno is kind of like Plan 9 running on a VM, with its own peculiarites like
a really nice shell language. Having a VM, versus integrating with the host os
like plan9port or cygwin, lets you use new features of the os like directory
binding and the /env directory of shell variables. There's an os command to
run programs on the underlying host, be it windows, windows with cygwin, or
linux.

------
scarmig
Let me know when they release a decent editor for it...

~~~
jff
As gchpaco points out, both sam and acme are pretty usable. Acme makes a good
enough programming editor that I use it for all my coding at work, while I
keep a tarball of the original sam port on a server for those times when I
have to use a system with a crappy version of vi and no admin privileges to
install something better.

Oh, and you can run Vim on Plan 9 now. But it's kind of like visiting a
foreign country and eating only McDonalds.

~~~
catenate
I used emacs for 11 years (93-04) and then acme-like editors (wily, plan9port
acme, Acme SAC, Inferno acme) for 8 years (04-). Acme (especially guide files)
made a distinct and pervasive change to my working style that emacs never did:
sped me up, prevented me from forgetting, gave me help just when I need it,
and reduced errors. Inferno's VM gave me a minimal unix environment whose
executable and my scripts I can take via usb to clients' machines.

~~~
agumonkey
Is there any articles about workflow/philosophy of sam ? I recall stumbling
upon few videos, too introductory to be interesting compared to the emacs/vim-
fu we're used too nowadays.

~~~
catenate
<http://doc.cat-v.org/plan_9/4th_edition/papers/sam/> reproduces the original
paper by Rob Pike, which goes into some detail, and at length.
<http://sam.cat-v.org/> collects links to sam implementations, papers, and
paraphernalia (such as ssam, which I originally wrote with Russ Cox). To
better learn sam in a workaday role, figure out why the sam idioms at
<http://sam.cat-v.org/cheatsheet/> work (I have Acme versions of many of these
at [https://raw.github.com/catenate/acme-
fonts/master/test/1/acm...](https://raw.github.com/catenate/acme-
fonts/master/test/1/acme/Edit/sam)).

