Bell-Labs Releases New Version Of Plan 9
F2F writes "Plan 9 from Bell Labs Fourth Release was announced yesterday marking a major overhaul of the entire operating system. VMware images are now supported, together with hoards of new hardware. The operating system now sports a new security model (on top of the old one, which was already quite secure), new network-resident secure storage system and improvements in the thread library, among others. See the release notes here: release4 notes or simply go to the download page at: plan9 download." T. adds: erikdalen sent in these links to critiques of the Plan 9 license from Richard Stallman and Nathan Myers.
don't use their code.
When people are offering you something for free, it's pretty rude to complain that they're not offering you even more.
Tarsnap: Online backups for the truly paranoid
RMS argued that the bit about "all your modifications are belong to us" was really denying you the rights he finds important. I beg to differ.
By the looks of things, there's no restriction on you modifying the gode, with the exception that you must make your modifications available to the company. This would be sort of like forcing everyone who hacks the linux kernel to send in patches, which could be a useful thing to do. But there's no restriction on people messing with the code in the first place.
I'm not saying this software is free by Stallman's definition, but perhaps this is not quite as bad as he makes it out to be.
OS competition, if nothing else, motivates everyone to write better software (unless you're a monopolist, but we won't get into that). As a linux partisan, I say "Bring it on"
I am officially gone from
I think you should re-read what plan9 is all about. It's not about everything-is-a-file. That's unix.
Plan9 is in no way unix.
It tried (and succeeded) to do several things.
Plan9 removes the distinction between operating system, library, and application. These are things that an OS researcher cares about but a user doesn't.
So if you are developing plan9 apps, you *never* worry about the actual hardware. You worry about the program itself. The systems guys can map it to whatever hardware they want later.
You create your own personal computing environment the way you like it, and that environment can be mapped onto whatever sized plan9 installation you find later.
Yes.. it makes everything a file, or more accurately, every resource has a name in a tree-like structure. (not so much that everything is a file but a file is just another resource).
communications between resources is via a standard protocol (9p) that can be networked.
A system like you are proposing COULD go on top of plan9. That's more of a programming level thing than an OS level thing.
The thing is, plan9 offers no real benefit to a single user on a single computer. Running plan9 on your laptop is of no real use.
Running plan9 on your laptop because you are developoing apps that will ultimately run on the globe-wide corporate plan9 system.. that's where plan9 excels, because the little namespace you construct on your laptop.. when you plug your laptop into the global network, you can re-map your cpus for a given application to the supercomputing cluster in shanghai, the storage vault in the Caymans, and the 12 gig removable drive on the workstation next to you, and the application you wrote sees nothing different at all.
From the license:
You agree to provide the Original Contributor, 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.
Stallman's point:
This prohibits modifications for private use, denying the users a basic right
I'm not 100% sure I see his point. If you make use of the code for any purpose, and Lucent asks you for the changes you made, you have to give it to them. IANAL, but it seems that they just want to be able to see all changes that get made.
The rest of RMS's points make sense, and this clause:
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.
is truly awful. See the link from Nathan Myers for a well written explanation of just how bad this is.
Zapman
You can. But that's a drastically simplified way of doing things.
Sure, we can make drive F: just about anything these days, or we can network mount / to anything we want.
In plan9, every application works within a private namespace. Resources in that namespace can be mapped to anything, easily. It's not just about getting the files from somewhere else. it's about using different memory, processors, etc.
It's like symlinking EVERYTHING.. even all your devices.. but that doesn't even really cover it.
It's more than that.
It's not about platform independence.. it's about moving from a small scale system like a laptop to an absolutely huge-scale system like nothing you've ever seen before. It's about looking at resources.
From a developer (or user) point of view.. everything in plan9 is an abstraction.
A window has the same properties as a native screen. Keyboard input is identical everywhere.
It's not about processor-architecture independent code actually. Code still has to be built for the proper platform. (it can be re-built with absolutely zero modification, however)
It's about re-mapping any kind of resource somewhere else at will. It's about scaling up to huge systems.
It's not just about code that can run anywhere.. it's more like, you sit at your workstation and run some code. It runs locally.. everything is local except say part of your namespace which is the equivalent to a networked home directory for your project. Then you want the project to run somewhere else... so you run another clone of it, but this time you adjust the namespace for the app to use the big CPU cluster rather than your desktop. Everything looks and feels the same, exactly. Your workstation coudl be at home, or on your boat even.
With java, sure you can move stuff around, upload it elsewhere, run it elsewhere..
with plan9 you can basically run a huge collection of computers as one big computer with lots of different resources.
Or to quote (or probably mis-quote) something from the plan9 site..
Instead of building a system out of lots of little Unixes, we build an OS out of lots of little systems.
You look at a plan9 installation as one giant computer with resources, not as lots of independent computers that can communicate with each other.