As the OpenNMS Project has matured, it has become apparent that we need some sort of Contributor Agreement.
The most important reason to have an OCA is to get the contributor to validate that they actually own the code they are contributing. While I believe it is much more likely for a closed source company to abuse open source code than the other way around, we need to have some sort of paper trail to help prevent this.
The second reason is to assign copyright. It makes things much easier for the steward of a project to hold 100% of the copyright. However, we want to encourage contribution, but the assignation of copyright can be a sticky subject for many companies (usually less so for individuals). It is hoped that The OpenNMS Group has proven itself an acceptable maintainer of the Project and that contributors won’t have a problem in assigning the copyright to them.
We approached this as we usually do with community issues, with a healthy discussion on the OGP mailing list. We examined a number of traditional open source contributor agreements, but many people complained about the transfer of copyright. It was then that DJ brought up the Sun Contributor Agreement (SCA) [pdf].
The SCA is unique in that it introduces the concept of “shared copyright”. Basically, the contributor gives copyright to the project but maintains every other right, with the exception of being able to revoke the copyright given to the project (see the SCA FAQ for details). This seemed perfect.
However, I couldn’t figured out under what license the SCA was published. I sent a number of notes off to people I know at Sun, but never heard back. I wanted to borrow it, pretty much verbatim, but I needed to know if I could (and they say us open source folks don’t care about IP).
I noticed last week that the SCA had been updated to include a Creative Commons license. Yea!
So today we announce the OpenNMS Contributor Agreement. We will be asking past contributors to sign it as well as all new contributors, and within the month anyone with write access to subversion will need to have signed.
I believe this is best for the Project as well as maximizing the rights of those who did the work. I especially like Item 4, which means that all contributions will remain free and open.
I am eager for comments, so let me know what you think. I’d also be interesting in hearing from folks who have signed other such agreements and how the OCA compares.