Microsoft Singularity Now "Open" Source 392
Alex_Ionescu writes "Microsoft's Singularity operating system (covered previously by Slashdot) is now open to the public for download, under a typical Microsoft academic, non-commercial license. Inside is a fully compilable and bootable version of what could be the basis for the future of Windows, or maybe simply an experiment to demonstrate .NET's capabilities. Singularity, if you'll recall, has gained wide interest from researchers and users alike, by claiming to be a fully managed code kernel (with managed code drivers and applications as well), something that would finally revolutionize the operating system research arena. The project is available on CodePlex."
Software Isolated Processes (Score:5, Informative)
Re:Stability? (Score:1, Informative)
No IE, but it has Pong!
Oh wow! (Score:4, Informative)
What OSS developers already proved [jnode.org] years ago.
Actually, I'm still pretty happy about this. Regardless of whether Microsoft was first or not, they're going to manage to market the concept far better than a conglomeration of OSS developers ever could. (Sorry, guys!) If everything goes well, perhaps the public impression of managed code being "nothing but an interpreter" can finally get turned around and Computer Science can keep moving forward.
Re:Stability? (Score:5, Informative)
This OS doesn't really run any applications at all. It's not intended for commercial use, and will not be the next Windows. All it is, is a test bed for future technologies. Think of it as an IT equivalent of a concept car. It doesn't really run, but it's nifty to look at to get ideas for future projects.
Re:Stability? (Score:3, Informative)
the open source definition, right here: (Score:2, Informative)
also, STFU when you clearly have no clue.
there is a thing called the open source definition (Score:5, Informative)
also, repost is repost [slashdot.org]
Re:!free (Score:4, Informative)
It's not Open Source until you can use it. BSD, MIT, Apache, GPL, allow you to actually use the code.
Re:Why are people excited about this? (Score:3, Informative)
You're right, this will not eliminate bugs. But it will prevent applications from "stepping on each other's toes". SIPs can not modify their own code or write to other SIP's address space. I don't see this as so much of an abstraction layer as just a different way for the kernel to manage processes and address space.
Besides, every kernel implements abstraction layers anyway. Heck, you could even consider the kernel to be one big abstraction layer to the hardware. So abstraction layer does not always equate to "more overhead". And this isn't an abstraction layer on top of an existing high-level system. This is an entirely new kernel that implements processes and memory management in a completely different way.
NOT Open Source (Score:3, Informative)
Re:!free (Score:4, Informative)
http://www.opensource.org/ [opensource.org]
They may have coinded tghe term, they certainly promoted it and made it polular. They disagree.
all the best,
drew
http://zotzbro.blogspot.com/ [blogspot.com]
technically not open source (Score:2, Informative)
QUOTE:"Although the Singularity research development kit (RDK) is available for download, it is not technically open source. The source code is distributed under the terms of the restrictive Microsoft Research License rather than one of Microsoft's two OSI-approved open source licenses."
ars technica [arstechnica.com]
To be "open source" you need a tad little bit more than having the source readable in plain text, IMHO.
Re:It's open source because... (Score:4, Informative)
Re:!free (Score:5, Informative)
Re:Software Isolated Processes (Score:5, Informative)
For the IPC they have made some strange choices, receiving is synchronous (as in process calculi) but sending is asynchronous. As they are writing the lowest level parts (such as the schedular) in this code it may be an implementation difficulty with synchronous sends. The cheapness of the IPC seems to be routed in the transfer of ownership that communication implies. In essence you can't alias, you can only pass by value - but the low-level runtime can modify this to pass more efficiently by reference because it can verify there are no dangling references. This would (if it works over a large enough code base) solve the performance issue with IPC in a microkernel. It is (as another reply pointed out) similar to providing the semantics of heavy-weight communication to the programmer in a way that can be implemented with cheap co-routines.
Having done some (well, little) work in this area I'm really impressed by what they've achieved already.
Re:!free (Score:5, Informative)
Re:Software Isolated Processes (Score:2, Informative)
"Open Source" has a standard definition (OSI's) (Score:3, Informative)
Instead, use another term when you mean "you can read the source code". I suggest "source available".
Re:!free (Score:3, Informative)
No spin required: it's kernel Erlang (Score:5, Informative)
In other words, Microsoft finally discovers Erlang [erlang.org].
While I wouldn't go so far as to say that the guys at Redmond lost the habit of inventing anything new a long time ago, the above concepts have been in industrial use in Erlang-powered PTT exchanges since the dawn of time.
Re:NOT Open Source (Score:3, Informative)
OSI is not some random organization that popped up and created a website. Proponents of open source are not fascists. There's no religious ferver here. The individuals are simply protecting their homes. This is where they live when it comes to their community spirit. Soon you'll be redefining their definitions of terroristic toward Microsoft. It is insanely stupid to do so but once you attack and the open source folks defend sooner or later the battle will get much more heated and we'll begin to see terms like terrorism used in software because one party wants to ensure that their homeland is safe.
This is not an open source project and doesn't meet the established definition, one which has been long standing for years and has not been challenged except by a company that has stated they are hell bent on destroying "open source" and is a convicted monopolist. We aren't going to get a court ruling on the term "open source" and those that established it are the ones to define it. Just as I write the book I have the right to name it. BTW, did the court give Websters the right to define words? Or Blacks? I think it is that these were the first entrants and they have been accepted for years. They didn't form some world wide standards organization to create their dictionaries (legal the Blacks law dictionary, or Websters for the English language).
You can't redefine it because you disagree with the meaning given to it by those that invented it.
Re:Why are people excited about this? (Score:5, Informative)
Re:It's open source because... (Score:4, Informative)
Managed Code is code intended for a virtual machine (like MS's CLR or Sun's JVM) that abstracts the hardware instructions away. Instead, the instruction set for the virtual machine is used. The Virtual Machine will provide "devices" and "memory" in a (hopefully) safe and portable way and take care of all of the dirty hardware business itself. Some VM's will actually take the VM instruction and turn it into actual hardware instructions as it's being executed (JIT) for speed, but that's not necessary.
Which isn't to say that Managed Code is a new thing: The USCD-Pascal p-code machine is remembered fondly by many, and the Zork games ran on a Z-Machine.
Interpreted code is a little stickier because it's been around a lot longer and has picked up some additional meanings. It can mean anything from the "Managed Code" described above to parsing (and possibly re-parsing) text lines of BASIC as they're run to process them in a giant state machine which "runs" the program.
Usually, interpreted code implies that there's no abstracted fully virtual machine underneath running the code, but possibly just a big jump-table pointing at native assembly-language (hand-coded or compiled) routines. Perl and Microsoft BASIC (basis of many of the old 8-bit BASICs) are two examples of interpreted code.
Re:Oh wow! (Score:3, Informative)
Re:It's a nice system. Is this abandonment? (Score:3, Informative)