Copyright assignment

Jonathan S. Shapiro shap at
Tue Sep 4 09:09:10 CDT 2007

I apologize for opening this topic. It was bad judgment. Since I opened
it, I better explain what I meant.

> Jonathan S. Shapiro dubitò:
>>On Mon, 2007-09-03 at 20:14 +0200, Emanuele Aina wrote:
> >> That would work if Selenic was the only copyright holder.
> >>
> >> Right now you would need to ask every Mercurial contributor to relicense 
> >> his portion...
> > 
> > Hmm. This is a major bug that needs to get discussed, because it creates
> > a potential legal problem for Selenic, but this exchange certainly is
> > not the place.

Emanuele has put his finger on a problem: Selenic is not the copyright
holder for mercurial. In fact, a case can be made that no copyright
holder for much of mercurial exists, because the contributions are
heavily interleaved.

This creates two problems:

1. It is not clear whether anybody can *enforce* GPL for mercurial

If you cannot show that you own a work, you have no legal standing to
enforce the license. This is why FSF, the OpenOffice team, The EROS
Group, and many others require some form of copyright assignment.

There is a simple fix: require that contributions be provided under a
joint assignment. This leaves the contributor able to do anything they
want, but it also provides ownership to Selenic, which allows them to

I can provide a copy of our agreement as a basis if that is helpful.

2. Provenance is unknown.

There is a real possibility -- indeed, a probability -- that changes
have been contributed by people who do not actually own the work they
submitted. In the US, for example, code written by a programmer is owned
by their employer. In most states this is true even if the code is not
related to their job (which sucks, but that is a separate discussion).

If Selenic is redistributing such code, then Selenic and all downstream
redistributors are engaging in copyright violation. Unfortunately, there
is no such thing as "innocent infringement" in matters of copyright.

Because of these issues, I encourage Selenic to adopt a policy of joint
assignment for contributions.

For changes of just a few lines you are probably fine. For larger
changes, it is important to either track down the contributor and get an
assignment or re-write that chunk.

Oh. For the record: all of my changes are hereby declared public domain,
so Selenic can do anything it likes with them. I own them, and I have
the right to do that.
Jonathan S. Shapiro
Managing Directory
The EROS Group, LLC,

More information about the Mercurial-devel mailing list