Are contributor agreements subversive?

If you try to contribute to a corporate open source project, especially a "dual core" project, you will probably be given a "contributor agreement" to sign.The agreement gives all copyrights and patents to the project's corporate sponsor.

If you try to contribute to a corporate open source project, especially a "dual core" project, you will probably be given a "contributor agreement" to sign.

The agreement gives all copyrights and patents to the project's corporate sponsor. The wording can differ, which is why a group called Project Harmony is working to harmonize them.

This is a different issue from that of the license. Many projects licensed under the GPL are still subject to contributor agreements.

These agreements have their fans, and their purpose. They let business be done centrally, without having every minor decision subject to a veto by developers.

Having a corporate center to an open source business can be a very good thing, assuring regular updates, a quality Web presence, and software worthy of use by an enterprise.

But they also have detractors. Count former Sun open source executive Simon Phipps (above) among their number. The agreements are coercive, and make some pigs more equal than others in what should be a shared development experience, he writes.

I'm of two minds on this.

In theory  Phipps is right. Projects like the Linux kernel and Mozilla run quite well without contributor agreements.

On the other hand, some pigs are more equal than others, in that they provide the bulk of the work and expense a project may need to survive. In most projects run by Google, the contributions of Google employees go far beyond the combined efforts of their communities.

This is true on smaller projects as well, even those under the GPL. Projects like Appcelerator began as a single company's dream, and much of the work continues to be done by that firm. That's one reason CEO Jeff Haynie felt he could unilaterally switch to the Apache license in 2008.

License and contributor agreements don't have to be done by fiat, of course. Red Hat amended their agreements with some transparency earlier this year. The process can be reassuring and increase the amount of community development.

My own view is that this is much like the open source incline itself, or the open source development incline. That is, there are many places you can fall on the incline, but the further down you go -- the less dependent you are on contributor agreements for instance -- the greater your community contribution is likely to be.

The answer for your project depends on how much of the development burden your company honestly expects to take on, and how dependent you are on your community for coding. It's a question, in other words, you need to go into with your eyes wide open.

Whichever side of the table you happen to be on. [poll id="117"]