When I founded the Assimilation project, I chose a license in order to have chosen a license. I always assumed I would make a final license decision before the first release. With that time coming up in the forseeable future, it seems like time to give thought to a more permanent license decision. This blog entry outlines my thoughts on choice of licenses and related issues.
My thinking regarding the license is to follow the strategy which
Neo4j and MongoDb follow:
Each has a GPL-variant license and a contributor license agreement which involves a copyright sharing arrangement. Contributor license agreements are important to ensuring sure that copyrights, patents, originality of contributions and so on are all properly taken care of so that users of the software have no reason for concern about being sued for copyright or patent infringement, in addition to making a more secure ecosystem for the project to grow in.
Neo4j offers GPL for the base product, and AGPL for the advanced versions of their product.
MongoDb puts everything under the AGPL.
Here's info on Neo4j contributor agreement:
Here's info on the MongoDb contributor agreement
As you know, today, we don't have even a complete "basic" version. I'm leaning towards favoring the Neo4j approach of having a basic capability which is available under the GPL, with "enterprise" versions falling under the AGPL. Or I could just make it AGPL starting from today.
There are two problems with respect to this strategy:
- The copyright sharing has to be with a legal entity - ideally not me personally. I don't currently have such an entity.
- Writing a copyright sharing arrangement requires legal advice from someone who understand both my goals and the open source way of doing things.
After looking around it seems that the second problem is very soluble. Project Harmony provides templates that seem very reasonable and consistent with my goals. Hopefully by next blog post time, I'll have chosen a version.
The choice of license and contributor agreement are very important for a project's success. What are your thoughts?