Subject: Re: Open Source and Contributor Agreements
From: Ian Lance Taylor <ian@airs.com>
Date: 26 Nov 2005 09:11:34 -0800

David Barrett <dbarrett@quinthar.com> writes:

> Still seeking closure on this.  Can anyone confirm or deny the
> following reasoning:

My personal opinions.

> - Open source has an unstated principle that all contributors are
> equal; nobody has any greater or lesser rights to the source than
> anyone else (copyright excluded).

No.  For any given open source project, some people are permitted to
commit changes to the main development branch, or any specific branch,
and most people are not.  Most open source projects seek to
approximate a meritocracy in who is permitted to commit.

For an open source project, all people are equal in that they have the
rights enumerated in the OSD (a set of rights quite a bit weaker than,
say, copyright ownership).  In particular, all people have the right
to start their own development branch, one way or another.

> - Groups who maintain a branch of an open project but restrict
> "commit" privileges to those who grant extra rights that group -- even
> with the best intentions -- are fundamentally subverting the openness
> of the project.

If we are talking about a branch of an open project, then, no.
Restricting certain branches in certain ways does not subvert the
openness of the entire project.  In the extreme, some open source
licenses (e.g., BSD) permit a proprietary fork.  That does not at all
subvert the openness of the project as a whole.

If we are talking about the entire project, then the issue boils down
to whether anybody can fork the project.  If it is possible to fork
the project under an open source license without granting extra rights
to anybody, then the project is still open source.  In that case,
then, again, Requiring the grants of extra rights does not subvert the
openness of the project.

> - This anti-open practice is grudgingly tolerated due to its
> prevalance among some of the most respected, influential, and
> long-lived open source projects.

Some people tolerate it grudgingly.  Some people embrace it as part of
being open.

> - However, this tolerance is contigent upon the contributor agreement
> being cumbersome, thereby ensuring nobody accidentally trades away
> rights that a "true" open source project withholds.

I don't think "cumbersome" is an issue.  Whatever is going on has to
be transparent and easy to understand.  If people act under one
understanding, and then discover that they were mistaken for reasons
that were not obvious (i.e., they do not feel that they made a stupid
mistake), then they will feel deceived.  Licenses which are generally
felt to be deceptive will naturally not be tolerated.

> - Because an opt-out contributor agreement integrated into the license
> is too easy, it's too likely to cause people to accidentally give
> rights to the maintainer, and thus too anti-open to be approved by the
> OSI.

Obviously speaking for myself and not for the OSI, I don't think that
the difference between opt-in and opt-out contributors agreements are
a big issue.  I think the big issue is whether anybody can make their
own fork of the code without having restrictions beyond those
explicitly permitted by the OSD.  Viewed in this way, an opt-out
contributor agreement to a specific party is troublesome.  I don't
know whether the OSI would accept it or not.

I will add that it should be clear that such a license will drive away
many potential contributors.  It would be silly to use such a license
if your goal is to encourage contributions.  Without necessarily
commenting on this particular situation, I'll note that many
organizations approach open source trying to give away as little as
possible, while becoming open source.  That turns out to be a foolish
approach.  The right approach in general is to give away as much as
possible.

> Is this accurate?

Not in my opinion, no.

Ian