cdrtools - a tale of two licenses
[Posted August 12, 2006 by corbet]
When Sun Microsystems set down to create a license for the release of
Solaris and other code, the end result was the
Common
Development and Distribution License or CDDL. Most people who have
looked hard at the license have agreed that it is, indeed, a free software
license. It is also, however, considered to be incompatible with the GNU
General Public License (GPL); the Free Software Foundation
has this to say
about the CDDL:
This is a free software license which is not a strong copyleft; it
has some complex restrictions that make it incompatible with the
GNU GPL. It requires that all attribution notices be maintained,
while the GPL only requires certain types of notices. Also, it
terminates in retaliation for certain aggressive uses of
patents. So, a module covered by the GPL and a module covered by
the CDDL cannot legally be linked together. We urge you not to use
the CDDL for this reason.
This license incompatibility has, among other things, put a roadblock in
the way of incorporating any Solaris code into the Linux kernel (and vice
versa). The two remain in their own separate licensing universes, and
cannot mix.
Not everybody appears to share this opinion, however. Consider Debian bug
377109, filed by the sharp-eyed license watchers in that camp. It
seems that Jörg Shilling, the maintainer of cdrtools (containing
cdrecord, mkisofs, and other tools), decided to license his build system
for those tools under the CDDL. The GPL requires that build tools and
scripts also be released under the GPL, so mixing the CDDL build system
with the GPL-licensed CD/DVD tools made the whole thing undistributable -
at least, in the eyes of the Debian developers.
Since that bug was filed, the situation has evolved somewhat. The current 2.01.01
cdrtools release has relicensed a number of code components under the CDDL.
The relicensed bits include cdrecord and libscg. Other components, such as
mkisofs and libparanoia, remain under the GPL and LGPL, respectively. Some
of these licenses are unlikely to change; the mkisofs code has copyrights
held by a number of people (and companies) other than Mr. Schilling, and
going back as far as 1986. Since mkisofs, at least, is built with libscg,
the resulting system is a combination of GPL and CDDL-licensed code. In
the minds of most observers, this combination is not distributable.
The Debian developers are now trying to figure out what to do about this
situation. As most people familiar with the relevant personalities would
likely expect, conversations with Mr. Schilling have not come to any sort
of productive outcome - though it has yielded an amusing nine-point plan from Mr. Schilling
on how to fix Debian's cdrecord problems. A very possible outcome is that
Debian will drop Mr. Schilling's cdrtools distribution and maintain a fork
starting from the last distributable version; other distributors may well
follow suit. The dvdrtools project has
been pointed out as a possible starting point.
Forking cdrtools is not a particularly new idea. This package has been the
subject of a long series of inflammatory disputes with its maintainer, who
does not always agree with the Linux way of doing things. People have
often wondered in public just why this version of cdrtools was still in
use. The answer, presumably, lies in the fact that (1) cdrecord works
for most people, who can happily ignore its maintainer, and (2) CD/DVD
recording is a complex and tricky business which intimidates many
developers who might otherwise jump into the code. Whatever the reasons
might be, no cdrtools fork has gotten very far.
The licensing issue might just be the final straw that makes a viable fork
happen. Distributors can ignore a difficult maintainer, but it is harder
for them to ignore possible licensing issues. If they decide that cdrtools
cannot be distributed in it current form, they will have no alternative to
ceasing distribution - and that means coming up with a replacement. This
may be the year when, finally, cdrtools for Linux finds a new maintainer.
(
Log in to post comments)