Monday, February 21, 2005

Linux Magazine's CDDL article: a rebuttal

Being a true blue (or should that be purple?) Solaris advocate, I don't usually read Linux Magazine. But when I heard that Jason Perlow had written an article about Sun's license for OpenSolaris, the Common Development and Distribution License (CDDL, usually pronounced "cuddle"), in February's issue, I decided to check it out. What could have been a very interesting and balanced article turned out to be nothing more than anti-CDDL FUD. (BTW, this is not necessarily an attack on Jason personally: I thought his article about Skype's VOIP was quite interesting.) I'll go through his article and address the FUD piece by piece.


People are irritable, depressed, and frustrated, and they vent that by giving you really horrendous gifts--like the [CDDL], a wonderful, new, GPL-incompatible license that Sun Microsystems will use to distribute Solaris as open source.


Let's get this straight: it is the GPL that is incompatible with the CDDL (and many other OSI-approved licenses), not vice-versa. The CDDL explicitly allows code available under other licenses to be mixed with CDDL code, provided the language of the other license allows it. GPLed code can only be mixed with other GPLed code; such is its viral nature. Perhaps Jason was so irritable, depressed, and frustrated that he vented by writing such a vitriolic article?


Another open source license is like fruitcake: nobody wants it, you have to douse it with a lot of alcohol before injesting some, and even after that, you still feel constipated.


Why the harsh words? One wonders if Mozilla, which is distributed under the MPL that CDDL is based on, suffered such harsh words when it was released... At least Jason admits to liking Sun's technology, and even admits that Solaris 10 is "that good".


But mass adoption of Solaris will never happen with Sun's current plans to release it under the CDDL... Why does Sun need to give us yet another restrictive license that is completely incompatible with the GPL?... Instead, Sun releases the whole damn thing under a dog license like the CDDL, ensuring that nothing will ever make its way into other open source projects.


Again, it is the GPL that is incompatible with CDDL, not vice-versa. And here's a newsflash, Jason: not all open source projects are GPL-licensed. CDDL licensed code can quite easily be mixed with non-CDDL code, provided that the other code's license allows it. There's nothing to prevent a BSD-licensed project from using CDDL code, for example.

Oh, and with more than half a million downloads (two thirds of which were for x86) less than a month after its release, I'd say that "mass adoption" is only a metter of time...


Perhaps its just me, but does anyone else find it particularly obnoxious that Sun finds it completely acceptable to embrace GPL technologies like GNOME and Xfree86 in Solaris, while at the same time prevents cross-polination of Solaris technology to GPL projects with the CDDL? Sun's strategy is a one-way street...


OK, this bit really pissed me off, because it implies that Sun is quite happy to take from the GPL open source community, but gives nothing back. This is quite ludicrous: Sun GPLed the whole of the OpenOffice code base, and they have donated significant resources to projects like GNOME. They've also donated to other projects, like Apache and BIND. In fact, Sun has probably done more for the open source community than IBM, Red Hat, and SuSE put together. The difference is that IBM and the others fly the Linux flag, which I think is the crux of the matter. Jason, and many other of the more extreme Linux advocates (I'm trying hard not to paint all LInux advocates with the same brush), seems to equate Linux and open source. Here's a newsflash guys: Linux isn't the be all and end all of open source, a point all our friends in the BSD camps will agree with.

I think the bottom line is this: die-hard Linux enthusiasts are either scared of Solaris, or are just hiding their heads in the sand. Now, don't get me wrong: despite being a Solaris advocate, I think that Linux has its place. But it also has a long way to go before it catches up to Solaris, from a technical perspective. Apart from mindshare and hype, the only advantage one can gain by using Linux instead of Solaris is the former's arguably better device support. I say "arguably better" because although many devices are "supported" by Linux, the quality of that support varies greatly. And the number of devices supported, and supported well, by Solaris is growing almost by the day. It won't be too long before the device support differences will be moot, and then there won't be any reason (religous and philosophical issues aside) to use Linux over Solaris, while the latter will still have technical advantages over the former. Especially for ISVs, but that's another story for another blog entry...

5 Comments:

At 22/2/05 03:56, Anonymous Anonymous said...

nicely written. this cddl-bashing thing really is a phenomenon that keeps me wondering. :/ *headscratching*

 
At 22/2/05 07:13, Anonymous Anonymous said...

Wouldn't you write something like that if Solaris was threatened by Linux? People who are one-sided tend to overreact when something they like is deeply threatened (Solaris in this case threatening und undermining everything that Linux has going for it).

