Are Contributor Agreements Detrimental To Open Source?

// August 31st, 2010 // Uncategorized

What Prompted This?

I recently have been reading a lot of Simon Phipps’ blog posts. They are very good and I highly recommend adding him to your RSS reader if you care about technical issues, especially those revolving around how it interacts with businesses.

He just wrote a very excellent article entitled Should Open Source Communities Avoid Contributor Agreements?. I don’t particularly agree with him and I thought I’d dissent over here largely because I want to see the software that I use continue to be Open Source.

Why Do You Write Open Source?

Having participated in (and actually initiated some) projects that require copyright assignment, it’s really a non-issue. At least, usually it is. The question is largely based around why you write Open Source software.

There are various camps, but you can generally summarize the views into these prototypical categories:

  • Code-Lovers: I like for people to use my software.
  • Collaborationists: I think that trading code makes software more valuable.
  • Tinkerers: I like to take apart things and Open Source is a social contract to enable that (i.e. The Right To Tinker).
  • “First Sale Doctrine” Proponents: If I buy it, it should be mine to break as I please. Open Source ensures this.
  • Copyleft Fundamentalists: Reverse Engineering is a civil right. Open Source is an economic instrument to force you to bend to my will.

Interestingly, all but the last group tend to be ambivalent about contributor agreements. In particular, only the fundamentalists are typically against Contributor Agreements on any grounds other than economics (i.e. do they increase or decrease the number of projects open sourced).

Those Nuts From Berkeley

A complete picture of Open Source history should include the BSD License people. Many people still won’t license under anything else precisely because of the reasons that people seek copyright assignment.

Have their contributions been worth it? Yes.

Have their communities been significantly less functional because of it? Not really.

How do they feel about contributor agreements? In general, they either will sign one or just release their patches anyways. They’ll never try to coerce you not to sign one because, as far as their concerned, what’s theirs belongs to them and what’s yours belongs to you.

Am I A GPL-Hating Tea Partier?

I love the GPL most above all licenses. That said, I’ve released two projects under the LGPL with Copyright Assignment. Consequently, I helped funnel literally tens of millions of dollars into Open Source projects precisely because some Venture Capitalists would allow me to do so if they could get their payday. This has been and continues to be a good thing for Open Source. Let them be our Medici’s, we can continue our paintings.

Rather than railing about community inequality, I would propose that people examine perhaps the biggest benefit of assignment. Without a single legal copyright owner, it is very difficult for any company to drive a project. You have no idea how many people won’t buy a product from you because you are not the neck to wring.

Is Open Source about business? Well, the answer to that largely appears to depend on how hungry a person’s family is. Lack of food has an amazing chilling effect on Open Source development.

To the extent that Open Source is about making a living, the business equation looms large. While employment certainly might appear to be a “glass ceiling” for contributors, others see it as being a job opportunity. It’s certainly beneficial to those who start the project to be able to get a job doing it.

It’s also beneficial to the users to be able to employ those people. It’s beneficial to the other users that they don’t have to. Pretty much everybody wins unless the founder’s benefactor chooses to force them to do “bad things”. Ironically, the founder could have done that on their own, so this doesn’t change the odds much. Conversely, that pool of other users gives them the founder lot of employment opportunities, effectively preventing much of this coercion.

To the extent that Open Source is about keeping the source open for the users, copyright assignment doesn’t do that much. At most, there’s a fear that someone will “close up” a project. Somehow I don’t think it’ll kill Java, Solaris, or any of the others. I’d be more worried about getting a perpetual patent license than assigning copyright.

Meritocracy

I find it ironic that Mr. Phipps suggest that Open Source projects are supposed to be a meritocracy run by people who have earned it. The belief that they are participating in a meritocracy might be the way that some of my Asperger’s-afflicted colleagues make it through the night without crying themselves to sleep. I doubt that you’re going to find a political scientist that would call most Open Source projects a meritocracy.

Even in the most open projects, meritocracy often is shaped more like commit-bit-cracy. Regardless of how we may want it to be, some collective of people will be the ones that control the SCM, the website, et cetera. A business is about the best way to organize and drive that group. Anything less gets even more political in a way that inevitably costs users and developers. Consider how much innovation you’ve seen in GNU libc lately, for example.

Or Debian itself? Where would it be without Canonical’s Ubuntu? Oh, they have a contributor agreement by the way. Even though they don’t have an agreement, GNU asks you to assign copyright to the FSF (which ironically doesn’t have money to enforce them all).

Those projects that are meritocracies are largely that way precisely because of the control exercised by the group who would ask for that contributor agreement. The Mozilla project that he points out is exactly that.

Meritocracies are rare because it’s not merit that creates them—it’s control. Believing you can build a meritocracy without some control structure is akin to believing your girlfriend will stay with you just because you’re a good person. It takes effort, a plan, and care to make a relationship, development team, or software community functional.

But Is It Fair?

The million dollar question is “Why does starting a project give you more credit?” I’ve been on the down-side of this particular transaction. So has anyone that tried to improve XFree86 or OpenSolaris or any other “half-open” project. I didn’t enjoy those experiences but there wasn’t a moment that a Contributor Agreement would have stopped me.

Fear of these agreements doesn’t stop users, they stop coders. Even if they do stop coders from being users, it’s certainly not a majority of them that it does. Being a user is a prerequisite for having a community, in general, and for being a contributor, in particular. That makes this a lot like worrying about your cheap speakers when you have a cheap amplifier, or worrying about performance tires when you’re driving a Kia.

But What If They Close It Up?

A company typically gets to do this exactly once. Once the trust is gone, it’s gone. On the other hand, we get everything they contributed along the way. Presumably that had to be something useful for it to be worth contributing to in the first place. Are people contributing to SCO very much these days?

I could point out any number of examples, but I think this one is pretty clear. Is it a gamble? Sure. Has it gotten us access to some pretty good software? Yes.

Do you really think that OpenJDK wasn’t worth it because of the Sun Community Contributor Agreement? Has it being Open Sourced been better for everyone? Has the agreement materially kept the software from getting better? Would cutting all of that off have been worth it just because we knew that Oracle was going to pull what it’s pulling?

In the end, any entity with copyright assignment has a vested interest in guaranteeing that a fork doesn’t exist with improvements that they can’t use—as it makes that copyright worth less. As such, the fear of a fork gives the creators more incentive to play ball, not less. I don’t think I’ve ever seen a project that had a healthy fork not have a healthy community. Either it’s healthy because the company cares, or it’s healthy because the users forked it (which tends to make people cohesive).

The Moral Of The Story

Mr. Phipps’ point seems to be that it’s an obstacle to people adopting and continuing to develop projects as a community. I propose that getting people to start projects as Open Source is more important than a little boost to projects that are already there. Especially a boost that decreases the incentive to fork, thereby making Open Source organizations less stable.

Just like dropping bombs on people tends to make them terrorists, I’d suggest that removing the payday from starting projects makes closed sourcerors. I don’t think that’s worth it, at all.

Instead, we should focus on getting sane patent licensing, for example.

Comments are closed.