Sun Microsystems has released Open Solaris in an attempt to take some of the collaborative community that surrounds Linux and also to try to sway companies that are considering Linux to instead give Solaris a try. There are a few problems with their approach however, and they look like they will seriously dent Sun’s ability to command a following anything like the one Linux has.
For one thing, Sun is free in the money sense, not in the freedom sense. Basically if you write code that improves Solaris in some way, you must then give Sun equal copyright to the code so they can essentially do whatever they want with it. (This is unlike GPL Linux where the copyright stays totally in the hands of the developer.) You must not use that code in any GPL products also. In short, Sun’s version of what Open Source means, is very different from what the general Open Source community believes it means. Sun thinks the free in free software means “no cost”, where as the OSS community tends to view free as in “freedom to improve/use/distribute changes etc”. The CCDL license that Sun has adopted is not in any way compatible with the GPL governing the vast majority of the Open Source software available. It is that lack of “freedom” that is going to cost them the large community they obviously wish to create around OpenSolaris. The problem stems from Sun’s desire to control the development of Solaris with an iron first. It’s really just a one way exchange, Sun wants a community to contribute changes and improvements for free and to give Sun almost total control over that new code, and in exchange the developers only get to use it for free. It just won’t work like the GPL because Sun has kept total control over the project. Anyone can take the Linux kernel, modify it to their own design and release it for distribution as they see fit. The same cannot be said of OpenSolaris. Sun has apparently done this to avoid “forking” or incompatible versions of Solaris floating around, but it hasn’t been much of a problem with Linux so why are they so concerned? Why help Sun build a better Solaris when you don’t get anything back from it? That is the question many developers appear to be asking in light of all the announcements.
My personal theory probably makes me seem like I should be wearing a tin foil hat but I’ll say it anyway. Microsoft paid Sun a huge sum of cash to settle previous “arguments” between the two. Both Sun and Microsoft have a vested interest in slowing or stopping the growth of Linux since they both sell competing products and services. One way of doing that is to try to undermine the license under which the Linux kernel is made available. Sun hopes they can get the same interest in their product by calling it “Open Source” that Linux has, but without actually fully encouraging the totally Open stance that Linux has adopted. For one thing Sun got headlines when they donated 1600 of their patents to “Open Source”, but what wasn’t really detailed well until later was that the patents extended only to OpenSolaris and not to the general Open Source community. So Linux doesn’t get the benefit of Sun’s patents and so Sun didn’t really donate the patents to Open Source, they donated them for use with their own product. Hardly worth the fuss they made about it at the time. In short I believe that Sun’s OpenSolaris project is more of a media advertising event aimed at undermining the general Open Source movement then a development project aimed at improving Solaris itself.