Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?

Open Source Release Of Bell Labs' Plan 9 196

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

Comments Filter:
  • No, they really mean "window"...

    Meaning, the user's default (and personalized) view into the system, as modified by any changes the user has made to their view within the current window of the windowing system.

    The effect is as if the entire filesystem, composition of compound directories, etc could be changed with the ease, transparency and *local scope* of environment variables set within an xterm in Unix...

    Of course, I am nitpicking.

    "Window" in this case is probably closer in equivalence to "login/run environment", than to "gui (as opposed to non-gui) interface", since there is no tty interface. What this gives you is the ability to construct restricted views, and run processes in them... a' la the webserver in the above post.

    Permissions, etc remain unchanged as elements are bound and recombined into new views.

    Also a note: the overview doc refers to Plan 9 as it existed in the mid-90s... the window manager, for instance, has changed since then.

  • I've heard all kinds of cool things about 8 1/2, but... it's no longer with us. It has been replaced (according to the docs.)
  • by jasonrfink ( 193522 ) on Wednesday June 07, 2000 @05:10PM (#1017384) Homepage
    The License is here: ist/license.html [] for anyone who wants to check it out
  • Do you know how they managed the effiency? The common logic is that efficiency is inversly proportional to abstraction. The more abstraction, the less efficiency. That's why DirectX has a very small abstraction layer, and why (partially) why Windows GDI is so slow because it is abstracted so much.
  • RMS promptly bursts into flames

    Couldn't happen too soon.

  • Well, there is th is [] interesting comment from none other than Dennis Ritchie.

    Maybe Inferno and Limbo are the next to go Open Source? We'll see!

    I have to say that I've always thought that Limbo sounded like a much better thought out Java. Read this [] for some interesting points.

    Face it, Java was "designed" for appliances, then, made to work for applets and now, we're to understand it's just perfect for server side programming and practically made for XML. Give me a break.

    Inferno/Limbo actually looks like there really was thought and design put into them to make a good networked programming environment. I've always thought that the licensing was a hindrance to the adoption of Inferno in contrast to Java, but maybe that'll be fixed now?

    We'll see... Too little, too late? I don't think so. Despite all the feverish development going on with Java, what real impact has it had? How many people really use Java in production systems today?

    -Jordan Henderson

  • It supports only a small amount of hardware, but I found it easy to install after digging around in my box to get the right stuff. Actually it does use a windowing system that basically acts as a filesystem. All the windows and processes communicate with eachother thru files. When you start the "rio" server you actually just mounting /mnt/wsys (as well as /dev). All the control of services, such as mouse and control of applications and windows is done thru files as well. It does seem a bit slower, but I only installed it standalone which isn't recommended or intended. If I set up three boxes for the CPU service, 2 for the file services and 1 for the networking servs I'm sure it would *haul ass*. It also uses this interesting method of process communication called plumbing which is file based.

    As for porting GNOME, Perl and Python, as you were saying, I think that's a step in the wrong direction. GTK+ relies on X, and though you could port X to Plan 9, why would you want to?! All the services that X provides could be easily mimiced using some file based "translators", which I'm sure would be a much more concise and transparent environment to understand, code and be productive in. I think getting a lot of the GNU software may prove difficult (as well as pointless), as Plan 9 uses a dialect of C (and some other way cool distubuted languages) which has some major differences. For instance you can't use a lot of the preprocessor directives such as #if, which I know are prolifically used in programs such as bash (and GNOME/GTK software).

    Though it would be relatively straight forward to do and I'm sure it will be done, I for one don't need a "UNIX compatibility layer" over Plan 9. All it needs is a more sophisticated OE, and I think I'm at home. Time to go to the used somputer store and buy a 10 pack of old pentium 200's and a 100mbs lan. :-)
  • I can tell you've never had to deal with a large cluster of PC's and UNIX workstations. Yes, NUMAs and other large shared memory SMP systems offer better memory bus bandwidth and low latency compared to clustered systems. And for an organization with a single large threaded application and money to burn this advantage might actually be worth the heavy upfront capital outlay.

    Where MPI and batch clusters win is cost/performance not sheer speed and/or low latency. This is especially true for batch systems which run a single process per node and can allocate the entire data set in local RAM. Moving the data to the node over NFS takes time, but if the application is written properly the bulk of time in transforming the data will be taken up by CPU ops, not network transfers. This is how we do it in the Speech group at BBN, with a good 300+ Linux, Sun, and SGI hosts.

    ugh, I need sleep -- I've just been trolled.
  • IMHO Every OS is better in certain task Linux -- Server for x86 family Win98 -- Games & Home use BeOS -- Multimedia?? OpenBSD -- Security - firewall etc emm... well others just try coping with the trend.. ------------- Technology is there to make our life easy not the other way around
  • Plan 9's position as UNIX's successor is by no means clear. Operating systems have tremendous inertia; people will use an OS if it has enough applications. Which is why Windows is so popular (surely it's not because of its elegant design and technical superiority), why its main competitors are based on UNIX, and the most successful unices are relatively unweird ones like Linux and BSD.
    By the time there is sufficient dissatisfaction with the classic UNIX design to warrant a move, things will have evolved so much that the alternatives will be quite different from what exists now. Perhaps one of them will be descended from, or inspired by, Plan 9; perhaps not.

    While Plan 9 is technically interesting, for most uses it doesn't offer enough advantage to warrant switching from vanilla UNIX. Its distributed architecture probably won't be of use to a hobbyist surfing the web on a PC.
  • Exhibit A - The GNU General Public License - is in reference to the fonts used from the gnu ghostscript package. There simply stating that those fonts are licensed differently.
  • FWIW: Vita Nuova also puts out Inferno. The name of the comapany comes from another book by Dante, La Vita Nuova [], much of the structure of which is determined by ... the number 9.

    Hmm... :-)

  • Can someone comment on what it means for the license to be "non-transferable" but allow "sub-license?":
    Subject to the terms of this Agreement and to third party intellectual property claims, Lucent grants to Licensee, a royalty-free, nonexclusive, non-transferable, worldwide license to use, reproduce, modify, execute, display, perform, distribute and sublicense, the Original Software (with or without Modifications) in Source Code form and/or Object Code form for commercial and/or non-commercial purposes.
    What type of restrictions does this put on redistributing the software? Are there "common law" differences between the rights that I can give a party if I "sub-license" something, as opposed to "transfering" a license? I may be reading the sub-license thing incorrectly, but Lucent seems to go to a great deal of trouble to make sure that this is not a "free software" type of license at all. It's "free beer" software we can see and modify the source of. The license seems to indicate that Lucent owns all rights to the software and any modifications to the software. Further, Lucent will always own the software, and any rights to the software or any modifications may withdrawn by Lucent at any time. I really can't imagine why they decided to put a copy of the GPL at the end of their License. The GPL applies only to some fonts distributed with the software, and not to the rest of the OS in any way -- neither in text nor in spirit, it seems.
  • I'm also an ex-evolutionist.

    So, you're a moron, basicaly.
  • On the other hand, GPL promotes development while BSD doesn't (as much).
  • Really? I'm not all the way through the site yet, but I haven't seen anything about an emacs port...

    (actually I'm a righteous emacs zealot cleverly disguised)
  • by YoJ ( 20860 ) on Wednesday June 07, 2000 @05:11PM (#1017398) Journal
    My first take on the license was that the GPL covers the entire thing. To download Plan 9, you have to agree to be bound by all the terms of the agreement. In the definitions section, the agreement is defined to include the GPL. So my understanding is that you are agreeing to be bound by the GPL in addition to all the terms in the Plan 9 license. (Before someone flames saying that the GPL doesn't let you add conditions, remember that the copyright owner can do anything they want to with their license).

    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.


  • Take a look at icense.html []. It looks like this software is being distributed under the GPL (look down at the bottom) but with a sort of wrapper that allows Lucent to change the license in the future.

    Contrary to some of the previous assertions, this software is available for commercial as well as non-commercial use. In fact, the license states that users can modify and sell the software so long as the source is included.

  • I think you misread my implications...

    What's all too common is for people to react with:

    "Cool! A new OS! When will they port [mundane UNIX stuff] to it to make it useful?"

    I was reacting generally against that; while it would be nice if there are some "creature features," as well as some "past functionality," that certainly does not lead in the direction of really coming up with cool NEW stuff.

    There's lots of dilemma here; a problem with an utterly different OS, like EROS, is that of having an environment capable of hosting it.

    For instance, in order to use EROS, which doesn't support "files," as such, you need to take a bunch of C and C++ files and compile them. This pretty much mandates having something that "smells like UNIX" kicking around, to provide:

    • A filesystem
    • The G++ toolset
    • Probably some other "GNU stuff."

    Any self-respecting system will be "self-hosting;" you get:

    • Systems descended from mainframes;
    • Systems descended from RSX-11;
    • Systems descended from System 34 and Hydra;
    • Systems descended from Multics;
    • A few Lisp environments that are getting pretty unsupportable (well, there's Genera);
    • FORTHs
    And that's about it. (Heh, heh, I didn't mention Linux or Unix. They're "descended," loosely, from Multics... Guess where Windows falls in? :-))

    Most of these systems have pretty much converged into general similarity, perhaps save for Lisp and FORTH, although the most recent environments getting deployed for those rest upon either POSIX or Win32.

    Based on the above set of ancestors and their children, I'm actually not sure that it's not a reasonable idea to assume the presence of something looking like a POSIX subsystem that could support stuff like GNOME, Perl, and Python.

  • Sounds like you didn't read the papers. There is very special technology in the compilers, and the flat link was a deliberate design decision, tuned to the assumed network architecture.
  • >The only thing more pathetic than your >praise-baiting is the fact that it apparently >worked. Maybe slashdotters really are as dumb as >they act; they bought your line.

    sweeping generalization - many types of
    people read /. including trolls, scientists,
    engineers, programmers, students, ...

    >Exploiting the open source community for WHAT
    >precisely, fool? To help develop the system?

    To spread acceptance, and make it a complete
    viable system I presume.

    > They don't need help with that; the system
    >is already far ahead of what Linux has achieved,
    > and in about a third the time.

    It could be the greatest system in the world,
    but if 0 people use it, it is worthless to
    Lucent other than as a research vehicle.

    This is a pretty good move IMO - good for Lucent,
    good for OS researchers/implementors.

    > Here, watch. This'll probably get moderated
    > up, just because of the following:



    > Oh, wait, nevermind. I'm not an idiot after
    > all.

    Well, it is possible that you are not an idiot.
    It is fairly obvious you don't understand or
    care about licensing issues which are extremely
    important in this business.

    > Ignore all that crap in caps. Apparently a
    > Slashdot Moron[tm] invaded my head for a second.

    Your juvenile insults are not necessary and,
    in fact, refect poorly on your ability to
    present a logical/real argument here.

    If you have tangible substantive arguments, post
    them. If you do not, that is your freedom
    but I will not encourage it.

    > Does it bother any of you that you could
    > easily be replaced by a post bot that would just > regurgitate the same set of five or six
    > arguments over and over again?

    Nobody is forcing you to read them.
  • by Keith Maniac ( 136803 ) on Wednesday June 07, 2000 @05:15PM (#1017403)
    Umm... in Unix/Linux/*BSD/etc, is not everything a file?

    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.

  • I saw a complaint about this clause on comp.os.plan9 The reply was that it wasn't for any nefarious purposes, but to keep someone from sueing over something that was given away. Much like the disclaimer on GNU stuff: If we give you this thing (for free) and it screws up your stuff, you can't take us to court...
  • Plan9 has been around since 1988.

    This is release 3, Release 2 was in 1995.

  • $ export DISPLAY=
    $ xterm &
  • It was named after the Ed Wood movie. From what I can tell, the similarities end there.

    Max V.
  • "//Windows 2000 is even trying to be Unix-ish.
    in some ways they're trying, yes. but this is mainly through a POSIX layer. or are you really only refering to the fact that they both have command lines which you can do things from? oh, no... you're not one of those horridly uninformed people who think DOS was "like Unix, only smaller", are you?"

    No, definitely not! What I am referring to is all the new (Keyword NEW, not the old DOS 'similarities')Unix "compatibility"/"similarity" that was added into Win2K. They've added a Telnet server, and all kinds of things like that. Microsoft has recently bought an XWindows server company (I forget the name) and will be releasing an XWindows client (That'll be weird) but I don't know if it will offer the ability to connect to a Win2K session via XWindows; that would throw a brick at their Terminal Server sales. (Unless they have a bigger plan)

    As far as MacOS X being Unix-based: Yes, still it is Unix based/unix-clonish. The VW vs Corvette argument fails: They are both automobiles. I'm thinking along the lines of something completely different, like comparing a Lamborghini to an FTL UFO or something - something COMPLETELY different, can it be done??

  • The Plan9 GUI is a strange beast. The WM is elegantly simple. A little too elegantly simple, but still simple.

    The hybrid editor/kitchen sink is an odd creature, though.

    Max V.
  • Me? Plea for peace? Not too often...

    Sometimes, though you just have to speak with candor rather than diplomacy. I could have danced around the offense, but wouldn't have made the point as well. If one person tries to use the tools and philosophy of Unix instead of C on thier next project, I'll be happy and the world will be a better place.

    There's no panacea. Not scripting, not C, but in general, it makes sense to use the highest-level tool available for a particular task, and modularizing helps mix those tools.
  • I'm amazed at the amount of vitriol that little sig is generating. Kind of makes the point about evolution being a religion of its own, I guess...
  • lighten up, man. Actualy, I wrote a windows program that drew a bouncing ball on the screen, in something like 23 lines of code once. Just add an icon

    #include <afxwin.h>
    class BallWindow : public CFrameWnd{
    double hello[5] = {50,50,.2,.25};
    for(int i = 0; i afx_msg void OnPaint();
    double data[5];
    void BallWindow::OnPaint(){CClientDC dc(this);
    for(int i = 0; i 260){data[i+2] -= data[i+2]*2;}
    data[i] += data[i+2];}
    dc.DrawIcon(data[0],data[1],LoadIcon(AfxGetInstanc eHandle(),MAKEINTRESOURCE(10 5)));}
    BEGIN_MESSAGE_MAP(BallWindow, CFrameWnd)
    class BootStrap : public CWinApp{
    virtual BOOL InitInstance(){m_pMainWnd = new BallWindow;
    return TRUE;}};
    BootStrap NEAR application;

  • by tadhunt ( 198090 ) on Wednesday June 07, 2000 @09:05PM (#1017413)

    DISCLAIMER: even though my email address says 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:

    • 68k, arm, alpha, x86, sparc, mpc, and mips

    Kernel source is distributed for:

    • alpha, mips, mpc, and x86

    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 [] a du(1) of the /net directory.

    A few devices are bound into /net:

    • #l - ethernet
    • #I - ip
    • #D - SSL

    Also, a couple of user level file servers have posted communication channels in /net:

    • cs - connection server
    • dns - dns server
  • The point is that there comes a time when fast enough is truely fast enough. "Fast" is defined by the *apparent* response of the machine to the load placed on it. "Fast" is a human parameter, not a machine parameter.

    When the machine is fast enough you can use 90% of its power to interpret, without the operator experiencing any difference in output rate. This is not at all the same thing as "only getting 5%-10% of the speed I payed for," it is using 90% of the power which is now in the realm of overhead to accomplish the work of overhead.

    I don't get your point in your second paragraph at all. It seems to me that your point of view *supports* the idea of coding "on the metal."

    I'd also point out that the original poster never said anything about destroying the dreams of others. Where did that come from? You have a dream, follow it. Go ahead, I don't mind, and neither does the original poster.

    In any case it dosn't take any ill will for one dream to "destroy" the dreams of another. I have no reason to believe that Gottlieb Daimler meant any ill will to the Hansom cab. His dream none the less "destroyed" it. However, if the Hansom cab is your "dream" you can still build or buy, and operate one.

    It certainly seems likely that the time will come when interpreted languages will "triumph" in the sense that they will accomplish all that is asked of them in the time frame desired and thus become the most used languages.

    *I* may still be coding in APL, but so what?
  • 100,000 programmer can't be wrong!
  • Why go through the pain of writing all 100% of your code in a compiled language like C, when you could write only that speed-critical 10% in it, and write the rest in something like Python?

    Python code cannot be compressed as easily as C code. In C (or any of its interpreted cousins), source code can be compressed by removing all indentation and decompressed by re-indenting with GNU indent. With Python's indentation-as-syntax, deep nesting of if-then structures, even at one space per indent, runs up a big bill in terms of space. I'm not dissing Python (I think indentation as syntax is wonderful; if then if then else anyone?), but interpreters need to understand .py.gz files.

  • #include &ltafx.h>

    int winmain(int a, int b, char* c, int d){

    thats exactly 16k compiled, without an icon. :P

    I don't know what java stuff you'd need to do, but I'd be the .class file would be around 800 bytes or so
  • It's a new OS (open source) system.
  • The correct idiom is "Unix on Viagra."

    In this forum, however, "Unix on "Penguin Mints []" would also be accepted.

  • by ansible ( 9585 ) on Wednesday June 07, 2000 @04:28PM (#1017420) Journal

    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

  • From the top of the release notes:

    Copyright © 2000 Lucent Technologies Inc.
    All Rights Reserved
    The copyright notice above does not evidence any actual or
    intended publication of such source code.

    All Rights Reserved

    Are we to interpret this as laziness on their part in not changing their standard copyright notice, or are they actually asserting that posting a link on a publicly available site which can be accessed without even a dodgy attempt at a click-through doesn't constitute publishing?
  • The only thing that's unusual is that one is required to provide bell labs with changes, but only at their request.

    Smacks of APSL (I'd provide a link but Apple's server is down), a license RMS hates [] because he claims it "disrespect[s] ... privacy."

  • I've been wanting to play with Plan 9 ever since I read the early papers and listened to Rob Pike talk about it. Looks like now I get the chance (or should that read, no I have no excuse ;)
  • Anyone notice this interesting note in the release notes (which are dated yesterday)?

    Copyright © 2000 Lucent Technologies Inc.
    All Rights Reserved
    The copyright notice above does not evidence any actual or intended publication of such source code.
    All Rights Reserved

    I don't know. Does this mean it's not open after all?


  • by sandidge ( 150265 ) on Wednesday June 07, 2000 @04:29PM (#1017425)
    I always thought that Plan 9 was from Outer Space and not Bell Labs. Huh... learn something new every day.
  • I guess the GNU helped that happen with their backing of Linux. They should have backed a bsd.

    Hmmm.. i guess cause bsd is not really "free software"
  • I can't wait to see if it's going to run under VMWare []!

    I played with the bootable image they made available free awhile back, but balked at paying hundreds for the manuals. Now the source--life is good!
  • by jetson123 ( 13128 ) on Wednesday June 07, 2000 @09:43PM (#1017430)
    Plan 9 is a very interesting system and I'm glad it seems to have been released in an open source form. I think it will take some time to sort through a number of issues, though:

    • Is the license acceptable? Does it contain unforeseen gotchas?
    • Is the system up to snuff in terms of performance? For example, many of its protocols are text based, and while that really simplifies things, for some applications, it may impose too much overhead. Is its multiprocessor support adequate?
    • Are there enough drivers for it? Can Linux or BSD drivers be adapted easily?
    • Does it contain limitations that are too painful to live with? For example, I remember someone working on Plan 9 (Pike?) saying that "sparse address spaces are bad for you" and that "you can always figure out how to do something without them". Well, I can, but I may not want to when porting a big, existing software system.
    • Is the windowing system really usable? These days, a good windowing system should support antialiased and zoomable 2D graphics (X11 squeezes by for now with GLIB) and a toolkit with things like trees and grids. 8 1/2 seems a little primitive; can it be brought up to speed? Can we port GTK to it? What about OpenGL support?
    • Is Plan 9 really usable for things like web services? Distributed computation?

    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:

    Copyright © 2000 Lucent Technologies Inc. All Rights Reserved THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF LUCENT TECHNOLOGIES INC. The copyright notice above does not evidence any actual or intended publication of such source code. All Rights Reserved
  • According to the articles they provide Plan9 is supposed to be a distributed UNIX, or something.

    Or something. Plan 9 is not a UNIX system. It was designed as a separate OS research project, but given the authors, it's natural that some UNIX ideas were used.

    It was designed to explore the ideas of distributed computing and the proliferation of commodity hardware.

    Maybe i'm missing the point but i get a feeling of "been there - done that".

    Yes, but look at the dates on the system. Plan 9 has been there, and was doing that ten years ago.

    For some reason, Slashdot folks seem to think Plan 9 is new software. Not so.
  • Lucent grants to Licensee, a royalty-free, nonexclusive, non-transferable, worldwide license to use, reproduce, modify, execute, display, perform, distribute and sublicense, the Original Software (with or without Modifications) in Source Code form and/or Object Code form for commercial and/or non-commercial purposes

    I think that you are wrong. It seems to clearly state that this software is available royalty-free for anyone, profit or non-profit.

  • This is not flamebait, I honestly don't know.

    Isn't plan9 based on a Mach kernel, compared to say a monloith kernel (like linux has)? Wasn't one of hurds goals to have a mach kernel OS system? Couldn't they use this (if the license is compatiable?)?

  • ...considering UNIX has been known as DOS on steroids...

    Actually, I think it would be more accurate to say that DOS is like UNIX after a horrendous automobile accident - multiple amputations, brain dead, in an iron lung...

  • I just tried to run the Plan 9 boot disk under VMware, and VMware in its infinite wisdom decided to crash.

    VMware PANIC: NOT_IMPLEMENTED F(562):1654

    So much for running this thing in a sandbox....

  • by jetson123 ( 13128 ) on Thursday June 08, 2000 @09:08AM (#1017443)
    Systems like Condor already provide process migration for native code on Linux and other platforms. Much of the Plan 9 functionality has also been implemented as shared libraries for UNIX by people at Bell Labs (Practial Resuable UNIX Software []). And Java provides a similar kind of environment with already a lot more software available for it than Plan 9. Erlang [] also has extensive support for distributed computing and runs on top of standard platforms.

    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.

  • Now if only I had room to set up a 19" rack for a small cluster...

    Okay, this is semi-on-topic (as we are discussing alternate OSes as hobby, an this relates).

    I've got a nice rack set up in my office - I've rackmounted my video and sterio equipment, along with a small TV, and it looks great. Then I have two computers sitting on a rack shelf. In regular cases. Yuck.

    Has anybody seen hobby-level rackmount cases? I.E., cheap, decent, but not industrial class? I've got four systems that I use, and I'd love to rack them all, but at around $400 average (I've seen as low as $250), it's just too expensive for hobby.

    Incidently, it's not just for looks - rackmounts have easier cable handling, make better use of space (I can fit four systems in the space of two), and have better ventilation on the 19" rack.

    In case you're wondering, I spent $125 on the rack, and about $100 on shelves, stand alone foot, and such. I also bought some furnature grade plywood, trim and stain, and slapped an enclosure around it (velcroed on :) The velcro works great - rip it off and on for access to the side, and it meets up flush against my wall, looking nice.


  • At least they're not asking for the copyright. And since most people here probably happily share their sourcecode, that shouldn't be much of a problem.

  • The only thing that actually switches in this device is the two port 10/100 switch (really, it's more of a bridge) These devices suck so bad, I'd rather get a 100Mbps HUB
  • There is quite a bit on fine print in the licensing, basically stating that use in any other than a "racreational" (read home) workstation is prohibited under the agreement.

    While I haven't read the license [] 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:
    Subject to the terms of this Agreement and to third party intellectual property claims, Lucent grants to Licensee, a royalty-free, nonexclusive, non-transferable, worldwide license to use, reproduce, modify, execute, display, perform, distribute and sublicense, the Original Software (with or without Modifications) in Source Code form and/or Object Code form for commercial and/or non-commercial purposes.
    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?
  • by freddie ( 2935 ) on Wednesday June 07, 2000 @05:31PM (#1017455)
    I read thorugh through the license. It has very few restrictions, and no revocation clause. The only thing that's unusual is that one is required to provide bell labs with changes, but only at their request.

    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.

  • by T. Emthrie ( 198024 ) on Wednesday June 07, 2000 @05:32PM (#1017456)
    Just because the base binaries are covered under the phrase you quoted, mandatory tools and other components such as "Spin" are not. Please don't flame me, I heard about this being posted from a friend who thought I'd be interested so I thought I'd share a littel background.

    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.

  • by Anonymous Coward
    Plan 9 has absolutely nothing to do with Mach in any form whatsoever. It's a completely independent development effort that actually had some ideas in it, unlike Mach.
  • by jetson123 ( 13128 ) on Wednesday June 07, 2000 @11:57PM (#1017465)
    Plan 9 used to come with a C-like language called Alef. Alef included a simple form of template, a simple form of dynamically typed pointer, a bit more built-in error checking than C, and nice support for coroutines. Altogether, very nice, clean, small, and potentially very useful.

    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.

  • Again, ignorance is bliss.

    I certainly hope that the window system is not a "real graphical environment". We don't need widgets built into the system, it is easy (trivial, really) to build them atop the system. Or do you also think that file systems would be better if there were different calls to read image files than to read text files (there were systems that worked this way once upon a time, too).

    Cutting and pasting anything is not the graphics system's responsibility. Even X does too much of this. I think in Plan9 cut/paste would be done by reading and writing files, and of course *ANY* data can be put through the file.

  • The legal mumbo-jumbo thats sets it apart from the GNU Public License is the bit that says that none of the software included (except for the UW Postscript fonts) is covered by the GPL.

    IANAL, and CSINL (common sense is not law), but this license seems very different from the GPL in intent. The GPL attempts to give both the copyright holder and the licensee a great deal of rights to software. For example, the GPL doesn't prevent the copyright holder from distributing the GPL'd software under any other license -- If I write and distribute GNU Plan 2000A under the GPL, I'm allowed to distribute Plan 2000B under any other license I may choose. However, the GPL tries very hard to make certain I can't take away the rights of anyone that has the GPL'd GNU Plan 2000A -- once someone has GNU Plan 2000A, I can't retroactively change their license to the Plan 2000B license, even if its exactly the same software. Once someone has GPL'd software, they enjoy a great deal of rights to that software, and those rights are intended to be both transferable and non-removable.

    The Plan 9 license doesn't provide any of the rights to the user that the GPL does. The Plan 9 license is explicitely both non-transferable and removable. The license says that Lucent owns this software. We may look at the source, and change it, and distribute it, but Lucent has absolute rights (including patent rights!!!) to any changes anyone makes to the software (whether those changes are distributed or not), and the absolute right to remove your rights at any time. If Lucent doesn't like what you're doing with plan 9, they can make you stop. If you make a cool addition to plan 9, they can sell it, and make you stop using it. They own anything you do with the software.

    This is an open source license, in the sense that we can see the source. This is a free license, in the free beer sense. This is not free software, in the GNU sense.
  • by MSG ( 12810 )
    OOps. I stand corrected, the GPL does not apply to the whole thing, only to the ghostscript fonts. The license appears to be very similar, however, with few minor differences:
    • The fonts included with Plan 9 (not the ghostscript ones) are not open source. You may not redistribute them, except with Plan 9.
    • Plan 9 and derived works require a small copyright notice a'la the old BSD license.
    • Plan 9's license specifically allows a commercial distributor to make additional warranties as long as those warranties are held only to the commercial distributor.
    • Lucent may request that you provide them with any changes that you make to their software, regardless of whether or not you are distributing said changes, and incorporate those changes with Plan 9, a'la the QPL.
    Aside from that, it looks an aweful lot like the GPL. Yes, there is a clause that states that Lucent may change the license at their discretion at any time, but that this change will only affect versions of their software downloaded after said change has been published.
  • by KlomDark ( 6370 )
    Yet another OS? Seems theres getting to be a lot of them, but all still vaguely Unix-ish. Is there anything along the lines of "And now for something completely different"??

    Linux is a Unix clone

    Mac OS X is a Unix clone

    Windows 2000 is even trying to be Unix-ish. (But a pathetic imitation)

    Amiga is now a Unix clone

    Is BeOS a Unix clone? (I haven't played with it)

    I'm getting bored. Gimme something else...

  • by jgarzik ( 11218 ) on Wednesday June 07, 2000 @05:54PM (#1017481) Homepage
    Mike Shaver pointed out to me that the license is MPL, not GPL. Read the MPL license [] and compare that with the Plan9 license [].

  • by 1010011010 ( 53039 ) on Wednesday June 07, 2000 @06:45PM (#1017482) Homepage
    And the license contains this gem (Section 6, "termination", section 1):

    The licenses and rights granted under this Agreement shall terminate automatically if (i) You fail to comply with all of the terms and conditions herein; or (ii) You initiate or participate in any intellectual property action against Original Contributor and/or another Contributor.

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

  • >>I'm not quite sold on the idea of "everything is a file" notion with Plan 9

    >Hmm.. Isn't that the way unix handles things as well?

    no, not really. In unix ethernet cards aren't files, tcp/ip connections aren't files and windows aren't files.

  • by dublin ( 31215 ) on Wednesday June 07, 2000 @07:01PM (#1017484) Homepage
    Plan 9 is different than the usual Unix ways of doing these, and in some respects, better. One of the cool things about Plan9 (and its follow-on Inferno, which I've been looking at lately) is that pretty much *everything* is network extensible and *completely* location transparent, and this is all built in and does not rely on bolt-ons like AFS directory services, etc. (Imagine being able to relocate any service, part, or function of the OS as easily and effectively as you redirect an X display and you'll start to get the idea... And on top of that, they actually managed to make it quite small and efficient!)

    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...)
  • The thing that excites me most about the release of Plan9 is the inclusion of Ken Thompson's C compiler suites. Although GCC has served well, it's gotten pretty crufty over the years. I'm hoping that this release from the master might someday provide alternative compilers for the open source community.
  • After reading about how Plan-9 is;

    'more Unix then Unix'

    'everything is a file -- more then Unix'

    'network resources can be handled with pipes much more easily'

    'a research OS'

    'no sane person would use it as the basis of a network'

    'has a licence that is like the BSD/GPL/... except in some minor respects'(!?!?!?) struck me. Wouldn't this be an ideal shell environment? If a quick patch to the underlying network is needed, the tools that could be created on this would make it ideal.

    Tell me I'm crazy...but it seems like an obvious use of this source, even if it has a good but not ideal licence.

  • by rpeppe ( 198035 ) on Thursday June 08, 2000 @01:41AM (#1017495)
    i was sad myself when i found out they were binning alef. i have a feeling though that it was due to underlying problems with the language design. phil winterbottom knows. (the other possibly more important reason that they give on the web site is that it's yet another compiler suite to maintain...)

    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, and you never know what might happen...

  • Check again... there's a GNU Public License at the bottom. As far as I can tell it's nearly identical. There's probably some legal mumbo-jumbo that sets it apart.
  • Is there any real reason why Plan9 is better than modern Unices TODAY?

    No. Plan 9 is a really cool system, but it's not the kind of thing you're going to use as your desktop OS. It's stripped down and raw, and is lacking a lot of the functionality we now take for granted. (web browser, etc...)

    Plan 9 is very much like V7 UNIX plus some modern tech, and is pretty much an OS-hacker system. It's cool for a research toy, and exploring something different, but no sane person is going to base their network around it.

    Consider it a different snapshot of Bell Labs OS work.
  • by Joe Groff ( 11149 ) on Wednesday June 07, 2000 @05:58PM (#1017501) Homepage
    With the long appeals process coming up, the last thing we need is another operating system Microsoft can claim as competition in the marketplace.
  • Certainly the emergence of these systems, and you missed FluxOS/OSKit, is helpful to experimentation.

    Unfortunately, I'm not sure it's as simple as some people going out and installing Plan 9, and seeing about porting Perl and Python and GNOME over.

    To the contrary, actually developing new things means taking these systems, perhaps trying them out to see what insights fall out of them, and then developing further systems.

    I guess I'd argue that the result of the availability of these systems is that of improved system diversity, and not necessarily the creation of new abstractions.

    As for the "everything a file" notion, I suspect that if it had taken off in the early '80s, we might have a windowing system now that could be manipulated as a filesystem. Possibly a mite slower than X, but doubtless rather powerful, and easier to customize...

  • Good question. At a glance, it looks like it just means you can't bootstrap yourself from a SPARC unless you have the previous kernel: i.e.: that you'd have to build the SPARC kernel elsewhere first unless you have the old one. One wonders why they'd do this though...
  • It seems like a nice OS that was designed primarily for communication and multiple processors. I previoulsy hadn't heard of it. Some of the papers refer to it as a sort of clean unix, being built from the ground up in one nice piece instead of adding features as the years go by as in the current model.

    ...and I'm not sure we should trust this Kyle Sagan either.
  • by MSG ( 12810 )
    I submitted this story, too, but I figured I wasn't first. I was hoping, however, that the person who posted the story would note that the source is available under the GPL.

    I was curious about the "open source" license used. Reading the license, I was very pleased to find that it was very much like the GPL. Then I got to "Exhibit A", which was the GPL itself.

    Yes, I favor the GPL over the BSD license. Insert mandatory license flame war here : )
  • Actually, they named it "Plan 9 from Bell Labs" to annoy the marketing department.

  • I don't think everything is under the GPL. Read section 2.3 of the license... only some of the printer fonts are GPL'd.
  • Sure Plan9 may be a nifty operating system for UNIX nerds, but what about speed? It seems that all programs communicate through a protocol, and that the interface to the system is hideously abstracted. Has anybody played with this system and tested its speed in relation to other OSs? ALso, this distributed computing thing sounds cool, but again, does the architecture translate into a tangible speed increase over systems like QNX?
  • The license resembles the GPL in many ways, but contains some disturbing text.

    ``You agree to provide the Original Contributor [Lucent], at its request, with a copy of the complete Source Code version, Object Code version and related documentation for Modifications created or contributed to by You if used for any purpose.''

    This requirement is puzzling. Note that the GNU license does not require anything like this; you must reveal your source to everyone only if you redistribute, not if you merely use the software for any purpose. You can, for instance, make ``in house'' changes to GNU software.

    What does this really mean? What does ``if used for any purpose'' mean? Used by whom?
  • I read through the license. I see only one significant difference between it and the GPL: under the GPL, you can create internal versions that you do not distribute. Under the license Lucent is offering, you must provide modifications to Lucent if they ask for them. No mention is made of whether the modifications are distributed, as far as I can see.

    Other than that, it looks like it provides almost exactly the same thing as the GPL, except that it's written from the point of view of "here is this massive software package, which you might want to make small changes to", rather than "here's a bunch of code, which you might want to incorporate into your stuff" that the GPL suggests.

  • There is a reason why the GPL is put in as an exhibit. The Lucent license itself says that EXHIBIT A applies to some fonts. It does not apply to Plan 9 itself.
  • I was curious so I ran a Netcraft "What's that site running?" check on []. Looks like it's being hosted by Plan 9 (of course.)
    A testament to this neat little operating system's ability is that it is taking the Slashdotting in full stride. I'll definately want to play around with this system.

  • by 1010011010 ( 53039 ) on Wednesday June 07, 2000 @06:42PM (#1017535) Homepage
    The license appears to be a modified BSD-type license. The system design is fantstic. If we all used Plan 9, we could stop fooling around with PVM, Mosix, etc. and have Real Distributed Computing. It's windowing system, ½, is only a 90k binary on the 68020 processor. Much less bloat than X! And there's NO MOTIF on Plan 9! An added bonus! (rimshot)

    From c/8½/8½.html []

    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.


    ereshaped(Rectangle r)
    Point p;

    screen.r = r;
    bitblt(&screen, screen.r.min, &screen, r, Zero); /* clear */
    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);

    Mouse m;

    binit(0, 0, 0); /* initialize graphics library */
    einit(Emouse); /* initialize event library */
    m = emouse();
    if(m.buttons & RIGHTB)
    if(m.buttons & LEFTB){
    string(&screen, m.xy, font, "hello world", S);
    /* wait for release of button */
    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!
  • I bet it's only a matter of time till we get an open letter from Richie Stallman telling us why Plan 9 isn't really Open Source.

    The picture I have in my mind is:

    RMS (for the 100000th time): Why do people keep asking me about the Open Source movement? I'm a member of the Free Software movement! Aaaaagh! (RMS promptly bursts into flames)
  • by Keith Maniac ( 136803 ) on Wednesday June 07, 2000 @07:30PM (#1017539)
    Yeah, but can you create new net connections by writing to /proc/net/tcp?

    Don't be so defensive about UNIX, it doesn't have every good idea...

    Just ask the guys who wrote it...
  • Some of Plan9's distributed computing stuff is cool, but it is not entirely new. Back around 1993, there was an OS called Chorus made by some french company. Chorus had a nifty distributed system where each machine (or "site" in chorus lingo) would run the microkernel (or "nucleus") Then, different machines would run the different servers needed. The kernel would either dispatch threads to these sites, or call the services of the servers one those sites. This seems to provide about the same features as Plan9, but seems less resource intensive than the huge levels of abstraction Plan9 has.
  • 100Mbps 8-port Ethernet hub = $74, not $200

    Ansible was talking about an 8-port 100mbit switch, not a hub. A hub and a switch are not the same device. A good switch can sustain a full-duplex 100mbit switched connection between every pair of ports. A hub will give you a total of 100mbit shared between all of the ports. Hubs are rarely full-duplex.

  • The article gives a summary of Plan 9's features. It seems that is has better networking and sharing of resources and graphics support. It really sounds like UNIX on steroids (that is a weird analogy to make, considering UNIX has been known as DOS on steroids).

    But quite frankly, I am speaking out of my ass. I'll look more into the OS sometime later. I have never used it.

    So, does anyone who knows about Plan 9 want to give us a link to a comparision between it and GNU/Linux? Or write a brief comparison themselves? *sheepish smile*

  • by LegacyMan ( 193804 ) on Wednesday June 07, 2000 @04:55PM (#1017548)
    The list of architectures has changed; more compilers are included and the list of kernels has changed. There is solid support for Intel x86 multiprocessors. Also, although the sources are available for other architectures, the binaries and libraries are built only for the Intel x86 architectures. Kernel source is available for x86, Mips, DEC Alpha, and Power PC architectures. Compilers also exist for AMD 29000, Motorola MC68000 and MC68020, Intel i960, and SPARC. (Unlike the the last release, no SPARC kernel exists for the current system.) The compilers and related tools have been made easier to port to Unix and Windows.

    Does this mean I can compile it on my sparc but would need a previously released Plan 9 kernel?
  • According to the articles they provide Plan9 is supposed to be a distributed UNIX, or something.

    I've seen UNIX do huge networks with a common filesystem (AFS), common password storage, etc. Using something like SUN-rays one doesn't even require a terminal, just a graphics card, a monitor and a network-card. (Makes thin clients look awfully chubby)

    Maybe i'm missing the point but i get a feeling of "been there - done that".

    Could someone "in the know" enlighten me, I must be missing something...

  • Yes, we need compiled languages. If I'm going to spend big bucks on a system that runs thousands of times faster than what I was using ten years ago, why would I want to run interpreted programs and only get 5%-10% of the speed I paid for?

    If we're going to go that route, why don't we use the now-ultra-cheap 80486 series along with hand-coded assembly language programs and have $30 computers?

    As with all such monomaniacal fantasies...

    I personally believe interpreted languages will triumph in the end
    ...I believe that choice and diversity of options should triumph in the end. It's not necessary to wish the destruction of the dreams of others in order to pursue your own.
  • Unix is only dos on steroids when you are trying to describe it to someone who sees the only difference as 'unix uses a command line'
  • Well, Eros is interface independant, and works form the assumption that "Everything is a Data Structure", and the GNU/HURD is Bizzare and Uber Flexible.

    Command Line != UNIX-like

    And besides, if you make the assumption that small programs are easier to debug, and that access modes should be uniform, then you tend to converge to something UNIX like as your basic system. Now, if memory or networking become cheap, things change a bit, but the bits that dont change will STAY unix like, because it WORKS, and it is near optimal.
    -- Crutcher --
  • Only to a degree.
    A knowledge of unix and the interfaces it provides.. for many projects, the only reason many people don't do it in C is because they don't know how.

    And compiled code is not just 'somewhat' faster than interpreted code, it is many orders of magnitude faster.
  • by T. Emthrie ( 198024 ) on Wednesday June 07, 2000 @05:00PM (#1017570)
    I worked with this program when I left Lucent's SW development division when Lance Boxer came in from MCI. This "Sweet deal" is not so sweet when you really know what's behind it. BL has done this before and they are doing it again. There is quite a bit on fine print in the licensing, basically stating that use in any other than a "racreational" (read home) workstation is prohibited under the agreement.

    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.

  • Plan 9's GUI is []. 8½ is so great because of it's compact size and simplicity in programming. A complete Hello World program is only 26K:

    #include u.h
    #include libc.h
    #include libg.h

    void ereshaped(Rectangle r)
    Point p;
    screen.r = r;
    bitblt(&screen, screen.r.min, &screen, r, Zero); /* clear */
    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);

    Mouse m;
    binit(0, 0, 0); /* initialize graphics library */
    einit(Emouse); /* initialize event library */
    m = emouse();
    if(m.buttons & RIGHTB)
    if(m.buttons & LEFTB){
    string(&screen, m.xy, font, "hello world", S);
    /* wait for release of button */
    do; while(emouse().buttons & LEFTB);

"How many teamsters does it take to screw in a light bulb?" "FIFTEEN!! YOU GOT A PROBLEM WITH THAT?"