No, I'm not going to talk about the endless debate between the fans of copyleft licenses (GPL et al) and the fans of permissive licenses (Apache/BSD/MIT) – but I am going to mention a few licenses that are “Bad” in the sense that we do not permit their use in OpenNTF projects.

The Open Source Initiative is responsible for approving open source licenses. There is quite a range, and some are compatible with others in the sense that you can use MIT, BSD and Eclipse-licensed code in Apache or GPL projects. But you cannot use GPL-licensed code in Apache projects. But I'll talk more about compatibility another day.

The topic for today is what if you want to use a license that is not OSI approved. Take the Creative Commons family of licenses, for example. They are used quite often for software, although they were written more for works of art or literature. CC licenses are tricky – they don't allow you to sublicense the code – so there always is a license directly from the originator to the final user. The CC overview pages sometimes ignore important legal content. And some are OK to use in OpenNTF projects, others not.  

The CC Attribution License does appear to be compatible with OpenNTF licenses and we do permit use of code licensed under it. Note that you do need to include an attribution in the Notice file – which is something we ask you to do for all 3rd party code anyway.

The CC ShareAlike licenses are a family of viral license. If you use code under these licenses – your full project must be made available under the same CC license. This is not compatible with OpeNTF's IP Policies, so we won't accept code with components under CC ShareAlike licenses.

The CC NonCommercial licenses are not open source licenses. Open Source licenses may not restrict the field of use of the software. Hence they are incompatible with any open source license and we won't accept code with components under CC NonCommercial licenses.

The JSON license is frustrating. It seems so cute. It is close to an open source license – and the Json code under this license is widely used. However, it contains the statement “The Software shall be used for Good, not Evil.”

What does “evil” mean? Many people – particularly during the recent crises in the EU and the US believe that banks are “evil”. So, could a bank using this code be sued? Yesterday, I was on the campus of a university in Medellin – and judging by the various posters, you would think that any capitalist venture was “evil”. So, could any company using this code be sued?

The result is that responsible companies, to avoid spurious lawsuits from those who wish to prove that the company's activities are “evil”, avoid this license like the plague. (And the Json code is easily replaceable with the JSON4J package in the Apache Wink project.) OpenNTF won't accept code for clearance if there are components under the license.

For other licenses – check with me first. I can tell you if we accept its use for OpenNTF projects.

comments powered byDisqus