Debian and Nexenta collide
Posted Nov 9, 2005 21:00 UTC (Wed) by
paulj (subscriber, #341)
Parent article:
Debian and Nexenta collide
The Nexenta project uses, along with the Solaris kernel, a number of user-space libraries (including the core C library) from Solaris. These libraries, being licensed under the CDDL, are not compatible with GPL-licensed applications.
The argument is a bit strained from a copyright POV. You have pre-existing GPL binaries, making use of fairly standard interfaces (C99, POSIX, SUS), such that they can be built against and link to any library implementing those interfaces. Solaris libc happens to be one of those. Precedent in US copyright law at least does not allow interfaces to be copyrighted, it's one of the (many) reasons why the SCO lawsuit is quite bogus.
The GPL can only reach as far as copyright law allows. Copyright affects implementation (well, expression, but in software ~= implementation), nothing else. If an interface is well enough defined such that it has been implemented seperately across many systems (glibc, BSD libc, Solaris libc, etc.) and thousands of applications are portable between them, then it's possibly a boundary for the reach of a copyright, and hence the GPL.
From a practical perspective, that clause of the GPL is there to prevent people 'hiding' or 'closing' functionality out of GPL applications, putting them in shared libraries instead. (Without a clear, portable, stable interface it may not be enough of a boundary to prevent copyright reaching across though - though, you'd need a judge and jury to decide for the specifics of each case). No code of these GPL applications is being "hidden" here at all. Nor even of the underlying libraries.
From an ethical perspective, the Solaris libc is openly available and modifiable under the CDDL licence. The CDDL licence is OSI approved and even RMS has no problem with it (calling it "an ethical licence") other than that it's not GPL (or more to point, GPL compatible).
Could Sun relicence OpenSolaris libc under a GPL compatible licence? Well, theoretically yes. However, the GPL had been considered *before* and not adopted as the licence for OpenSolaris (GPL was a /very/ strong candidate). The reasons for Sun creating the CDDL, rather than adopting the GPL, remain in place. The software world today faces issues which were not a big concern when the GPLv2 was originally drafted, issues which Sun did not wish to leave unaddressed. The Free Software people too recognise that the GPLv2 needs updating for the "modern" world, hence why the GPLv3 is being drafted. (E.g. judging by reports, one of the things GPLv3 is to try address is the issue of software patents. Note that some of the key GPL incompatibilities of the CDDL relate to its software-pooling and patent MAD clauses. Provisions which would themselves make sense for the GPLv2).
Given the GPLv3 is still being drafted and would, on introduction, be easily applied to nearly all GPL software, it might be an idea to try make the GPLv3 compatible with the CDDL - problem solved.
As for Nexenta, well, they have been quick to correct mistakes (e.g. not offering package sources with the iso's.). There's no indication that they've done anything other than overlook some important requirements in their enthusiasm to get a GNU/Solaris built and distributed. Requirements they quickly fulfilled. (I help maintain a Free Software project, and I've done the same thing in the past: put out RPMs and completely forgot about SRPMs till someone asked).
Paul Jakma, Free Software associate, Sun employee.
Speaking for myself (Not that I have *any* authority to speak for either of those organisations ;) ).
(
Log in to post comments)