Slashdot Log In
Open Source Release Of Bell Labs' Plan 9
Posted by
timothy
on Wed Jun 07, 2000 08:04 PM
from the plan-b dept.
from the plan-b dept.
Joined by dozens of other readers, johnmullin writes: "Bell Labs has made the third release of its Plan 9 computer operating system available on the World Wide Web under an open-source agreement. Anyone interested in using Plan 9 may download the system, including source code and documentation, from http://plan9.bell-labs.com/plan9dist/. Check out the full story here here." Note for the lazy: An English company called Vita Nuova will also be selling "a full boxed set with CDs and manuals." Surely, systems research is not dead ...
This discussion has been archived.
No new comments can be posted.
Open Source Release Of Bell Labs' Plan 9
|
Log In/Create an Account
| Top
| 196 comments
(Spill at 50!) | Index Only
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

RE: whereis license; DUH (Score:4)
Re:GPL (Score:3)
Upon a second reading, I think they meant for just the ghostscript fonts to be GPL. But it hardly matters, because the Plan 9 license is basically the GPL anyway.
nojw
Re:Truly the Best of Times (Score:3)
Not exactly. In Plan 9, everything is a file.
For example, the contents of the current mouse selection is available from a file, whose name escapes me.
Also, the distinction between block and character devices is gone from Plan 9.
A bit of clarity (Score:5)
DISCLAIMER: even though my email address says @bell-labs.com I'm not speaking for anyone other than myself here.
Having lived pretty much exclusively in Plan9 and Inferno for several years now, allow me to make the following observations:
To answer the question about the Sparc kernel: cross compilers are distributed for:
Kernel source is distributed for:
Absent from this list is the Sparc kernel.
So: there is a Sparc compiler, but no kernel. However, if you have Plan 9 2nd edition, you have a sparc kernel that could quickly be ported to the new system.
NOTE: The underlying system architecture is largely irrelevant in Plan 9. I italicized cross because there is no distinction between compiling and/or debugging something for the architecture you're running on vs. some other architecture.
When people describe one of Plan 9's features as "everything is a file", it's misleading. Especially since your typical nix weenie will come back with "But everything in my nix is a file too".
You'll get a better picture of the Plan 9 environment by thinking of a device driver as a "file server". That is, a device driver exports a hierarchical filesystem rather than a single file. The driver entry points correspond to the basic filesystem operations (rather than the basic *file* operations, as in nix). To make a horrible analogy, think of a Plan 9 device driver as implementing the vnode interface. In actual fact, it implements an interface to the "9p" protocol.
For example, here's [csh-east.org] a du(1) of the /net directory.
A few devices are bound into /net:
Also, a couple of user level file servers have posted communication channels in /net:
Truly the Best of Times (Score:4)
This is so excellent. Since Amoeba, Plan 9 and EROS are all now open source, there's no excuse not to experiment. Contrary to what Pike might have said, now is an excellent time for OS research. Since hardware is cheap too (I mean come on, an 100Mbps 8-port Ethernet switch for less than USD $200), it's a good time to be in the field, especially looking at distributed and/or parallel computing.
I'm not quite sold on the idea of "everything is a file" notion with Plan 9 (from my understanding of it) but it has a lot of cool ideas. Now if only I had room to set up a 19" rack for a small cluster...
Time to read some code!
James Graves
Ed Wood OS? (Score:3)
requires study (Score:3)
So, I suggest people beat away on it, try to port stuff to it, run the license past their corporate lawyers, and share what they find.
Again, on the whole, I think this is very positive. But it may also turn out to be too late: Linux and similar systems also have evolved and included some really innovative stuff (e.g., ReiserFS). At least, with its general availability, Plan 9 may influence the future evolution of Linux and other open source OS'es. A lot of the functionality of Plan 9 can actually also be provided on top of a standard UNIX kernel without kernel modifications.
Incidentally, on the license front, Bell Labs still seems to have a few problems; consider this part from the release notes:
Anyone tried to install it yet? (Score:3)
VMware PANIC: NOT_IMPLEMENTED F(562):1654
So much for running this thing in a sandbox....
---
Re:requires study (Score:3)
There is no question that Plan 9 is more elegant and clean, but it also lacks a lot of functionality. Whether it's easier to add all that stuff to Plan 9 (and whether the result will still be elegant and clean), or whether it's easier to add Plan 9 ideas to Linux, to me, is still an open question. Both paths would lead to roughly the same end result: a complex system with better support for distributed computing.
Either way, the open source release of Plan 9 is a good starting point because it gets those ideas out into the mainstream.
Commercial use okay, but not a perpetual license?? (Score:4)
While I haven't read the license [bell-labs.com] in great detail yet, I see nothing in it about "recreational" (or "racreational") use. On the contrary, under the "Grant of Rights" section, part of section 2.1 reads:Now, I'm no lawyer, but "for commercial and/or non-commercial purposes" sounds a whole lot different from "recreational use only"...
However... I do notice that the word "perpetual" only exists in the "Modifications" section, and not under "Grant of Rights". Is this an oversight, or should we be alarmed? Is Lucent contemplating revoking the license if they don't like what you do with the code?
Great! (Score:4)
Plan9 is the successor to UNIX. It uses a different paradigm, as far as processes and user spaces go, so now that it's available to everyone it should have a positive effect on the rest of the os community.
Re:Not GPL and not really open (Score:3)
This is not as innocent as they sound in the press release or on their Plan 9 site. You would propably get a better deal working through a third party such as Vita Nuova or one of the others who will more than likely have press releases out tomorrow. If nothing else, you can download the binaries, but to really use them with the horsepower expected, you'll need the tools. These are not GPL'd and without them, you may as well be running generic Linux from LinuxOne.
Alef is missing... (Score:3)
But I can't find it in the distribution and even the papers or other references seem to have disappeared from the Plan 9 site. (You can still get a copy of the reference manual in Google's cache by searching for "alef language"; it's the first hit).
That's a shame, because Plan 9 otherwise seems pretty poor when it comes to anything higher level than C.
It's the MPL not the GPL (Score:3)
Re:This Rocks!!! (Score:3)
... in other words, if you sue someone who has contributed to Plan 9, you lose your right to use Plan 9! That's beautiful! Rob Pike, Doug Blewett, Stu Feldman, Chris Fraser, Brian Kernighan, Dennis Ritchie, and Phil Winterbottom are programming gods!
Re:What is different? (Score:5)
Yes, you *can* make Unix jump through those hoops, but in many ways it's just pretending. Plan 9 was arguably the first really serious attempt to write a true network-centric OS that recognized the power and potential of networked computing. I'm not sure if Plan 9 is the same as Inferno in this regard, but one of the things that's impressing me about Inferno is that to a much greater degree than Unix, *everything* is a file. This makes it possible to write scripts that have incredible power, for instance, to open a TCP connection, you just write a connect command with the proper parameters to the TCP device file, so pretty much everything can now be done from the command line. This is a higher level of functional abstraction that makes scripting much more powerful, allowing those of us that love the power and leverage of Unix' superior text processing and scripting tools to really shine. In this respect, although it's clearly post-Unix, it's actually truer to the "Unix philosophy" than Unix itself! (Not to start a flame war, but I've always believed that unless you're writing bit-banging code like device drivers, resorting to C reflects a substantial lack of imagination and knowledge of Unix on the part of the programmer.)
I think we all recognize that assuming from the get-go that the network is an ever-present and reliable service would lead to an operating environment very different in some important respects from what we have today. Plan 9 and Inferno are the result of one approach to taking that assumption to its logical conclusion.
You really need to read up on it yourself to appreciate it, but don't think that Plan 9 is either "just another Unix clone", "something bolted onto Unix", or "just the same old thing." It really is a different spin on the role of the network from the OS point of view. Although there may be better obscure examples, Plan 9/Inferno is the most network-aware, network-integrated OS I know of. Check it out - I'm going to!
P.S.: One of the interesting side-effects of this philosophy is it's impact on the prevalence and power of interpreted languages in general. Now that Open Source is here to stay, and Moore's law is outrunning the hardware nedds of most of us, do we really even need compiled languages anymore? (The classical reasons are speed and secrecy of source for comercial reasons - those are now both becoming increasingly irrelevant. I personally believe interpreted languages will triumph in the end, as I have believed since 1985. We're not there yet, but we're getting much closer...)
Re:Alef is missing... (Score:3)
the concurrent bits of alef (the nice bits) have been taken over by a C library, and Acme has been rewritten in C.
the real replacement for alef is Limbo, the language used in Inferno (itself an offshoot of plan 9); it takes many of the best ideas from alef, but the syntax isn't quite so C-like - it's much, much cleaner in lots of ways (e.g. garbage collection, no arbitrary pointers, very clean type system), built from the bottom up around dynamically loaded modules running on a virtual machine, but with all the power of plan 9-like namespaces underneath.
having been using almost exclusively for the last year or so, i'd hate to go back to anything else.
Inferno fits very nicely along with plan 9 - it's a highly lean machine that runs on really small systems (for instance, the executables are remarkably tiny - the binary for ls, for example is 2902 bytes, from 270 lines of source) and also runs hosted under NT, Linux, BSD, etc so at last you can get the power of acme, plumbing, plan 9 namespaces, and a unix-like command line from inside NT or w98, along with *genuinely* portable programs (unlike java, for instance, where everyone has their favourite incompatibility story)...
it's not available.... yet. but you can register if you're interested at wwww.vitanuova.com, and you never know what might happen...
No!! Not now! (Score:3)
This Rocks!!! (Score:4)
From http://plan9.bell-labs.com/sys/do c/8½/8½.html [bell-labs.com]
Here is a complete program that runs under 8½. It prints the string "hello world" wherever the left mouse button is depressed, and exits when the right mouse button is depressed. It also prints the string in the center of its window, and maintains that string when the window is resized.
#include
#include
#include
void
ereshaped(Rectangle r)
{
Point p;
screen.r = r;
bitblt(&screen, screen.r.min, &screen, r, Zero);
p.x = screen.r.min.x + Dx(screen.r)/2;
p.y = screen.r.min.y + Dy(screen.r)/2;
p = sub(p, div(strsize(font, "hello world"), 2));
string(&screen, p, font, "hello world", S);
}
main(void)
{
Mouse m;
binit(0, 0, 0);
einit(Emouse);
ereshaped(screen.r);
for(;;){
m = emouse();
if(m.buttons & RIGHTB)
break;
if(m.buttons & LEFTB){
string(&screen, m.xy, font, "hello world", S);
do; while(emouse().buttons & LEFTB);
}
}
}
The complete loaded binary is a little over 26K bytes on a 68020.
The only thing X can do in 26 bytes is dump core.
A web application server built using Plan 9 should be uber-scalable! Too much load? Add more CPU servers. Need more file storage? Add more file servers. I'm ordering a CD!
Re:Everythings a file (Score:3)
Don't be so defensive about UNIX, it doesn't have every good idea...
Just ask the guys who wrote it...
Plan 9 on SPARC (Score:3)
Does this mean I can compile it on my sparc but would need a previously released Plan 9 kernel?
Not GPL and not really open (Score:4)
What this means in laymans terms is that if you use Plan 9 ib any sort of business environment, including not for profit corporations, expect to pay bigtime for the honor. Please make checks payable to Lucent. The system wasn't even designed for "recreational use" with it's single protocol to refer to and communicate with processes, programs, and data, including aspects of both the user interface and the network. In this way the system provides a uniform means of access to diverse computing resources, which may be distributed across a network of servers, terminals, and other devices. IMO, this is true and blue developed solely for exploiting the Open Source community and they current open source hype that the press is giving companies that support it. This isn't BSD, and this isn't the next great thing. This is a stripped down *nix environment where you will need to go back to BL and Lucent time after time. Not a great move for BL.