cdrtools - a tale of two licenses
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.
