top | item 1732404

Ask HN: Why isn't Plan9 popular?

96 points| justlearning | 15 years ago | reply

Hello, I don't have an elaborative question. I 'discovered' Plan9 yesterday. It seems like Plan9 was the successor to Unix. So why don't we see it in the mainstream?

What seemed intriguing to me was that for the last 8 years with all the linux/unix around, I never came across any references in - books/blogs/articles.

link: http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs

80 comments

order
[+] adbge|15 years ago|reply
"Plan 9 failed simply because it fell short of being a compelling enough improvement on Unix to displace its ancestor. Compared to Plan 9, Unix creaks and clanks and has obvious rust spots, but it gets the job done well enough to hold its position. There is a lesson here for ambitious system architects: the most dangerous enemy of a better solution is an existing codebase that is just good enough."

- Eric S. Raymond

It's worth noting that Plan 9/Inferno are cited pretty regularly in computer science papers and a number of the ideas of P9 have been absorbed by Linux, such as representing 'everything' with the filesystem. Last I checked, the 2.6.x kernels also support the P9 protocol.

"...for the last 8 years" Yeah, well, Plan 9 hasn't had an official release since 2002.

[+] icco|15 years ago|reply
Ya, I had never heard of Plan 9 until I started doing graduate work, and then one in ten papers somehow referenced plan 9, and almost every single operating system paper references it some how.
[+] __Joker|15 years ago|reply
How true, IE6 used to have a large market share( may be still has considerable market share ) only because for all of its short comings, it gets the work done.
[+] konad|15 years ago|reply
Plan9 doesn't have releases, it has continual development.
[+] pwpwp|15 years ago|reply
A lot of Plan 9 innovations have appeared in Linux. One of the outstanding issues are union aka. overlay filesystems, and these are currently being addressed.

That said, Plan 9 seems to see continued use in some niches. For example, Plan 9 has been ported to Blue Gene.

(What's kinda cute is that the Plan 9 kernel (including TCP and such) has fewer lines of code than the Ruby parser, 8000 vs 10000, IIRC.)

[+] kunley|15 years ago|reply
I'd add union/overlay filesystems are in FreeBSD since at least 6.1 and became stable ca 2007. I use this stuff quite often.
[+] dasht|15 years ago|reply
(In my opinion) Here's a bunch of reasons why Plan9 isn't popular, and then a reason or two why something like it likely will be before too long:

The first obvious answer (also mentioned in other comments) is because "Systems Software Research is Irrelevant". See Rob Pike's paper by that name: http://herpolhode.com/rob/utah2000.pdf

To the reasons Pike offers there, I'll add:

1. The companies that owned the software had poor strategies for encouraging widespread adoption, if that was even ever their goal.

2. The first dot-com boom ca 2000 greatly expanded the IT / programmer workforce and (I claim) significantly dumbed it down. The advantages of a new operating system lack economic impact until a huge number of programmers are trained to use those advantages. We have huge sunk costs invested in maintaining a huge supply of mostly weakly skilled programmers and admins, a sort unlikely to adapt to and adopt a new OS.

3. In a related way, the sectors that could in principle drive something like Plan 9 adoption are heavily invested, by now, in massive amounts of bloatware that, dysfunctional as it is, is both critical and non-portable.

4. Modern hardware is fast enough that fairly high level programming languages and environments tend to dominate. These often include a "least common denominator" view OS capabilities so that programs port easily among Windows, Linux, Unix, MacOS, etc. This hurts demand for OS features other than the "least common denominator".

-----------------

Why it might get better:

Notice that none of the reasons listed above apply to a market niche like "the OS for Google's clusters" or, say, massive clusters providing an SQL-based RDMS.

On clusters like that:

1) You don't need a mass audience of buyers for a new OS. One or a few big customers will be plenty.

2) You don't care about hordes of cheap, weakly skilled programmers. Paying experts is peanuts compared to your hardware, power, and real estate costs.

3) You're not tied to bloatware. You need only run a few things very, very well.

4) You don't need to do "least common denominator" programming and, in fact, any new OS feature that can save you some $s per server-hour is potentially a huge win.

My betting money is that Pike et al. will produce YANOS (yet another new OS), quite possibly mostly written in the Go programming language, really well suited for huge compute clusters.

[+] IdeaHamster|15 years ago|reply
I'd put more money on enough people finally paying enough attention to DragonFlyBSD for it to really gain traction.

