Contributor Agreements have become a standard mechanism by which open source projects safeguard their rights to accept software into the project. Canonical and Apache are just two illustrative examples.
The purpose of these agreements is to handle cases that open source licenses might not fully address. For example: what does the project do if someone contributes code, and then later it turns out that the contributor didn’t actually own the code in question? The typical Contributor Agreement answers this question by requiring the contributor to verify that they have the rights to contribute the code to the project.
There are, broadly speaking, two flavors of Contributor Agreements:
- A licensing agreement, in which the contributor holds the copyright for the code and provides a broad license to the project for the use of that code;
- An assignment agreement, in which the contributor assigns the copyright of the code to the project, and the project provides a broad license to the contributor for the use of that code.
The previous Eucalyptus agreement was an assignment agreement. In order to commit software to the Eucalyptus project, a contributor had to agree to assign all copyrights and patents in the code to Eucalyptus Systems.
After careful consideration, and after working with counsel, we have decided to change to a licensing agreement. This means that contributors will maintain ownership of their code and all associated IP, and license it broadly for use by Eucalyptus Systems. We believe that this change is a crucial step that will make it easier for developers to contribute code to Eucalyptus.
We are in the process of making huge changes to our website, and incorporating the new licensing agreement will be part of those changes. In the meantime, you can read the new agreements on our projects site.