As I'm sure you've heard, Sun announced that Solaris is being released under their new CDDL license, which was recently approved by OSI. So, OpenSolaris is launched. Sun folk pronounce the CDDL as "cuddle", by the way. Their website announces it this way:
The Solaris operating system is being released under the terms of the OSI-approved, CDDL (Common Development and Distribution License). Millions of development hours worth of code and over 1,600 patents are being contributed to the open source community. We know that innovation happens everywhere. And we're going to stand shoulder to shoulder with you. To push Solaris. And see how far we -- together -- can take it.
The opensolaris.org web site will be the center for OpenSolaris activity. Program content will be released in stages. The source code for one of the Solaris operating system's most advanced features – Dynamic Tracing (DTrace) is available here. We invite you to take a look. Expect to see buildable Solaris code here in Q2 2005.
Community involvement and input is critical to the success of the OpenSolaris program. If you want us to update you on major events such as the availability of buildable Solaris source code, please provide us with your email address in the text box on the right.
The press release is here. Some Solaris engineering blogs are here, including Danese Cooper's and Adam Leventhal's blog on DTrace, the first part of Solaris to be made available. Bryan Cantrill takes us on a tour of DTrace code here. Sun held a teleconference for reporters Tuesday afternoon, and the best coverage of the facts regarding what was said at the teleconference that I've seen is Stephen Shankland's account here.
Yes, they are freeing up 1600 patents, but not for Linux, not for the GPL world. I'm a GPL girl myself. So it's hard for me to write about this story on its own terms. I am also hindered by the fact that I've yet to meet a Sun employee I didn't like personally. But, despite being pulled confusingly in both those directions at once, in the end, I have to be truthful. And the truth is Sun is now competing with Linux. That's not the same as trying to kill it, but it's not altogether friendly either. Yet, at the teleconference, Sun said they want to be a better friend to the community. I feel a bit like a mom whose toddler has written "I LUV MOMMY" on the wall with crayons. Now what do I say?
Their press release ends like this, for example:
Radically reducing risks associated with using and developing open source
software, Sun is firmly standing behind our products and the worldwide
development community. Armed with access to Solaris OS platform intellectual
property, OpenSolaris developers and customers alike no longer need patent
protection or indemnity from Sun's and other participants in the OpenSolaris
community for use of Solaris-based technologies under the CDDL and OpenSolaris
By releasing the OpenSolaris OS platform under the CDDL, the open source
community will immediately gain access to 1,600 active Sun patents for all
aspects of operating system technologies that encompass features ranging from
kernel technology and file systems to network management, to name a few.
Patents for Sun's newest technologies, such as the anticipated Dynamic Tracing
technology, will also be available under the open access program.
Historically, Sun has contributed more code to open source initiatives
than all other organizations with the exception of UC Berkeley, and remains
committed to providing engineering support for Apache, Mozilla, Gnome,
OpenOffice, Grid, JXTA, ODSL and other open source projects. Previously, Sun
donated the source code of StarOffice(TM) software, which drives the
OpenOffice suite bundled with most versions of Linux and was awarded a Product
Excellence Award at the 2004 LinuxWorld Conference & Expo for Best
I know you are aware that Groklaw was asked to provide input on the CDDL license, among others, and marbux and I will be writing about that with more particularity later. There are complex issues that flow from the Microsoft factor. I tried very hard to argue the case for the GPL. I will tell you that while I got nowhere on that point, I am also not convinced that a shift in that direction couldn't eventually happen. Sun's response to our input was, I have to say, surprisingly positive. They did make changes to wording to address most of our concerns. They did take seriously your comments here on Groklaw. It's clear that they do want input from the community and are desirous of learning from past mistakes in that area. They went to a lot of effort to express to the community at large that they are not intending this as a hostile move to try to kill off Linux. But the problem is, bottom line, that when they say "the Open Source community" in their press release, they don't mean Linux. When I say "Open Source community," I do. And so their decision to build a moat that in effect keeps Linux out, even if we were to posit that it really wasn't the primary intention, is to me as irrational as a divorced wife inviting her ex to their child's wedding but insisting that his second wife can't come with him.
I can't write in detail about the license today, because the final CDDL package isn't done yet. We still haven't seen the Contributors' Agreement, because it hasn't been made available yet. Some of the concerns marbux and I raised I hope will be addressed in the Contributors' Agreement. Overall, assuming good will on their part, and I do, and subject to whatever the final CDDL package says, including the Contributors Agreement, it's really not a bad license. You can read their FAQ for yourself. It's by far the best license I have ever seen from Sun. For one thing, as they themselves stated in the teleconference, Sun can't pull this license out from under you the way earlier licenses made possible.
1 And it is so much simpler. It is what it is, and what it is is a middle ground license, designed particularly for businesses to be able to mingle their code, their proprietary code, with Sun's unmodified CDDL code and keep their own code proprietary. A lot of businesses want to do that, and this license does enable it. It does what it sets out to do. The worst thing I can say about it is that you can't mix CDDL and GPL code. And that is a big problem. How Sun puts that together with this paragraph in their Licensing FAQ, I don't quite understand:
In addition, the Solaris operating system includes a number of components based on existing open source projects, which will continue to be available under their current licenses. For example, the version of Perl included in the OpenSolaris source base will be licensed under the Artistic License and the GNU GPL.
So, they can use GPL code, but not the reverse. The FAQ delicately phrases it this way:
Can code licensed under the CDDL be combined with code licensed under other open source licenses?
CDDL is file-based; that means that files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary. However, other licenses may have different restrictions which may prevent such combination; be sure to read and recognize those.
DrStupid sees a workaround some could make use of:
"You can't co-mingle existing GPL code and CDDL code, that is true. But you
can have GPL and CDDL programs side by side (because of the mere aggregation
clause of the GPL, and the equivalent clauses in the CDDL.) This is how, for
example, you can have the GPL'ed Perl shipped with the CDDL OpenSolaris.
"So, suppose that there was a really nice UPS-controlling daemon in
OpenSolaris. You could port that to run *on* Linux quite happily. It would
still be CDDL-licensed - but running on Linux. What you can't do is take
some GPL'ed code from project A and some CDDL'ed code from project B and jam
them together. That's a shame, because it means people will have to waste
time (in both communities) reinventing wheels.
"But there is an important "middle way" - one which has been used before in
the context of the MPL, which is also incompatible with the GPL and for the
same reasons as the CDDL is. (Hardly surprising since the CDDL is based on
"Doubtless many, if not most Groklaw readers are familiar with GnomeMeeting.
GnomeMeeting is GPL - or rather, a modified GPL. The license for GnomeMeeting
has the following addition:
'GnomeMeeting is licensed under the GPL license and as a special exception,
you have permission to link or otherwise combine this program with the
programs OpenH323 and Pwlib, and distribute the combination, without
applying the requirements of the GNU GPL to the OpenH323 program, as long as
you do follow the requirements of the GNU GPL for all the rest of the
software thus combined.'
"Why is this there? Because the OpenH323 and Pwlib libraries are
MPL-licensed, and ordinarily this would prevent them being used by a GPL
program. But because the author realized in advance he would need those
libraries, he added this exception clause. The effect is to enable the use
of the MPL libraries, without significantly compromising the GPL-ness of the
"See this post:
"There is no reason why similar processes could not be used with regard to parts of
OpenSolaris. One might take some useful code from OpenSolaris and repackage
it as a CDDL-licensed library. Then, write a GPL application (with a special
exclusion in the license) that links against the library. The GPL'ed code
one wrote could be reused in another GPL application, so it isn't lost to
the GPL community; it is still GPL'ed, so can't be co-opted by closed
source; but can still take advantage of the CDDL library and its implicit
"In this way parts of the CDDL-licensed OpenSolaris could be 'embraced and
extended' (but without being extinguished :) by GPL code."
"In a nutshell, if:
A = existing GPLed code
B = your newly-written "GPL+exception" code
C = CDDL code
"Then you can link together B+C, but not A+B+C. However, you can link
A+B (without C),
so in making your code "CDDL friendly" it isn't lost to other GPL
developers. And of course,
the copyright holders of A may later decide to tweak the license on it."
I checked with Dan to make sure, and he agrees, pointing out though for emphasis that this workaround could only be done with code you personally own. You couldn't do it with anyone else's GPL code:
"He's correct, that code base 1 licensed under 'GPL and exception', where the exception allows for compliance with a GPL incompatible license allows code base 1 to be combined with code licensed under the specifically identified GPL incompatible license, but that doesn't allow any GPL'd code to be used with such code. It's the copyright holder's prerogative to 'dual-license', in effect, in this way in order to permit interoperability. But, she can only do this for code she owns. She cannot create an exception for GPL code owned by someone else."
What Sun said at the conference is that they wanted a license that, unlike the BSD license or Apache licenses, would require that modifications be contributed back, while at the same time making it easy for businesses to work with it. And they said that while the GPL license is good for some things, it's "viral", so they wanted a license that would be easy and simpler to use. What the GPL isn't good for, they think, is for an operating system. Yes, that is what they said on the call, obvious facts in the real world notwithstanding. I do understand that opening up code that was previously encumbered isn't the same thing as deciding how to license code written fresh. But I have to admit that I don't think they fully understand the GPL yet, or how it works in real life. And when I hear the word "viral" and the GPL in the same sentence, my FUDometer starts ringing. In this case, though, I have formed the impression that it's more ignorance than hostility. Ignorance is a simpler problem to fix.
You can be a cynic, as many of the reporters on the teleconference clearly were, and view it as a jab at Linux, a competitive effort to try to replace Linux or at least keep it from eating Sun's lunch. The Wall Street Journal expresses that view:
Sun, meanwhile, is hurriedly trying to emulate attributes of Linux, which has helped to drive demand for low-end computers that have taken sales from Sun machines. Solaris 10, like versions of Linux, will be available for free download next week, though Sun plans to make money by selling support services for the product.
The company yesterday formally announced its licensing scheme for making an open-source version of the software, dubbed the Common Development and Distribution License. That document, among other things, gives users of Solaris 10 immunity from any patent claims from using the product.
Scott McNealy, Sun's chief executive officer, said patent immunity could be a big marketing advantage in trying to popularize the company's software in markets such as China, where government agencies want lower software prices and are worried about the possibility of paying patent royalties.
Personally, I understand that any company needs to be competitive. And I get that a company used to thinking that way will have a difficult transition to community thinking about development. So I'm not a cynic from that standpoint. I heard them say at the conference call that they are trying to respond to demand. Governments are now, in more and more places, requiring that Open Source software be considered, and Sun would like some of that business. They also said that Wall Street companies have some fine coders who will now be able to do real-time fixing and personalization of the code, without license worries. Sun cares about Wall Street. They want that business to stop going to Linux, I gather. And they recognize that companies today don't want to be locked in to any particular vendor.
It's not a crime to want to stay in business. But, to me, it is a missed opportunity. If Sun had GPL'd this code, with the patent grant, they would have been heroes, and folks would have contributed back, just as they are giving support to IBM and other corporate friends. Sun, to their credit, have spent ten years working on getting this code as free as possible from license entanglements. They haven't succeeded 100%, and there are still a few binaries that are not being opened, as you can see on their roadmap page, but it's not Sun's fault. They surely tried. And most of the code is now, they say, theirs to open source at will. I'm not positive SCO or Novell will agree, but that is Sun's position. Can you imagine if CDDL code could be put together with GPL code, and you put Sun's 1,600 patents in with IBM's 500 (so far)? It's heart-breaking that it didn't happen that way. Dan Ravicher of PubPat.org points out a difference in Sun's patent grant and IBM's:
"The CDDL only grants a license to the patent claims owned by a distributor of the software that cover the version distributed by it, no more, and only for using the software distributed by it, no other programs. No patent license is given by the CDDL to any of the distributor's patents to make modifications to the licensed software or for any other software at all.
"This, in my opinion, is much less of a grant than the implied license that arises from use of the GPL, which would extend to not just those patent claims covering the software distributed by the patent holder, but also to patent claims covering reasonably contemplated uses of the software. And even that is much less than IBM's grant from last week, which was for any software."
But for me the bottom line is this: it's their code, and they are free to do with it whatever they wish.
You might be interested in Larry Lessig's blog entry on IBM's patent pledge:
IBM has announced the pledge of 500 patents to a "patent commons" for "open source" software development. That means people developing software licensed under a license certified by the Open Source Initiative can be assured that IBM will not assert these 500 patents against them -- at least so long as they don't sue IBM or another open source developer for patent related issues. (Steve Lohr's got a piece in the Times.)
This is important news. It further demonstrates IBM's commitment to making free software and open source software development flourish. And it could well inspire others to follow. Ideally there should be a trust that these patents could be contributed into. We'll have to get the commonists to get to work building such a thing.
Now, though, I am afraid Sun is creating their own little park, a very pleasant one in their eyes, where Sun's 1,000 Solaris inhouse coders and some outside BSD guys, I guess, will work on Solaris code and have a ball, I'm sure. They've had 60 or 70 programmers outside of Sun working in a pilot community already for a while, and here is one of them enjoying this moment, and you'll find directions there on where to find the gang on irc, if you wish. Now Sun is opening it up to others. But it will be a much smaller party than it could have been, and in Open Source, size matters. They are keeping out some of the best coders in the entire world. So, now they will have to live with that, without the bulk of the FOSS community's support. The GPL is by far the most popular FOSS license. One need only see how unsuccessful Open
Source licenses that are GPL-incompatible have been. They've pretty much all failed
to go beyond whatever initial software was licensed under them, and
they've often killed any community involvement even with that software.
Free software and the GPL,
at least at this time, are still intricately intertwined. People know the GPL, and there's
more history and understanding of the GPL, in addition to the amount of
software under GPL being by far the plurality.
If that is all they want, a smaller, alternative Unix community, I can't criticize. But that is all they will get. When I saw the Wall Street Journal article, I read the title wrong at first. It's entitled, "Sun Grants Solaris 10 Users Free Access to 1,600 Patents." I thought at first the WSJ was mocking Sun and saying only about ten people would accept their offer, before I connected that it was talking about the product Solaris 10.
At the teleconference, they announced that there will be an advisory board to oversee OpenSolaris, made up of two inhouse Sun people, two from outside, from the pilot project group, and one from the Open Source community. They are taking nominations for the last spot. One questioner on the call asked if they could maybe get Linus. They honestly answered that Linus is only interested in working on GPL code. If Sun ever figures out why that is, why so many in the community are specifically interested in GPL code, including end users, they'll be able to really join the Open Source community more fully.
But I don't totally reject the steps that they have made, just because they didn't go the whole hog and even though I am distressed that anyone would do anything to make things harder for Linux, particularly now. That never helps. I think about relatives who won't switch to Linux but will try Firefox and OpenOffice.org, and I see Sun a little like that. I know that isn't the image they hoped we would come away with.
They said on the call that they are going back to their BSD roots and they are committed to Unix and to sharing. It's a good thing in one way, and at the same time, back is not the right direction to be heading. And BSD code was code you could put together with GPL code, after all. Do they really believe that companies, faced with having to make a choice, will choose CDDL code over Linux? That's quite a gamble, one that I personally think they will lose.
It is a fine thing that they have absorbed the reality that the world is changing. And I commend them for understanding that patents are the problem and that Open Source development needs protection from patent threats. It can't be, they pointed out on the call, the old model any more. People want FOSS software, and Sun sees that and they are adjusting. They also clearly understand that overseas, the patent game can't work. Folks in the developing world can't afford to play and neither can individual developers or small businesses anywhere.
The problem I still see is that Sun wants to drop the F and run its own race with the OSS part, defining it in their own narrow way, and by dropping the F I mean not accepting the GPL. Is that enough? Well, to each his own.
2 Do you hate someone because he'd rather develop FreeBSD than Linux? I don't. Is Linux afraid of a little competition? Not if it's fair. I tried to help them with the license, because that is what the community does. We try to help each other and we'll help anyone trying to be a part of things, even if they don't get it all perfectly at first. I wish corporations could understand what community really means and check their super-aggressive competition at the door. That hasn't happened yet. It matched the pay-for-a-license software world. It's discordant in the free world.
But, although I tried to help, my bottom line hasn't changed a bit. I'm still a GPL girl. And I hope someday they'll join us, as the song says, and the Open Source world can live as one.
1 There is a problem with the license that marbux noted, but it's a problem Sun didn't seem to have thought of until marbux pointed it out, so I am convinced it wasn't their intent. I also hope it will be addressed in the Contributors' Agreement. If not, I'll explain it to you, so you can sensibly decide if you wish to accept the terms of the license or not.
2 For a Sun reaction to my article, try Simon Phipps' thoughtful blog. It's their initiative, so it feels right to let him have the last word, other than to say that I prefer the GPL because it was designed to compel corporations to play fair. It's a "no-rape-or-pillage allowed here" license, and that is supremely pragmatic, since, as I have observed, rape and pillage seems to appeal to the nonFOSS corporate mind. It's the only license that tackles that issue head on, and that is partly why people trust it.