Friday, November 20, 2009

The Lessons of Plan 9

In 1969, two researchers in AT&T Bell Labs came up with an operating system that would influence the entire computer industry for years to come - this was called Unics, in spite of Multics. It was shortly after changed to Unix.

Unix has influenced every major operating system to date, and indeed, every major one except Windows is based off of it. It's combination of portability and usability has enabled it to flourish in many areas. Indeed, in the 1980s and thought the early 90s it was the most dominant operating system, but ultimately Windows succeeded due to the "Unix Wars".

But this is not about Unix specifically.

It is about Plan 9.

Plan 9 was conceived in the mid 1980s as a successor to Unix, from the same people who developed Unix. It was the epitome of the Unix philosophy - everything was represented as a file, every program did one thing, and did it well. It introduced "9P", a unified communication standard that allowed access to everything in the same way, and across the entire network. It was a fantastic system, far outpacing Unix and Unix-like systems in design.

But it had one folly, one flaw that could not be corrected by any amount of operating system design.

Unix.

It was inferior - Plan 9 was by far a greater system. The issue was that everyone used Unix - and no one thought that it was worth their time to upgrade, because Unix did the job well enough. Eric Raymond eloquently describes this in his book, The Art of Unix Programming:

"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."

And thus, another great advancement in computers was turned down, something that repeats itself it history many, many times, as we can see from Macintosh: it fails capture most of the market share for the very same reason.

It wasn't all useless, of course. From Plan 9 we got both the /proc filesystem (even though this was introduced in Version 8 Unix, is was expanded upon in implemented to a greater extent in Plan 9, and this is the version of /proc that most Unix-like systems use, or base their implementations off of) and we got UTF-8, which was made specifically for Plan 9.

But these are but the basic Milk Chocolate bar and Nutty Chocolate bar if Cadbury's were to go out of business.

And what can we take away from this?

Systems where the advantages cannot outweigh the cost of implementation will not succeed.

And this, of course, applies to Linux. And Macintosh.

Cost is not just monetary, it is in time as well. People do not take time if they can avoid it. Indeed, most people never change the operating system that comes with the computers that they purchase, and never will. Linux is at a major disadvantage here - it's market penetration preinstalled on computers is small, though the growing netbook sector is a huge boost, most people still opt for Windows.

Why?

It's because Windows works for them, and they have no need to change what they are doing.

Linux is undoubtedly better then Windows as an Operating System, and so is Macintosh. The issue is, no one cares. This is truth.

And indeed, for people that do switch, Linux is inferior for 90% or the population 90% of the time to Macintosh. Why? Macintosh is easier to use, it's more stable, and likely, faster (compared to Ubuntu, do to drivers). It also has a superior support network.

And that is why Linux will likely never be anything but the pet of Google - because even the mighty Canonical cannot implement the system to an extent that people will use it. Google will - the penetration of netbooks, coupled with Google vast resources and propaganda machine - will allow it be successful. Linux will still have the niche market of geeks, but for the majority, it will be something that relates to Google Chrome OS.

And indeed we can learn from Plan 9 that likely this hierarchy will change only rarely, and only because large companies are major supporters. Chrome OS will dominate for a long time to come, and Linuxes such as Ubuntu and Fedora and Gentoo will all stay in relative obscurity.

Why am I saying this? Do I detest this order?

No, not at all. It simply is. We should embrace our niche - not go around complaining that it is not big enough, as it likely will never be.

No comments:

Post a Comment