Microsoft has released an initial release of version 2.0 of the Singularity operating system (research development kit, as it likes to call it). Singularity is a microkernel research operating system, where the kernel, drivers, and applications are all written in managed code. Singularity is released under a shared source academic license, and you can do whatever you want with it, except making money (simply put).
The following new features and fixes are included in Singularity 2.0:
- Support for AMD64 64-bit platforms
- Updates to the Bartok MSIL-to-native compiler and the Sing# compiler
- A new, more modern and extensible bootloader
- Several new applications and application documentation
- Eventing support
- More extensive ACPI support
- A unit testing library
- A ramdisk device
- An SMB client service
- Can now check out the most recent version of the Singularity RDK directly from CodePlex source control
You can download a pre-built .iso image for use in a virtual machine or a real-world install, or a .zip package containing the source code.
Rejoice ๐
Non commercial use restrictions are incompatible with open source
http://opensource.org/docs/osd
That depends on your definition of open source. I find “please do not make money with out stuff” not all that different morally than “whatever you do with our stuff must remain available to us”.
Correction: Whatever you do with your code must remain available to everyone, not just us. You would have thought people would have grokked this by now. Apparently not.
The reason why Microsoft has non-commercial restrictions is two-fold:
1. They want to make it as difficult as possible for you to get their code running and integrated with other platforms (our platform only please), and even if you do, it can only be an academic exercise.
2. They don’t want you using their code to create something new that will ultimately compete with software and products they’re producing.
It kind of negates the point of open source software really, since there is little if any motivation for people to put code in as all you’ll be doing is working for Microsoft for free.
If you think these two positions are comparable then you have a somewhat warped view of the reality of the situation.
Edited 2008-11-18 12:45 UTC
Actually, both you and Thom are wrong.
the MS-RL is not their open source license, the MS-PL is. The MS-PL has no restrictions on it, and is OSI certified as open source (which is the only real, legal way to say something is open source)
The whole “black helicopters” reasoning you are giving is wrong too. MS-RL are for things specifically getting released for academic purposes. Before the MS-RL, MS would share source code with universities around projects like this, just with all sorts of NDAs.
Same deal with project ROTOR, they put a lot of time and money into an internal research project which was intended to explore ideas that may give their own products a competitive advantage in the future. They don’t mind sharing their toys, but at the same time don’t want other companies to benefit from their beefy R&D budget.
So we’ve established that Singularity is not available under an open source license, and not available under terms that we would all recognise as open source? We’re not interested in the MS-PL here because it has no relevance whatsoever.
Academics are best off using code they can do something with and make something out of, and the current crop of MS-PL projects are somewhat less than stellar so I fail to see what relevance either license has.
When something is just a bit too close to reality, mention ‘black helicopters’ ;-).
Do you think Singularity is merely going to be an academic exercise for Microsoft? ๐
I don’t believe .Net was an academic exercise either.
How did that work out, considering that Rotor was just a very cut down CLR that no one did anything with?
Hmmmmm. What was that about black helicopters again, because I believe that’s pretty much the point? Regardless of whether Microsoft use an open source license or not, don’t expect to be able to do much with the code. Inevitably, Microsoft will see you as competition, as a lot of software vendors have found out.
The MS-PL is generally used for code you will have great difficulty getting off Microsoft platforms like Windows and .Net, and the academic license is where the latter is possibly feasible or where they see it as a real risk.
Edited 2008-11-18 18:34 UTC
Can somebody throw this FUD-Monkey off the site please. The sheer amount of false garbage I see you spewing out on thread after thread is downright sickening Sedge.
Edited 2008-11-18 19:49 UTC
If you can’t take the truth please just say so. Calling it FUD won’t help.
You will not be allowed to compete with Microsoft using their code (which is fair enough if that’s what they want), but worse, Microsoft’s concept of open source is where you contribute code to a project, to them, for free with nothing in return in terms of code freedom to make it worth your while.
That is exactly what I was saying. Singularity as it stands is only useful in an academic setting, the license makes it inappropriate for use in any practical way.
MS-PL has a hell of alot of use if you are a .NET developer, which many people are.
Yes. Barely anything ever gets productized directly out of MS Research. Things like singularity are created to test out ideas, those ideas are then rolled into products.
No it wasn’t, but ROTOR was. It was an exercise in implementing .net on a non MS platform.
I would not be suprised if the work they did with ROTOR helped them push out a mac version of of the CLR for silverlight.
The DLR/IronRuby/IronPython are obvious exceptions, but I agree in a general way. MS doesn’t care about making their competitors lives easier, but they care alot about their developers. From a .net developer point of view, a library licensed under the MS-PL is just as useful and relevant to me as something licensed under the GPL. The MS-PL projects only exist to make life easier for people like me, and the MS-RL projects are a bone for schools to teach using microsoft technologies. Anyone who says anything different is either uninformed or lying to you.
That’s great. I hope Microsoft aren’t expecting to see any outside code contributions, or even people doing anything with it. Rotor was a classic example in that regard.
Within a Microsoft controlled environment, possibly. The MS-PL code you see dotted around is not coming out of a .Net environment any time soon, and if you come up with a good project then Microsoft will merely come up with something closed and integrated with the next version of Visual Studio and leave your code to stagnate. It’s certainly happened.
Congratulations. You just did free market research for Microsoft. I’m stunned at how much people love getting hit over the head with a frying pan, and it has even dawned on Joel Spolsky how poor the relationship is for you as a developer.
So the code they produced in Rotor helped them create a Mac version of the CLR? Errrrr, the whole point of opening source code is that you give people the freedom to do lots of things with the code, they do lots of things you could never have thought of and in return you get those ideas back and the code for them.
They’re all projects funded by Microsoft.
I just can’t see Microsoft having any kind of real open source community with that kind of unequal relationship, and as far as I can see, both the public and academic licenses are little more than an exercise to give the impression of ‘opening source’. The only one who is going to be motivated to write MS-PL licensed code is Microsoft.
The bastards!! How dare they?
Well, they’re compatable in the sense that they’re both pretty much non-commercial, which was his point. One license forbids you from selling it commercially. The other one allows it, though nobody in their right mind is going to purchase it if they can just get it elsewhere for $0.
“comercially” is not the same as “selling licenses”, there are a lot of business models around software that has no dependencies on exclusive control of the software distribution.
Nothing to do with distribution. Its all about the fact that there is no GPL software where anyone in their right mind would pay to use the software. Paying for support and all the services around that is not the same as paying for the use of software i.e. paying for the actual utility of the software.
Which is why companies like Redhat and MySQL make next to nothing compared to their scope and quality of their offering.
Yeah, only within the walls of Microsoft is the thought of *gasp!* competition such a horrible crime. Honestly, their (illegal and monopolistic) behavior towards their competition and their loony beliefs that competition is somehow as bad a piracy or something are downright disgusting.
Makes me wonder… could this somehow be challenged in court for Microsoft allowing the viewing and manipulation of source code, yet doing everything in its power to prevent and possible competitors from coming out of it (ie. abuse of monopoly)? It’s clearly anti-competitive.
correction: you can do whatever you want with the code as long as you use it in your private space(fair use) but if you are to redistribute ..then you must do so under the term of the license(and a license like GPL will force the distributed code to be available to everyone) ..the recipients of the code can do with it as they please as long as they,too, dont distribute it ..and the license again will come into effect the second the redistribute it ..
again free licenses takes effect at the point of redistribution ..not usage ..any license that tells you what to do at the point of usage is not free
example, google can do whatever they want with their custome linux kernel and they can make as much money as they can with is as long as it remains inhouse ..GPL will come into effect the minute they redistribute their code to anybody and they will be forced to give it out to anybody who cares to want it
You would have thought people would have grokked this by now. Apparently not.
Edited 2008-11-18 18:40 UTC
There is one clear definition of open source which is the one that I referred to. There is a very obvious legal and moral difference between restrictions on commercial trade and reciprocal licenses.
http://freedomdefined.org/Licenses/NC
There is no law against releasing non open source software yet afaik.
That is completely missing the point. OP claimed that the software is open source when it is not. Law or not, is irrelevant.
It’s not open source, but shared source. It’s a research project with a non-commercial academic license.
Microsoft does use open source licenses for other projects, like the AJAX Control Toolkit and the Silverlight Toolkit. For a list of Microsoft open source projects on CodePlex (its open source project community), go to http://www.codeplex.com/site/users/view/Microsoft
So the CLR now runs in kernel mode? What’s the benefit of that though?
That’s what they’re trying to find out, by doing it. Sometimes it’s better to just try something and see what happens rather.
Like the LHC… just try it and see what happens. Whats the worst that could happen?
… oh yeah, the end of the world!
The primary benefit of a kernel-mode CLR is that it allows modules of kernel code to be statically verified as memory-safe at compile-time, which allows the construction of software-isolated processes running in the same address domain. Have a look at the paper “Sealing OS Processes to Improve Dependability and Safety” at http://research.microsoft.com/os/Singularity/ for more information.
No, all Singularity code is converted from MSIL to x86 opcodes. The advantage of this is that code can be “proofed”, that is guaranteed to not spill into other processes memory, and not do anything a normal managed program would not do.
Since this guarantee can be made, you can turn off costly (performance wise) hardware features of the x86 platform. The main one being ring0 – ring3 (kernel/user) mode separation of processes.
In Singularity, everything runs in kernel mode because all applications are proofed to never do anything with the other processes’ address space. This concept is called a Software Isolated Process.
This gives the benefit of things like zero-copy IPC (that is IPC with no context switching, which makes it as fast or faster than shared memory, and inherently less dangerous).
You may ask, can we really trust the software to verify the isolation? I do, but there is the option, to on a per-process level, enable hardware protection.
This can be used for example, to sandbox legacy applications or run code verified outside of a compiler approved by Microsoft, who knows.
It eats a lot of CPU while starting up, and its CLI is very limited. (tested with virtual pc)
Still, it is interesting to see such developments. A “new windows” must emerge some day.
…take a look at http://mosa-project.org
Seems to be down at the moment, but should be back later.
As one of the creators of MOSA: The site is down right now due to the fires in southern california. It should come back up within the next few days.
For those who don’t know: The MOSA effort spawned from SharpOS and Ensemble, both of which are real open source (GPL/BSD) attempts to create a managed operating system. MOSA itself is BSD-licensed and our goal is to define standardized interfaces (much like POSIX did for the Unix world) and provide standard implementations of various components required for managed operating systems. Right now we’re not far away from a first alpha release of our AOT/JIT compilers and a basic CLR running natively on x86. We’re working on a standardized driver framework for all managed operating systems that work with our group and are doing a lot of experiments – all while trying a test-driven design/development approach.
So for all those that are bragging about Singularity not being really OSS, please, go and take a look at MOSA as soon as the website is online again.
We’re still looking for developers that want to create a better world
While the website is down, come to #mosa on irc.freenode.net for further information.
Ok, website is back online. http://mosa-project.org
Running Singularity in KVM running in Debian AMD64.
A boring blue window without ANY way of interacting with it ????
Looks a lot like BSOD to me.
Same shit different name???
Anyone having any success running it in KVM ??
Hi circlomanen, I’m a developer on the Singularity RDK – if you’re not getting a command prompt at bootup, it’s likely that the current release has problems starting up on the specific virtual machine software that you’re using. I invite you to submit a bug with details of your configuration at http://www.codeplex.com/singularity/WorkItem/List.aspx so that we can investigate this. We want everyone to be able to try out Singularity.
“Hi circlomanen, I’m a developer on the Singularity RDK – if you’re not getting a command prompt at bootup, it’s likely that the current release has problems starting up on the specific virtual machine software that you’re using. I invite you to submit a bug with details of your configuration at http://www.codeplex.com/singularity/WorkItem/List.aspx so that we can investigate this. We want everyone to be able to try out Singularity.”
Thank you! I will do that.
Cheers Johannes.
OK. I think we’ve really covered the license issue now. It is by Microsoft. It is not free. Got it.
But what about the project? I think that they were able to pull it off is pretty cool. There have been other attempts at using garbage collected languages close to OS core, of course, but it does get tricky.
Edited 2008-11-18 19:18 UTC
Wow. Out of 24 comments 18 deal with a stupid license! As if those posters really cared what license some obscure academical project from Microsoft uses!
According to the “SDN2 Architectural Abstractions”, that is available in the published *.zip file on MS site, the TCB of this OS is formed by:
– processor and other hardware
– (compiler … not mentioned where I checked)
– host context:
— kernel/runtime
— HAL, native HAL, VPC manager
— GC & Memory Mgr.
— Metadata Manager
— Code Manager
— Scheduler
— IPC Manager
— I/O Manager
— Security Mgr.
— MSIL code translators
– guest context
— VPC VMM
Can somebody express it in the number of lines of code?
Am I right if I say that TCB of Singularity is more than 100 000 lines of code?
You’re certainly right. From our own experience it is a lot of code to get started, but the benefits from a managed language help everywhere. This is also the reason, why our group is using a lot of tests to prevent regressions and assert specific behaviour.
Thanks for the clarification.
I agree.