Check out the blurb on their main page (http://www.dragonflybsd.org/):

The DragonFly project's ultimate goal is to provide native clustering support in the kernel. This involves the creation of a sophisticated cache management framework for filesystem namespaces, file spaces, and VM spaces, which allows heavily interactive programs to run across multiple machines with cache coherency fully guaranteed in all respects. This also involves being able to chop up resources, including the cpu by way of a controlled VM context, for safe assignment to unsecured third-party clusters over the internet (though the security of such clusters itself might be in doubt, the first and most important thing is for systems donating resources to not be made vulnerable through their donation).

If anyone truly "gets" cloud computing, it's these guys. And they have the advantage of not being quite as big of a jump from existing systems as Plan 9 is.

[+] stcredzero|15 years ago|reply
My betting money is that Pike et al. will produce YANOS (yet another new OS), quite possibly mostly written in the Go programming language, really well suited for huge compute clusters.

Can't wait to see what kernel programming in Go will be like.

[+] jbarham|15 years ago|reply
IMO Plan 9 didn't gain critical mass because Unix is still "good enough". It's also very difficult to keep current with hardware drivers for a niche OS.

However, there are some things that came from Plan 9 that are very much mainstream, the most notable being UTF-8 which was invented by Ken Thompson and first implemented on Plan 9. Linux's clone(2) system call is obviously inspired by Plan 9's rfork.

And one could argue that the Go language is a spin-off of Plan 9 as it's substantially implemented by Plan 9 refugees to Google (Ken Thompson, Rob Pike, Russ Cox) and is explicitly descended from other languages that came out of Bell Labs (Newsqueak, Alef, Limbo). Of course whether Go will be a success is an open question, but I think its chances are as good as any other equivalent language.

[+] TallGuyShort|15 years ago|reply
Speaking of Plan 9 and Go, I have to ask the same question: why isn't Go more popular?
[+] davidw|15 years ago|reply
They open sourced it too late for it to get much traction, I think.

Also, does it solve any particular problem in such a way that it can't be ignored? Doesn't seem like it to me.

[+] kree10|15 years ago|reply
I think you're right. Plan9's first "public" (to universities only) release was 1992, when Linux was just getting off the ground and the FreeBSD & NetBSD projects did not yet exist. People interested in Linux or 386BSD at the time would have probably tried Plan9 if they could have.
[+] bediger|15 years ago|reply
It's worth looking at Rob Pike's (one of the Plan 9 inventors) paper, "Systems Software Research is Irrelevant": http://herpolhode.com/rob/utah2000.pdf

My own view is that Linux is Good Enough for most people. And that "good enough" beats "better", at least for most values of "better". This is an admission that "path dependence" matters for the operating system market, and that network effects can cause the appearance of market failure.

[+] jbarham|15 years ago|reply
FWIW, if you're interested in Plan 9 it's also worth checking out Plan 9 from User Space (http://swtch.com/plan9port/): "Plan 9 from User Space (aka plan9port) is a port of many Plan 9 programs from their native Plan 9 environment to Unix-like operating systems."
[+] mycroftiv|15 years ago|reply
I use Plan 9 extensively and intensively, and I believe there are multiple reasons why it is comparatively little-known and little-used. I think the most important reason is the historical conflict over software patents between Rob Pike and Richard Stallman, and the cultural rift that it represented. Plan 9 is now under a pretty decent permissive license, but it still doesn't really function in the manner of a conventional open source operating system project. By the time Plan 9 was under a decent license, the mindshare of FOSS developers and the corporate ecosystem were already completely committed to other projects.

Plan 9 is still relevant and interesting and useful for some tasks. It may still be ahead of its time. Plan 9 has had data deduplication for about a decade, years before network data dedupe storage appliances became an important product. The Linux kernel is still struggling to figure out a decent way to implement union directories in filesystems, but unions have been working elegantly in Plan 9 since its early days.

[+] gchpaco|15 years ago|reply
My theory is this:

- too weird - Plan 9 is very difficult to get used to as a user experience. Novel, fascinating, powerful, yes! But also minimal, impenetrable, and very very different from the UI you're used to as a Unix hacker.

- nonexistent marketing

- too hard to get into initially; I wish they had gone to a public source repository model earlier, although in all fairness the project predates a lot of this.

But, it was still an enormous success:

- UTF8 came from Plan 9

- Linux's clone syscall

- /proc

- numerous other minor things

The main thing I wish I saw more that was in Plan 9 was structured regular expressions. I'd love an awk based around them, or an ssam that didn't basically run sam on the file. The second thing I wish I saw more was Plan 9's per-process filesystem namespaces. Chroot and jail are crude hacks compared.

[+] joey_bananas|15 years ago|reply
> - UTF8 came from Plan 9

Not really, Ken Thompson certainly contributed to it, but they didn't invent it.

[+] runjake|15 years ago|reply
1. It's not marketed -- professionally or at a grassroots level.

2. It's a research OS not necessarily meant for every day use.

[+] protomyth|15 years ago|reply
I totally agree. From the one-off-not-quite-compatible license to no marketing from Lucent to no real niche to lets try Limbo, Plan 9 never got a firm base with marketing.
[+] SecurityMatters|15 years ago|reply
Howdy, I installed Plan 9 several years ago(close to 10, if I remember correctly). I thought it was interesting, but it had a few problems. 1. It was too hard to install. I figured it out, but it was difficult enough that I thought I would not be able to recommend it to many others, unless they were fairly advanced. 2. The supported hardware list was too small. Mostly, this was a problem with supported nics. On a system like Plan9, a system without a good NIC is pretty useless. 3. The community of users was too small. I did not find any other local users. I found a small community of online users, but they only seemed interested in using Plan9 to break into systems and that did not interest me. I should probably try it again, since many of these things could have improved. I have also used Inferno a bit on a prototype ATT phone and I would like to program that a bit. Linux ended up having most of what I wanted Plan9 for and that is probably why I have not tried it for so long.
[+] dasht|15 years ago|reply
I earlier posted reasons why (IMO) Plan9 "failed" but will likely (in a new form) succeed on big compute clusters.

The other possible place for a big breakthrough is mobile. For example, if all of your "apps" are in Java and those apps hardly ever touch traditional unix system calls, it is easy to knock a Linux or Windows OS out from the bottom of the stack.

[+] leif|15 years ago|reply
Same reason the Hurd never materialized. Linux was good enough that nobody cared to put in the massive effort required to make the slightly better solution industry-strength. It's something like the death by a thousand cuts, only in this case, the thousand cuts are unsupported hardware and silly programs that don't have ports or package maintainers, but that people still want anyway. BSD gets away with being the unpopular but probably better alternative to Linux by a massive effort to port all linux software to it, and a great linux compatibility layer for things that aren't ported.
[+] hapless|15 years ago|reply
Hurd was never fully functional. It never worked well enough to have an opportunity to be rejected for being weird.
[+] Paulomus|15 years ago|reply
I think it is significant that both Unix itself and Linux were category killers. Unix succeeded because people kept going "Wow, there's nothing like this!" and writing in to get it, copying it passing it on to other people. When Linux took off, there was no Free-ly available Unix-like OS (at that time). Linux quickly gathered a critical mass of users who saw it as something like the answer to their prayers. I guess the strengths of Plan9 were not such as to create a new category for itself, and its flaws made it an unsuccessful competitor against existing Unix-like systems.
[+] CyberFonic|15 years ago|reply
I've worked with Plan9 and Inferno. I think they both failed for two reasons:

1. lack of device drivers for commonly found hardware at the time.

2. Ugly looking graphics and desktops and difficult (relative to what was widely used at the time) to use as well.

IBM's use of Plan9 with BlueGene uses the server side benefits so they need only a small number of custom device drivers and the GUI is not used at all.

[+] tomotomo|15 years ago|reply
Similar situation to why weren't other featureful alternative OSs more popular? Like BeOS? Imagine how different today's world would be if Apple had bought BeOS instead of NeXTSTEP (which included Steve Jobs)? Often it's some large corporation's decisions that dictate what technology gets adopted, what fails.
[+] Tamerlin|15 years ago|reply
Be did a couple of things that prevented BeOS from going anywhere.

One was basing the machine on PPC processors initially, because it limited their audience. I thought it was a cool idea, but wasn't willing to buy outdated hardware to get the OS. Mac users at the time could have simply acquired the OS and installed it, but the number of mac users willing to do that wouldn't ever be large.

One was not supporting IDE when they ported to x86. When they finally went after a large market, they made sure that hardly anyone in that market COULD use it. I had to do a lot of finagling with my computer in order to install BeOS on it.

AFAIK Apple actually DID try to buy Be before going after NeXT once they realized that Rhapsody simply wasn't going to happen. I've heard a number of stories regarding this, and I don't know which to believe; I was informed that the Be CEO rejected Apple's offer. If someone has better knowledge of that part of history than I and can confirm or correct me, that would be appreciated :)

[+] Aegean|15 years ago|reply
It's because Unix has become very popular and it is good enough for mainstream use despite its flaws. Plan 9 brings certain design improvements but they don't actually justify a need for replacement.

It's actually not that surprising since good design on its own is never a sufficient criteria for something to become mainstream.

[+] onewland|15 years ago|reply
I use the wmii window manager which is based off some Plan9 principles. Surely you wouldn't bring it home to grandma, but for fast efficient use of screen space with a keyboard I think it's hard to beat.
[+] Daniel42|15 years ago|reply
Glenda is super cute but did you try to use Plan9? I give it a small try last year and well... GNU/Linux is mainstream, FreeBSD is a really good derivative of Unix too, OpenBSD is great when we want to have a secure OS... NetBSD would probably run on my toaster... But Plan9? It have a cute mascot.

Oh and I really like its name and the "Plan 9 from User Space" thing, especially after having seen the fabulous movie! But I think of it only as a cool thing to know, never seriously think about using it in place of a GNU/Linux or a *BSD. (same thing for Open Solaris too in fact)

[+] ww520|15 years ago|reply
One killer setup for Plan9 would be to package it up as a VM and distribute it. May be Amazon can pre-create some Plan9 EC2 images.