There was once an operating system that was intended to be the successor to Unix. Plan 9 From Bell Labs was its name, and playing with it for five minutes is like visiting an alternate dimension where computers are done differently. It was so ahead of its time that it would be considered cutting edge, even today. Find out the weird and woolly history to Plan Nine’s inception and eventual consignment as a footnote of operating systems today.
Just for a reminder: It’s only 22 years until the number of seconds elapsed since the Unix Epoch creates the “Y2.038K problem.” That gives us roughly one generation left, give or take a year or two of comp-sci courses, to hash out a universal solution to the 32-bit signed integer time_t. In case you were running out of things to panic about. But that’s not the end of the time_t lifespan we’re going to look at today.
The fact that an operating system has no problem being associated with an exploitation flick about transsexualism should be a cue that this system was conceived without consulting the marketing department.”
The beginning of time_t was on January 1, 1970, when Bell Labs employees Ken Thompson and Dennis Ritchie plugged in the PDP-11 and fired up the prototype of the Unix operating system – to skim over some details. Unix has been the overwhelming uber-patriarch of the very concept of operating systems ever since, but Thompson and Ritchie weren’t quite satisfied with it and hankered to make a sequel. It took another decade for the notion to fester within that building in Murray Hill, New Jersey, which is forever consigned to look like a landing strip for flying saucers. Perhaps the science-fiction environment influenced their next inspiration. And so Plan 9 From Bell Labs was born.
Bell Laboratories, Murray Hill, New Jersey
No culture other than hardcore geeks could have put this together. The name is a shout-out to the infamous 1959 sci-fi turkey Plan 9 from Outer Space, directed by Ed Wood. Likewise, the cute little bunny mascot of the system became known as Glenda, also a shout-out to the 1953 Ed Wood movie Glen or Glenda. The fact that an operating system has no problem being associated with an exploitation flick about transsexualism should be a cue that this system was conceived without consulting the marketing department.
So, why make another operating system when you already have Unix? In part, it was felt that Unix, while based on solid ideas, didn’t go far enough with them. In Unix, almost everything should be a file; in Plan 9, everything is treated as a file, even hardware. Unix has great networking capabilities; Plan 9 is built with the assumptions of a distributed computing network baked in from the first boot. Unix, while frequently the butt of user-friendliness jokes, does at least make some concession to computing conventions; Plan 9 burns the rule book and starts over from scratch.
Get used to running Plan 9 long enough, and you will find yourself horribly ill-adapted for dealing with the normal world.”
The result was a mixture of both breathtaking efficiency and alienating other-worldliness. Trying out the system is like a visit to an alternate reality where time-traveling gremlins changed how computers are made and used. You can execute any command anywhere just by typing its name and middle-clicking on it, even in the middle of reading a file. You can type out your blog post in the middle of a man page and save it right there. Screenshots are made by pointing /dev/screen to a file. When you execute a program in a terminal, the terminal morphs into the program you launched instead of running in the background. The window manager, rio, can be invoked within rio to create an instance of itself running inside itself. You can just keep going like that, until, like Inception, you get lost in which layer you’re in. Get used to running Plan 9 long enough, and you will find yourself horribly ill-adapted for dealing with the normal world.
Here’s just a few of the key features under Plan 9’s hood
- 9P – The distributed file system protocol. Everything runs through this, there is no escaping it. Since everything runs on top of 9P, that makes everything running on a Plan 9 box distributed as well. This means, for example, you can import /dev/audio from another machine on the network to use its sound card when your own machine doesn’t have one.
- ndb – The namespace server. In conjunction with 9P, it bosses all the programs around and forces them to comply to the Plan 9 way.
- Instead of Unix sockets, all the networking just runs through 9P. Thus, everything from ethernet packets to network cards are all just one more kind of file.
- While Unicode is implemented ad-hoc in other systems, it’s baked into Plan 9 from the first int main(). In fact, even users who don’t like Plan 9 have to admit that the character encoding support, together with the beautiful built-in rio font, makes every other operating system look primitive.
- The system’s own internal programs are built to be a rounded set of user tools from the ground up. So, for instance, it comes with its own editor, acme, built to be its own weird morphing thing that plays nice with the 9P protocol.
That being said, Plan 9 has a number of downsides that turned out not to play very friendly with our modern computing culture. Running one Plan 9 box all by itself is a pretty miserable experience. While system administrators can’t stop praising it, the average home user won’t see much benefit unless they happen to run about eight desktop machines scattered all over. But to quote legendary hacker tribal bard Eric S. Raymond:
…Plan 9 failed simply because it fell short of being a compelling enough improvement on Unix to displace its ancestor.”
In other words, Unix was good enough for most people, and so the Unix-like computers marched on while the Plan 9 systems mostly lingered in obscurity.
Reviews of the system are few and far between these days. Here’s one, barely sketching the surface.
Plan 9 begat a commercial spin-off, Inferno, commercially marketed as a distributed cross-platform system. Besides this, Plan 9 never seemed to go anywhere special beyond the niche industrial use, and it quietly changed owners a few times before being released as open source forever. Today, even the original Bell Labs Plan 9 pages seem to be offline permanently. The dream pops as a soap bubble in the wind.
Plan 9 spent much of its life as a hobbyist and research system, more of a living laboratory for testing new concepts in computing than an operating system in itself. That being said, it has a fiercely defensive cult following today. Plan 9 did a few things very, very well, with an almost fascistic consistency, and those were things that needed doing. Just like its B-list movie namesake, Plan 9 has a narrow market share, but that share will march to war to fight for it. Many modern open-source projects today thrive around either extending Plan 9 or incorporating ideas from Plan 9 back into other systems.
So what’s this failure everybody’s talking about? It made us all think differently about computing, and wasn’t that what it set out to do? It could be that Plan 9 is simply so ahead of its time that we can’t tell whether it is simply humans that are too defective to adapt to Plan 9. Perhaps when the flying saucer people land, this will be the one marvel of Earth that convinces them to respect us.
Read more articles by Pete