Open solaris
has been launched with the release of dtrace under the Common Development and
Distribution License (CDDL), pronnounced "cuddle" (although I always think
ciddle when I see it). CDDL is an
OSI-approved
license. This should be a good thing, and is.
This blog entry covers some of the scope of contraversy over CDDL, and
sun's
decision to create it and to use it. I'll be reporting on discussions within
the
Groklaw,
HUMBUG, and
Debian organisations but mostly I'll be linking
to things I was interested to hear or things I agree with ;)
Groklaw was looking into the CDDL quite early in the peace. During December
2004 PJ wrote
this article
requesting feedback on the license as submitted to OSI for approval. After
noting the license was not going to be GPL-compatible she put this message
forward, front and center:
So what, you say? Other licenses are not (GPL-compatable) either. But the whole
idea of Open Source is that it's, well, open. For GNU/Linux and Solaris to
benefit each other, for example, they'd need to choose a licence that allows
that cross-pollination. So Sun is letting us know that it is erecting a Keep
Out sign as far as GNU/Linux is concerned with this license...
She goes on to quote
Linus Torvalds
who had
earlier spoken to eWeek.com
about CDDL to support her view.
By the 18th of December 2004 Sun had responded to Groklaw concerns regarding
some parts of the license. PJ doesn't comment further on the pros and cons of
the license
at this time.
By the 26th of January 2005 OSI approval had been granted. It was time for
PJ to get
back on
the bandwagon
with this sort of sentiment:
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?
A further 28th of January article
highlights
another possible technical issue with the CDDL arrangment, but expects the
problem will be solved when the Contributors Agreement is drawn up.
After reading the groklaw articles I had a number of things to think about
and wrote three emails to the humbug general mailing list. The first just
pointed to the 26th of January 2005 Groklaw article. The second two were a bit
more exploriatory of the problem of GPL-incompatiblity, and of what it means
to create a new open source license. On the 30th of January 2005,
I wrote:
I, for one, am not surprised by this release initially being under the
CDDL only. It does seem like a reasonable license given the
circumstances, just as the MPL did in the early days of mozilla. I think
(and hope) that over time the open source experiment will prove
beneficial to all parties and that dual-licensing under the GPL or LGPL
will one day be possible. It does seem unlikely that the GPL camp will
move too far from its position regarding compatibility after all this
time. As the newcomer to open source, sun.com will eventually have to
expose itself to the GPL if it is to maximise its community support and
exposure. Eventually, I hope that this open source experiment leads to
benefits to open source operating system development everywhere.
After some interesting followup by a resident Sun employee (who was not
representing Sun in the conversation), I wrote a more concrete exploration
piece covering the topics of whether opening Solaris would benefit Linux
and of general open source license compatability.
I wrote:
In order to make CDDL and GPL compatible we have to look
at both directions of travel. CDDL->GPL could be achieved
by dual licensing of the software or dropping the CDDL
in favour of something like LGPL or newBSD. Both options
are probably unacceptable to Sun who wrote this license
in order to protect itself and do other lawyerly things.
On the flipside, GPL->CDDL is equally hair-raising.
Linux code would similarly have to dual-license or
use a weaker license. Would the CDDL terms be an
acceptable release condition for Linux kernel software?
Probably not, because CDDL allows combinations with
closed-source code. That would allow the linux kernel to
be combined with closed-source code also. The two licenses
exist under two different ideologies and two different
commercial realities. The licenses are reflective of that.
and this:
I suspect developers need to be careful about looking at Solaris code
with a view to repeating what they've seen in Linux, and likewise linux
developers may have to be careful about what they would contribute to
OpenSolaris. Sure, it's fine to recontribute your own work but if you're
you're copying someone else's work there may be issues. Like
closed-source software, open-source software is not public domain and
can't be copied from one place to the other without reference the the
relevant licence agreements. When Microsoft code has leaked onto the
internet in days past I seem to recall fairly strong statements that
anyone who had seen such code would not be able to work on the same
kinds of features in Linux as they had seen in the leaked code. There's
too much of a risk that subconscious copying (or the perception of it)
could lead to future legal difficulties.
...
Still, even if no copying or cross-pollination can occur at the code
level the open sourcing of Solaris should bring the developers closer at
the collaborative community level. From that perspective even with the
GPL/OSI fracture we should all see some benefits from Sun's undeniably
generous and positive actions.
More recently, I've read up on what debian legal had to say about CDDL.
Mostly it was "We shouldn't be spending any time thinking about this until
someone submits CDDL code for inclusion into Debian" but some interesting
opinions did come up. Personally, I trust debian's take on what free software
is more than I trust OSI's take on what open source software is. Despite
striking similarity between Debian's
Free Software Guidelines
and OSI's
Open Source Definition
(the OSD is based on the DFSG) the two organisations seem to put different
emphasis on who they serve. Debian appears very conservative in making sure
that user and redistributor freedoms are preserved. I've never quite worked out
who's freedoms OSI is intended to preserve, but I believe they have a more
business-oriented slant. From my reading it seems that Debian's (notional) list
of acceptable licenses is shorter than OSI's (official) list.
Two threads appears on the debian-legal mailing list. One commented on the
draft license, and the other on the OSI-approved license. I think the most
pertinant entry from the former thread was
this one,
by Juhapekka Tolvanen which states:
It probably fails the Chinese Dissident test, but I don't think that's a
problem. The requirement to not modify "descriptive text" that provides
attributions /may/ be a problem, but that'll depend on specific code
rather than being a general problem...
Andrew Suffield
elaborates, saying:
Is that license free according to DFSG?
Not intrinsically. Individual applications of it may be, with a
liberal interpretation, or may not be, with a lawyer one. Notably it's
capable of failing the Chinese Dissident test, and of containing a
choice-of-venue provision. It also has a number of weasel-worded
lawyer clauses that could be used in nasty ways...
Yeah, it's another of those irritating buggers. We'll have to analyse
each license declaration that invokes this thing.
Followups in the later thread reinforce that none of the problems
debian-legal had with the orignal draft appears to have shifted.
To close out this entry I'd like to bring the
sagely words
of Stuart Yeates from debian-legal to bear:
The CDDL is almost certainly better from pretty much every point of view (including that of the DFSG) than the current licences for Solaris. If you had ethical no problems with the old licences for Solaris, you're unlikely to have ethical problems with the CDDL.
As for the free software world's general acceptance of and participation in the
CDDL, it is probably no worse than the Mozilla Public Licenese or any number of
other licenses that have appeared over time and been declared open source.
Personally I won't be trusting any license that Debian doesn't support, but we
won't find out whether that test is passed for quite some time yet (unless
someone wants to try a dtrace port...)
New licenses are created because the developer can't accept the protections,
guarantees, and restrictions of existing licenses under which to release their
code. Lawyers who write these licenses deliberately make their license
incompatable with other licenses in order to prevent their code being
distrubted under such unacceptable terms. In doing so, they prevent
cooperation at the source level between them and anyone else. They create a
barrier.
If I were Sun I'd want to be pretty damn sure that other people had the same
view about existing licenses and saw their license as the perfect alternative
before shutting out so much of the existing developer community. Regardless of
your attitudes about what represents open source or free software, these
barriers are not good. Every time a new license is written, somewhere a fairy
dies. Please, think of the fairies.
Benjamin