
Why Plan 9 is not dead yet and what we can learn from it (2005) [pdf] - nisa
http://www.cs.unm.edu/~fastos/05meeting/PLAN9NOTDEADYET.pdf
======
drsintoma
I up-voted this in "new" in the hopes of an interesting debate from smarter
people than me about why Plan 9 didn't succeed or what would it take for a new
OS to break the status quo. But 2 hours in, 0 comments. Is there really
nothing to say anymore about this?

Okay. here's a question: how would the world look like today had Android
started based on Plan 9 instead of Linux?

~~~
jeffreyrogers
My understanding of Plan 9 is that the primary benefits it brought are in its
ability to make a large collection of computers look like one unified system.
So rather than asking what would it look like if Android was based on Plan 9,
I'd think of it as: what would it look like if my laptop, TV, and smartphone
all ran Plan 9.

I think then you'd have a scenario in which, for example, you can pick up your
phone and tell your TV to start streaming some file you have on your laptop.
You can probably do this now using some collection of complicated programs
that you have to install, but with Plan 9 it would be easy since everything
appeared to be just one part of a larger computing system.

Or another example: you're working at your office with a desktop computer
running Plan 9. Then you leave the office for the night, but want to finish
something at home, so you open up your laptop and have access to all your work
files as if they are stored locally on your laptop. You just edit them in
place and the copy at work is automatically updated as you go.

So that's how things would be different I think. Not revolutionary, but
definitely an improvement on what we have now. (Note: I'm not a Plan 9 expert
and have never actually used it, however, I do find the ideas from it
interesting and have read a bit about it, so I think the above is fairly
accurate).

~~~
sampo
> _Then you leave the office for the night, but want to finish something at
> home, so you open up your laptop and have access to all your work files as
> if they are stored locally on your laptop. You just edit them in place and
> the copy at work is automatically updated as you go._

I do this all the time, Gnome file manager (Nautilus) mounts my work computer
over sftp with three mouse clicks (Connect to Server / select server /
Connect).

Granted, I can only work on the remote files in Nautilus, and with GUI
programs than I launch by right-clicking on the files in Nautilus. If I want a
command line, I need to do some other, but also simple, tricks.

~~~
rakoo
Plan 9 goes far beyond than that. _Everything_ can be shared automatically,
because everything is a file. Here are some scenarios that should be possible:

\- You can access files remotely automatically from any application (akin to
what sshfs does)

\- You can access non-files remotely automatically: a printer is just a fd you
write to

\- A GPU from a distant cluster is just a resource you can use as if it were
local (I'm speaking of implementation, not performance).

\- A mail service can be accessed on a mail server, which is itself not
connected to the wild internet but goes through a firewall... itself
accessible through the same file protocol. Oh and the mail you want to send
sits in your outbox on your phone, so you just grab it from your computer.

\- You can play the music that lives on your machine on the speakers anywhere
in your house by communicating with the remote fd

\- One of the dream of Rob Pike (co-inventor) is that you wouldn't need a
multi-core machine in your pocket for your mobile lives, you'd only need a
good connection so you can access all resources on any server that is
connected to the network. Your "smartphone" would then just be a terminal to
pilot all your resources.

All of this accessible with the same interface, available in the OS. It may be
have been a ludicrous dream, especially when we look at how much data would
have been shuffling between machines, but the prospect of such networking
still sounds awesome.

~~~
sampo
So, could we imagine a startup making Internet of Things, and smart homes, and
basing their tech on Plan 9 instead of Linux?

~~~
rakoo
At this point I'm not sure it's worth it. We've got far more covered by just
using a working Linux and taping specific protocols together than trying to
make Plan 9 even work everywhere (If we're talking IoT, we're talking exotic
hardware, so there's much much more chance Linux will need less work to be
adapted, if not already done)

On top of that, we already have some platforms to use on Linux: the Erlang VM
already has a notion of "global cluster of things" where the actual location
of a resource doesn't have an impact on how things are executed (other than
performance). The plan9 utilities are also partly ported to run on Linux;
maybe we could try to run services that speak 9p/9p2000/styx on top of Linux ?
That would be more useful.

------
lettergram
Interesting, one of my buddies (abdge on HN) ported Plan 9 to Gentoo in 2011.

