What made me think of this again was reading Will Sun's 1600 patents suck the life out of Linux?, which Bob Sutor referred to. (To be clear, what I'm talking about here is the licensing being applied to the source code, not the patents being made available publicly so that the source code does not violate those patents.)
But like a lot of other shared, open source code, [code, for example, built from CDDL-licensed code] has a firewall around it. CDDL or unlicensed code that's ready to take on the CDDL license can get it in, but nothing gets out. In other words, it's not universal sharing.
I think the whole idea of these licenses is "hey, if you use my open source code to develop your code, then you have to give me license to use it to." Fair enough.
But this "I'll control who I share with, but you must share any derivative work with me" approach has some ugly consequences, namely code which cannot be combined because of incompatible licenses:
What this means is that if code from the CDDL-licensed OpenSolaris were intermingled with code from the GPL-licensed Linux, then the resulting derivative work would technically be required to inherit the licenses from both, which is impossible because certain provisions in each license cancel out the other. (In other words, they're totally incompatible with each other.)
So I suppose that if you developed a piece of code totally independently of any open source code, you could then donate it to multiple projects with incompatible licenses. (Although, why should you donate it to any project? Maybe you should create yet another new license?) But the whole idea of making code available is for reuse and modification, and if your code reuses code under one license, you're probably required to inherit a license (to be sure, consult a lawyer) and so now your code can't be used with any other license that is incompatible with this one. And if your code reuses code from two difference projects with incompatible licenses, you're in violation of both.
Seems to me: If we really want open source projects to improve the software industry at large, and not just serve as the basis of commercial products, we need for licenses to be compatible so that a derivative work doesn't have to choose one side or another, but can choose to comfortably live with all sides.
(And of course, as always, my standard disclaimer applies.)