Ask HN: Why isn't Plan9 popular?
96 points| justlearning | 15 years ago | reply
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
[+] [-] adbge|15 years ago|reply
- 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
[+] [-] __Joker|15 years ago|reply
[+] [-] konad|15 years ago|reply
[+] [-] unknown|15 years ago|reply
[deleted]
[+] [-] pwpwp|15 years ago|reply
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
[+] [-] dasht|15 years ago|reply
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
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
Can't wait to see what kernel programming in Go will be like.
[+] [-] jbarham|15 years ago|reply
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
[+] [-] davidw|15 years ago|reply
Also, does it solve any particular problem in such a way that it can't be ignored? Doesn't seem like it to me.
[+] [-] acqq|15 years ago|reply
http://www.gnu.org/philosophy/plan-nine.html
Once it became "free" it had too little functionality.
There's too little of the software and it's not so easy to port the existing Unix/Linux software:
http://plan9.bell-labs.com/wiki/plan9/porting_alien_software...
Moreover, very, very little of the hardware is supported.
[+] [-] kree10|15 years ago|reply
[+] [-] bediger|15 years ago|reply
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
[+] [-] mycroftiv|15 years ago|reply
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
- 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
Not really, Ken Thompson certainly contributed to it, but they didn't invent it.
[+] [-] runjake|15 years ago|reply
2. It's a research OS not necessarily meant for every day use.
[+] [-] protomyth|15 years ago|reply
[+] [-] SecurityMatters|15 years ago|reply
[+] [-] dasht|15 years ago|reply
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
[+] [-] hapless|15 years ago|reply
[+] [-] Paulomus|15 years ago|reply
[+] [-] CyberFonic|15 years ago|reply
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
[+] [-] Tamerlin|15 years ago|reply
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 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
[+] [-] Daniel42|15 years ago|reply
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