Licensing is one of the pains points when developing or using open source software, and it absolutely cannot be ignored.
Rhino, the JavaScript interpreter in Java developped by Mozilla, was for some obscure historical reasons licensed as
NPL, the Netscape Public Licence. The NPL license is basically the
MPL (Mozilla Public License) with some additional rights for Netscape. These Netscape-specific clauses actually prevents the NPL to be considered as open source, since it violates the 5th criteria of the
Open Source Definition: "
No Discrimination Against Persons or Groups".
Rhino is a very convenient scripting engine, and is used at Apache by
Batik and
Cocoon. For a long time, Rhino being NPL was "tolerated", until the legal and licensing team at Apache worked on the
licensing policy of 3rd-party code. And the NPL, being non open source, was excluded from the allowed licenses.
Switching Rhino from NPL to MPL was considered many times since several years, but did not happened. It represented a huge job as it required the consent of all people that contributed to the code base since the origin of the project. At least it seemed this was needed, until the
Mozilla legal team decided they had the right to relicense NPL software, probably because of their Netscape history.
So, from now on, Rhino is licensed as MPL, meaning it can be included as a binary distribution in any Apache software. That's very nice, otherwise that would have meant no interactive features for Batik, and no
flowscript for Cocoon!
Oh, actually Rhino has a dual MPL/GPL license. Of course, you only want to consider MPL rather than GPL when embedding Rhino in your Apache or commercial software :-)
← Super-Secret no more: The Venice Project
Easy SubethaEdit over the Internet →