I'm from the BSD crowd, and I welcome Solaris...so much in fact that Solaris will likely replace my current FreeBSD installation.

In my honest opinion, this is the best step Sun can take for Solaris. This could possibly replace Linux in the corporate arena.

 
At 22/2/05 07:19, Anonymous Anonymous said...

You are right in that BSD projects cannot use GPL code.
But when you say that GPL projects can use BSD codes , i wonder where you took this wonderful idea !

wwwoffle would be glad to hear they can take leafnode code without legal issues.

I think you mix core code and linking with code.
GPL code can link to BSD code. BSD code can link to LGPL code but not GPL code.

As GPL code can link to CDDL code and the opposite your point seems out of topic. THe problem is not that GPL cannot link to CDDL code but that CDDL is just another incompatible licence , and that there seems nothing useful out of it (except as the ASPL did trying to build its own community without sharing work with other communities , be they BSD, ASPL , GPL ...)


IT is all about fragmentation and what we want. DO we want a "Unix/Linux" community for each company (that s what the flaming came from). Or one community for each economical models:
- GPL = academics input innovation to companies, companies have to give back addons and improvments. Sometime companies give their R&D as GPL to input innovation to the market at large (maybe to create the needed ecological environment, helping ISV to foster its market and improve its products usage).
- BSD = bring innovation from academics to companies , without bothering if the academics get anything back. It made Sun, Microsoft and set IBM and AT&T out of the market. I endorse the GPL not because i dislike the way it helped those companies, but because i saw nothing gave back to Berkeley or MIT (i mean something that has the same value has the input those academics gave to them freely - TCP/IP ...).

ASPL and CDDL does not feet in anything economical nor help with the new problems like patents. That is why i see them as political products which will hurt more than they can help.
I also agree that they are way better than previous Sun and Apple licences. As they are not bad things in themselves like the "share alike" licence from microsoft and NDA licences.

In short , thanks for sharing the open source thinking. But please understand that political issues can hurt. The GPL has some. But RMS himself agreed to LGPL and java linking exception.

If Sun want its own community so be it. But why not learn from the GPL history ? Yes LGPL is dangerous for GPL itself, we may end up with most software LGPLed, thus somewhat more BSD than GPL.

So trying to do like the GPL with CDDL seems childish. The GPL itslef did not win this case.

To go a bit further , GPL, APL (apache), MPL are seen as good as they mostly agree to duale licence. Thus they build their political communities and share with other economical communities.

Thanks for all the great work your company has ever done to build computer age at large (not only open source or free software).
I feel your comany has fully understood the political issues regarding GPL, BSD, Apache. They are buidling their own , that s fine.
But please don't read those licences as a "Jeovah" believer would. Read them in the current economical and social context.
Maybe you unerestimated the power of LGPL, licence exceptions and dual licencing.

As an example of this complexity, my best example is to compare the successes of XUL and gecko.
We have tenth of projects based on geko. Few are on XUL. Do you want sun projects to reach gecko or XUL markets ?

Or is it you that build the market or the market that choose you to build itself ?

PS: please avoid arguments about who was the first bad guy ... we don't care. The question is will CDDL help improving developpers to build better products. Buidling a community is a great thing , speaking about marketing. But you are talking to technical people, we don't care.

Regards
Alban

 
At 2/3/05 12:06, Anonymous Anonymous said...

C'mon. Solaris 10, zones, dtrace, zfs, self-healing(maybe), x86 strength. All great. I believe there is no other way to go if you have more than four processors, and your major upgrade cycle on enterprise apps falls around 6mos+.

But if you are after a personal desktop machine and package management, I'd be hard pressed to look beyond a Sparc or PowerPC running Linux (Debian really). I'll settle for x86 becuase its cheap and has the required compatibility for Windoze emulation of MS office tools. I do find SunPCI and Solaris allows me to do most things, but even blastwave doesn't allow my Solaris boxen to catch the Linux boxen in terms of tools and ease of package maintenance.

I'm reading your mail, but I think the door swings both ways.

 
At 7/3/05 20:25, Anonymous Anonymous said...

Sun's license? Love it, don't have to be a Red Hat slave, get a rockin' OS for running bigtime scale, consolidate all the Linux experiments my boss was making me run, joy joy joy.

Desktop? Stickin' with Debian man, Debian all the way (until S10 gets some power/battery management...)

 

Post a Comment

<< Home