Linked by Thom Holwerda on Tue 18th Nov 2008 06:45 UTC, submitted by pablo_marx
Microsoft 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).
Order by: Score:
First open source kernel from Microsoft!
by dimosd on Tue 18th Nov 2008 11:49 UTC
dimosd
Member since:
2006-02-10

Rejoice :-)

Reply Score: 3

Rahul Member since:
2005-07-06

Non commercial use restrictions are incompatible with open source

http://opensource.org/docs/osd

Reply Score: 5

Thom_Holwerda Member since:
2005-06-29

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

Reply Score: 8

segedunum Member since:
2005-07-06

"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

Reply Score: 3

google_ninja Member since:
2006-02-05

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.

Reply Score: 9

segedunum Member since:
2005-07-06

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)

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.

The whole "black helicopters" reasoning you are giving is wrong too.

When something is just a bit too close to reality, mention 'black helicopters' ;-).

MS-RL are for things specifically getting released for academic purposes.

Do you think Singularity is merely going to be an academic exercise for Microsoft? :-)

Same deal with project ROTOR

I don't believe .Net was an academic exercise either.

...which was intended to explore ideas that may give their own products a competitive advantage in the future.

How did that work out, considering that Rotor was just a very cut down CLR that no one did anything with?

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.

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

Reply Score: 1

jayson.knight Member since:
2005-07-06

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

Reply Score: 1

segedunum Member since:
2005-07-06

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.

Reply Score: 2

google_ninja Member since:
2006-02-05

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.


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.

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.


MS-PL has a hell of alot of use if you are a .NET developer, which many people are.

Do you think Singularity is merely going to be an academic exercise for Microsoft? :-)


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.

I don't believe .Net was an academic exercise either.


No it wasn't, but ROTOR was. It was an exercise in implementing .net on a non MS platform.

How did that work out, considering that Rotor was just a very cut down CLR that no one did anything with?


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.

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.


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.

Reply Score: 2

segedunum Member since:
2005-07-06

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.

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.

MS-PL has a hell of alot of use if you are a .NET developer, which many people are.

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.

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.

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.

The DLR/IronRuby/IronPython are obvious exceptions

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.

Reply Score: 2

WorknMan Member since:
2005-11-13

2. They don't want you using their code to create something new that will ultimately compete with software and products they're producing.


The bastards!! How dare they? ;)

If you think these two positions are comparable then you have a somewhat warped view of the reality of the situation.


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.

Reply Score: 4

John Nilsson Member since:
2005-07-06

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

Reply Score: 3

andrewg Member since:
2005-07-06

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.

Reply Score: 2

UltraZelda64 Member since:
2006-12-05

2. They don't want you using their code to create something new that will ultimately compete with software and products they're producing.

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.

Reply Score: 1

mtzmtulivu Member since:
2006-11-14

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

Reply Score: 1

Rahul Member since:
2005-07-06

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

Reply Score: 2

klimg Member since:
2007-08-03

There is no law against releasing non open source software yet afaik.

Reply Score: 2

Rahul Member since:
2005-07-06

That is completely missing the point. OP claimed that the software is open source when it is not. Law or not, is irrelevant.

Reply Score: 2

TommyCarlier Member since:
2006-08-02

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

Reply Score: 5

Kernel mode CLR
by benhonghu on Tue 18th Nov 2008 12:18 UTC
benhonghu
Member since:
2008-08-24

So the CLR now runs in kernel mode? What's the benefit of that though?

Reply Score: 2

RE: Kernel mode CLR
by dagw on Tue 18th Nov 2008 13:58 UTC in reply to "Kernel mode CLR"
dagw Member since:
2005-07-06

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.

Reply Score: 2

RE[2]: Kernel mode CLR
by FunkyELF on Tue 18th Nov 2008 16:25 UTC in reply to "RE: Kernel mode CLR"
FunkyELF Member since:
2006-07-26

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

Reply Score: 1

RE: Kernel mode CLR
by dcoetzee.microsoft on Tue 18th Nov 2008 20:00 UTC in reply to "Kernel mode CLR"
dcoetzee.microsoft Member since:
2008-11-18

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.

Reply Score: 3

RE: Kernel mode CLR
by Nelson on Wed 19th Nov 2008 02:42 UTC in reply to "Kernel mode CLR"
Nelson Member since:
2005-11-29

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.

Reply Score: 5

slow & limited
by evert on Tue 18th Nov 2008 12:36 UTC
evert
Member since:
2005-07-06

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.

Reply Score: 2

For real open source...
by anonymous2008 on Tue 18th Nov 2008 13:17 UTC
anonymous2008
Member since:
2008-11-18

...take a look at http://mosa-project.org

Seems to be down at the moment, but should be back later.

Reply Score: 1

RE: For real open source...
by __grover on Tue 18th Nov 2008 16:41 UTC in reply to "For real open source..."
__grover Member since:
2008-11-18

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.

Reply Score: 3

RE[2]: For real open source...
by rootnode on Tue 18th Nov 2008 19:58 UTC in reply to "RE: For real open source..."
rootnode Member since:
2008-11-18

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.

Reply Score: 1

RE[3]: For real open source...
by rootnode on Wed 19th Nov 2008 09:35 UTC in reply to "RE[2]: For real open source..."
rootnode Member since:
2008-11-18

Ok, website is back online. http://mosa-project.org

Reply Score: 1

I tried....
by circlomanen on Tue 18th Nov 2008 17:55 UTC
circlomanen
Member since:
2008-11-02

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

Reply Score: 1

RE: I tried....
by dcoetzee.microsoft on Tue 18th Nov 2008 20:08 UTC in reply to "I tried...."
dcoetzee.microsoft Member since:
2008-11-18

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.

Reply Score: 8

RE[2]: I tried....
by circlomanen on Wed 19th Nov 2008 04:32 UTC in reply to "RE: I tried...."
circlomanen Member since:
2008-11-02

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

Reply Score: 1

Licenses aside
by mikemikemike on Tue 18th Nov 2008 19:17 UTC
mikemikemike
Member since:
2008-11-14

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

Reply Score: 1

License drama
by Buck on Tue 18th Nov 2008 20:00 UTC
Buck
Member since:
2005-06-29

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!

Reply Score: 7

kosik
Member since:
2008-11-19

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?

Reply Score: 2

__grover Member since:
2008-11-18

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.

Reply Score: 2

kosik Member since:
2008-11-19

Thanks for the clarification.

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

I agree.

Reply Score: 1