'Failed' as in 'succeeded wildly'
By webmink on Apr 15, 2005
There's a real feeding frenzy going on about the CDDL right now, for reasons I don't understand. Maybe I should take it as a sign that those who hate Sun are really spooked by the fact that Sun actually appears to be doing things right with OpenSolaris. But whichever way I look at it, there's been a sudden rush of online chatter ranging from the sarcastic and spiteful through the shockingly misinformed to the plain wrong (no link - just look for fools -including analysts - claiming that OpenSolaris is in some way 'closed' before they have even seen it or the CAB has published a governance).
In the absence of a decent conspiracy theory, it seems the prompt for much of this is one remarkably intemperate remark in the otherwise pretty rational posting over at OSI on license proliferation in the open source meta-community. The remark in question is summarised by OSI thus
The class of asymmetrical corporate licenses that began with Mozilla was a worthy experiment that has failed. The new policy will discourage them.
and they go on to say
That strategy worked well in 1998, as a way of giving people a place that felt safe within which to rethink their assumptions. But seven years later, we think it is is significant that the original corporate open-source license, the Mozilla Public License, has been dropped by its originating organization in favor of the GPL. It is becoming increasingly clear from this and other examples that the "middle way" represented by Mozilla and other corporate open-source licenses is not a stable, effective solution even from the point of view of selfish corporate agents.
This is shockingly partisan and manipulative. Just neglecting for the moment that the MPL has in no sense been dropped by the Mozilla organisation, as a simple visit to Mozilla.org would have told the writer, the frame the writer is trying to create, defining the MPL as some kind of corporate Franken-license, is either an expression of profound inexperience or ruthless manipulativeness. Asserting things like Groklaw does:
a license under which programmers can write Brand X Open Source software, software that ends up not open at all on a whim, which the engineers get to write for them in the open and then the company gets to take closed and proprietary, and not only that, you don't get any code back from them in return for the code you donated, unless they feel like it.
shows a profound lack of understanding of how the MPL works - clearly someone with that mindset was also writing for OSI. MPL-style licenses don't allow that theft from the commons and it is dishonest to assert they do - hiding lies about the MPL behind criticism of the CDDL does nothing to change that. All changes to files in the commons have to be given back. Period. It is permitted for original work that's not in the original commons to be withheld from it - but why not, giving people no choice what they do with their work is a strange definition of "freedom". If it's OK for BSD-style licenses to leave that freedom, why is it wrong for MPL-style licenses to leave it too?
I've been thinking long and hard of a way to summarise the nature of open source to help with this sort of misunderstanding. The best summary I have come up with to date is as follows:
An open source software project is a software source-code commons maintained by a creative community, which uses the content of the commons to create richness and innovation, with and around the commons. In the process of that creativity, the community enriches the commons for the benefit of all and may be compensated by the recipients of the creative act.
Using that framework it's then easier to understand various aspects of open source. The license is chosen to facilitate the commons and to decide the way it is enriched. By definition, all open source licenses allow the commons to be used for any purpose - they differ mainly in how the resulting new works are treated.
- BSD-style licenses (of which I regard Apache v2 as the state-of-the-art) place no restriction on whether derived creations are returned to the commons. Thus the creative works of the community surrounding a commons created by a BSD-style license may be returned to that commons, may be applied to a different source-commons1 or may be incorporated into a closed-source work.
- GPL-style licenses require that derived creations, both resulting from the original commons and created newly around the commons, be licensed under the same license. The commons is thus enriched as it is used, but innovations created outside the commons can very easily be found to be licenseable only under the GPL and thus need to be compulsorily added to the commons - the artisan will often find that there is no freedom of choice in this regard.
- MPL-style licenses (of which I regard CDDL to be the state-of-the-art at present) require that creations derived from files in the commons be licensed under the same license as the original file, but allow newly-created files to be licensed under whatever license the creator of the file chooses. This is a win-win; the commons is continually enriched, and the artisan retains the freedom to license innovations in any way that's appropriate. That's GPL-style (copyleft) for your work on the commons and BSD-style for your own creations - what's not to love?
As well as offering the software craftsperson the maximum choice while protecting the commons for the benefit of its community, MPL-style licenses also work well for existing works that are being donated to the open source meta-community. They allow a working program to be placed in the commons without the need to change the licenses of all the files that comprise it on day one. This is the main reason Sun selected an MPL license for Open Solaris. If we'd decided to use the GPL, we would have needed to wait until the ownership of every file was precisely determined. As it is, on launch day this quarter there will be a fully buildable, linkable kernel available from opensolaris.org even though some of the files will still only be available in binary form, to be incrementally released as source as the due diligence is completed for them2.
I find the assertion that the Mozilla license is a failed experiment utterly ludicrous. On the contrary, it has succeeded beyond the wildest dreams of most people, with the consequence that some small defects in the original license3 have caused the MPL to be copied endlessly by responsible, detail-oriented corporate lawyers who couldn't in good conscience allow their employers to proceed without fixing them. Calling those people "selfish corporate agents" is ungenerous to the point of rudeness, even if their necessary fixes are the basis for the majority of the proliferation. Calling the MPL a failure is to fly in the face of the obvious fact that, if the MPL was a failure, there would be no proliferation and thus no need to act.
So what's the solution? Well, I am neither a lawyer nor a software license expert so I'd not presume to dictate a solution. However, Sun felt that the best way to address proliferation was to make a template license out of the MPL, and that's exactly what CDDL is. The solution is not to jettison this wildly successful licensing approach, the one that balances the freedoms of commons and artisans the best. The solution is to fix the defects so that the wild success can continue without license proliferation. Personally I am committed to that goal, be it achieved through the CDDL, through a revised MPL or through some other vehicle.
- This is why BSD-style licenses are usually considered "GPL-compatible". It's because the license permits re-licensing of derived works under a different license. Thus "GPL compatibility" is something of a deception as to be "GPL compatible" you actually have to be willing to have your license discarded and replaced with the GPL. It's more a Borg-like assimilation than compatibility, in my view, and pretty undesirable as it results in future code enrichment being accumulated in some other code commons.
- A very few files will have to stay binary-only - for example, a video driver that the video chip owner refuses to relicense - but the intent is for all possible files to be released as source.
- Those defects are:
- the fixed name of the licensor
- the right to change the license after the fact
- an over-reaching patent peace that makes the license unfair to small businesses who need to litigate against bigger competitors outside the scope of the commons created by the license
- the fixed choice of law and venue