[http://soc.dev.gentoo.org/~rps/plan9/](http://soc.dev.gentoo.org/~rps/plan9/)

It doesn't really seem "dead" (though close to it), it's interesting to me
that even 6 years after this post Plan 9 was still being ported.

To be honest, a fair amount of the good features have been ported from Plan 9
into Linux. I don't bother using Plan 9 personally because it doesn't have a
lot of the support I need, and many Linux distros support what I need.

However, if there more general support I would definitely use it, it's pretty
slick.

~~~
pmoriarty
You link to _" a Plan 9-inspired userspace on top of a Gentoo base system"_,
which was preceded by plan9port.[1][2]

But they're only a (admittedly important, but insufficient) subset of the Plan
9 operating system.

[1] - [http://swtch.com/plan9port/](http://swtch.com/plan9port/)

[2] -
[https://en.wikipedia.org/wiki/Plan_9_from_User_Space](https://en.wikipedia.org/wiki/Plan_9_from_User_Space)

------
stinos
I only encountered Plan 9 once, and then only the header inclusion scheme it
promotes for it's C code. Which IIRC goes like 'header files must not include
other header files hence every source file has to include the headers for all
declarations used in that source file and in the headers it includes'. Which
means when for any header file you want to include in your source you have to
go figure out which headers are needed to pull in all declarations. For every
single soure file. I really failed to see how any possible benefits of that
would outweigh the cons.

~~~
andrewchambers
I wouldn't be surprised if plan9 builds are an order of magnitude faster per
LoC - Deeply nested includes and cyclic includes waste a huge amount of time.

Avoiding cyclic dependencies might also be a good thing in terms of overall
software design.

~~~
f2f
plan9 kernel builds take less that 10 seconds.

~~~
andrewchambers
Yeah, this is awesome... If gcc or the linux kernel compiled in 10 seconds,
the world would be a better place.

------
pmoriarty
From page 18:

    
    
      - But it [Unix] lacked an active data model
        - Farber suggested this in 1978 and we all thought it made no sense
        - He was right, as usual
    

Does anyone know what this refers to?

Any articles on it I could read?

~~~
theoh
Absence of a built-in simple database model, I think. The unix way is to use a
flat file, which turned out in the long term to be inadequate. Part of the
underlying reason for systemd on Linux is that people want to configure their
system with a robust database, not shell scripts or ad-hoc text file formats
which must be edited by hand, or by custom database drivers (like Berkeley
DB). Proplist might be another partial solution to this requirement on systems
which lack an active data model. BeOS had a strong database-like file system
which may address the same thing.

See
[http://martinfowler.com/articles/languageWorkbench.html#Acti...](http://martinfowler.com/articles/languageWorkbench.html#ActiveDataModels)

------
erik14th
I guess this might be interesting on the matter of why new operating systems
didn't succeed:

[http://doc.cat-v.org/bell_labs/utah2000/utah2000.html](http://doc.cat-v.org/bell_labs/utah2000/utah2000.html)

Bottom line is unix is good enough and no one is interested in the effort/risk
it'd take to develop something significantly better.

------
Lerc
Architecturally I very much like the look of plan9. From a user interface
perspective it's the pits. The UI seems to be anchored to the work-flow of the
initial developers.

The last problem is a hurdle that that all good operating systems with fewer
than a hundred million installs face. Driver support.

Plan9 with a Wayland style compositor supporting hardware acceleration could
be a base for some cool new directions in UI. A Raspberry PI running Plan9
with a spiffy accelerated compositor and plan9ish file-framebuffer-windows
would be enough to convince me to dive in and have a play around.

~~~
rcarmo
I keep a Raspberry Pi on my desktop with plan9front because slow as it is,
it's still the fastest way to get a VNC/ssh client going, but I don't think
Wayland would be much of an improvement (although anything is better than Rio
at this point).

The problem here is that most of the plan9 community is too set in their ways
to counter the dogmas around, say, Acme and three-button mouse usage (just to
use an example that is UI-related but not strictly about the environment) or
has moved on.

Mind you, plan9front is still being maintained (and fixed, including EFI and
64bit stuff), but people doing UX and graphics seem to be in short supply in
that neck of the woods.

------
technofiend
Have you ever gotten in-between a bunch of siblings fighting? They're all mad
at each other until an outsider comes in and then suddenly there's a unified
front against the new guy.

I blame the ultimate demise of commercial unix on infighting between HP, Sun,
Cray, Digital, Tandem and everyone else who had a better idea of what UNIX
should look like: i.e. how their UNIX was perfect in every way and safe to
lock into because it addressed all your needs.

I remember impassioned arguments about whether HP-UX or Solaris was the better
server to host Sybase or Oracle because the developers of said products
developed on one first and ported to another, or so it was said.

When I tried to show Linux to my peers in the early 90's it was "Meh,
proprietary hardware is better than PC hardware, why would we use that?"
Eventually as we all know commercial Linux won the day over pretty much
everything else.

I also tried to show people Plan 9 and was again shot down by people who
lacked vision, but this time they were right. The only thing it seems most
UNIX family members agree on is Plan 9's the red-headed cousin every UNIX
vendor hates.

For me it had echoes of Apollo's open namespace concept on their OS. But as
others have stated a) it didn't have any compelling reasons to adopt it over
standard UNIX for an average business, b) it had a bunch of UI quirks that
only a mother could love.

I still think we have things to learn from Plan 9 if you take the open
namespace concept and wrap it in a container. My company (a Fortune 50) is
getting rid of laptops, privileged remote access (no root over VPN) and even
desktops (most everyone's hosted on virtual desktops now.)

Why not give me access to a desktop wrapped in an encrypted container? I boot
their OS, it establishes contact with a server that verifies my boot-disk is
uncorrupted and then downloads whatever I need to work inside the container,
but once I'm done it's all destroyed until next time?

I can operate inside my employer's namespace but once the access is gone there
are no local traces? _shrug_

Anyway back to Plan 9, it was good. It wasn't great enough to make anyone
switch.

------
lectrick
Plan9's successful implementation of the "everything is a file" abstraction
has yet to be seen in popular unices... I wish it weren't so, it's a beautiful
and simplified abstraction compared to what we commonly have today.

Also, its namespacing, and a few other opinionated ideas...

------
frou_dh
When I checked out Plan 9 it felt like like walking around a dim and dusty
abandoned palace. Eerie thing.

------
gulfie
We can learn that doing the right thing technically is often not done in
business.

QNX is another great example of awesomeness squandered.

~~~
jacquesm
QnX is doing fine though. Not as good as it could be doing but it's really
doing more than ok. Wished that RIM would have the foresight to open source
it.

------
eruditely
Plan9 is not dead because Urbit.

~~~
Igglyboo
I'm still convinced Urbit is some sort of elaborate ruse, I feel like most of
the HN crowd feels the same.

