4 ms·
First, one should note that this is a chapter (or section) of "The Art of Unix Programming", by esr; it is a fantastic book (I'm going through it now, on chapte
by pavpanchekha 15y ago
First, one should note that this is a chapter (or section) of "The Art of Unix Programming", by esr; it is a fantastic book (I'm going through it now, on chapter 9 of 20, and the wisdom has been near-palpable).
As for the specifics of the article. Plan 9 did indeed do many things right; in fact, many things are done in a very Unixy way. For example, the networking stack is build precisely where it ought to be: as a detail below a powerful network protocol (9P) which can be made as transparent or concrete as necessary (one can easily write individual TCP or UDP packets using the file system; just as easily, you can network-export any file system).
Similarly, Plan 9's handling of security, in particular the elimination of the superuser, was fantastic. And while I in particular disagree with the approach Plan 9 takes to the GUI, it is certainly a consistent, powerful, and inspired model. And a variety of its other ideas, such as UTF-8 and the /proc and /sys file systems, have worked their way into modern Unixes such as Linux.
Now, Plan 9's failure has been aptly explained elsewhere, in particular in the article linked. But, being somewhat old (2004, I believe; though when that particular section was written I do not know), it makes the prediction that Unixes will eventually come to absorb all of the Plan 9 features. Instead, it looks like the Linux kernel, at least, has mostly given up on ever implementing union mounts (one of the most inspired of Plan 9's innovations, at least in my view). And while the /net file system is incredibly useful, its power is much diminished when you can't assume that the world speaks 9P, which will seemingly never be the case. And a variety of Plan 9's choices are impossible without ignoring POSIX compatibility, which causes problems of its own.
Unix rode the growth of servers in the seventies and eighties, and is by now rather entrenched (see the History chapter in Art of Unix Programming); much like the WIMP GUI metaphor rode the personal computing wave. I think both of these areas are by now too old and entrenched for us to simply replace the current monopolies there. And I've come to terms with the fact that Plan 9 will never, ever become the standard OS --- it is simply not designed for any battlegrounds except those it has already lost in. But I strongly urge anyone designing an OS (or, really, any sort of all-encompassing computer system) to look over the innovations and ideas of Plan 9. Luckily, I don't think anything like Windows or Unix will win in a totally new environment, because Windows and Unix aren't made for any environments but their own. So while Plan 9 never won, I think its ideas have a good chance of living on. And I await an exciting time of innovation in Operating Systems in the coming century.
- cturner 15y ago> And I've come to terms with the fact that Plan 9 will > never, ever become the standard OS --- it is simply > not designed for any battlegrounds except those it > has already lost in Why is 9p cool? Are there any gaps - for example - lack of good support from scripting languages? Have there been any serious attempts at creating a plan 9 rackspace or cloud service? Maybe you could get a hobbyist community grown around plan 9 + 9p. I haven't looked at plan9 for ages, but remember there was some complexity about setting it up for ssh access. Update: fgudin pointed me to this for hosting http://sdf.org/?join http://sdf.org/?join
- ZephyrP 15y agoI'm still rocking Plan9.
- jff 15y ago9P is cool, but 9P is not Plan 9. 9P is the Plan 9 filesystem protocol. Plan 9 lacks emacs, bash, C++, and a full-featured web browser; this alone is enough to make a lot of people post once on the mailing list bitching about it, then never come back. It does have vim now, although its use is not encouraged because we have other editors. If you come at Plan 9 as though it's "just like Unix", you're going to have a bad time. Expecting to access it via ssh is one part of that--yes, we have an old ssh server, and yes we now have ssh v2 client support, but to access a Plan 9 system you want to use something like drawterm on Linux/Windows/Mac or cpu from another Plan 9 system. I'm on sdf but have not played with my Plan 9 instance much. If you want to start off experimenting, I'd recommend just firing up VMware or Virtualbox instead. If you decide you want a physical Plan 9 system, well, I've found that it runs pretty well on every Thinkpad I've ever tried. If you want more info, you can ask here or email me (check my profile).
- rbanffy 15y agoAre there reasons why it would be hard to port Unix software to it? Could something like Cygwin be developed to help make it easier to run Unix-ish software on it?