There seems to be a lot of confusion and FUD surrounded around Sun’s CDDL. Ulrich Drepper of Redhat (glibc maintainer) equated Open Solaris to a trap. There are rebuttals and explanations.

There are two prevalent themes from these opposing camps. CDDL proponents say it’s not the CDDL that won’t play with GPL, it’s GPL that won’t play with CDDL and GPL proponents are saying it’s incompatible with GPL, end of story. So, what’s wrong with CDDL? or more importantly what can we gain from it? Here are my observations

  • The CDDL, ofcourse, is incompatible with GPL. What that means is that you cannot rip-off Open Solaris code and put it in Linux kernel. This is due to GPL’s restriction (the infamous viral nature of GPL).
  • On the other side, CDDL code can be combined with other non-GPL licenses (for example BSD license). This is because CDDL is file-based. So, you can have part of your code licensed under CDDL and have other files licensed under another license. You can even have the other files as proprietary. That’s exactly what Sun wanted as they want to keep some code (like zfs) proprietary. Note that the modifications you do to files licensed under CDDL have to be open sourced.
  • The IP protection from CDDL is interesting. Some discussion about this on TechTarget. I am not sure how useful this is, but it adds an interesting twist though.
  • But, why should we use GPL? Various reasons are discussed in detail by David Wheeler. The cautionary tale of XFree86 is a must read.
  • Meanwhile, people are worried about the proliferation of OSI licenses. CA is trying for a single template license, but this has its own problems.

In my opinion, Sun got what it wanted with CDDL. They cleverly prevented the rip-off of Solaris code, but the CDDL is not going to help in bringing open source community to Open Solaris.

Share