The Mercurial license is GPLv2

Matt Mackall mpm at selenic.com
Mon Aug 4 18:15:25 CDT 2008


On Mon, 2008-08-04 at 23:10 +0100, Paul Moore wrote:
> 2008/8/4 Germán Póo-Caamaño <gpoo at calcifer.org>:
> > Certainly, they can run it in a separate process.  The thing is using
> > the API to communicate with Mercurial instead of parsing the output.
> 
> So write a (GPL'd) extension to communicate with a persistent
> Mercurial process via an easily parseable format (or XML, if you
> prefer :-)). Best of both worlds. I assume that would be both in the
> letter and the spirit (ie, Matt would be OK with it) of the license.

Obviously you could use something like a trivial XMLRPC or eval/pickle
wrapper to call all of Mercurial's APIs running in a separate process,
even on a separate continent. And the result is probably a derived work
of Mercurial, because copyright is more interested in intent than
technology.

Copyright and the GPL both talk about protection of original and
"derived works". If your work is a derived work in the view of copyright
law, then it is covered by the GPL. Precisely what does and does not
constitute a derived work in software is something that currently can
only be answered in a court of law. One possible test is: if Alice's
code can't work in any useful sense without Bob's code, then Alice's
code is probably a derived work of Bob's.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial mailing list