Licensing of Mercurial: "GPL" (any), "GPLv2" or "GPLV2 or later"?
Arne Babenhauserheide
arne_bab at web.de
Sun Aug 3 23:17:31 CDT 2008
Am Samstag 02 August 2008 14:20:19 schrieb Adrian Buehlmann:
> Since there is no term "any later version" stated anywhere in the sources
> *and* http://selenic.com/repo/index.cgi/hg/file/cbdfd08eabc9/COPYING is GPL
> v2, it's GPL v2 only.
Sorry for nitpicking, but licensing issues are where I prefer to nitpick
instead of being picked and downed later on...
As far as I understand it, only linking to a GPLv2 doesn't make a statement
about the GPL version you support, only that the GPLv2 is the text you give
the users.
For a clear copyright header you should follow the lines given in the license:
"""
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
"""
- http://selenic.com/repo/index.cgi/hg/file/cbdfd08eabc9/COPYING
A short, crude version check shows unclear versioning (I show only relevant
lines in order of appearance):
$ grep -R GPL * ; grep -R "GNU General Public License" *
contrib/mercurial.el:You can find the source code, license (GPL v2)
contrib/logo-droplets.svg:
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /><dc:date>Feb 12
2008</dc:date></cc:Work><cc:License
...
contrib/mercurial.spec:License: GPL
...
doc/hg.1.txt: Free use of this software is granted under the terms of the GNU
General Public License (GPL).
...
mercurial/version.py:# This program is free software under the GNU GPL (>=v2)
...
mercurial/diffhelpers.c: * of the GNU General Public License v2, incorporated
herein by reference.
...
All in all I counted (with my crude grepping and quite error-prone human eyes)
* 4 files which state GPLv2 only:
- contrib/mercurial.el
- contrib/logo-droplets.svg
- contrib/mq.el
- mercurial/diffhelpers.c
* 130 files which just say "GPL" (I already excluded two japanese files where
I could only read the letters "GPL", but no surrounding text:
doc/ja/hg.1.ja.txt and doc/ja/hg.1.ja.txt) as well as, very notably,
* the mercurial/version.py file which clearly states GPL ">=v2".
So to my understanding, if you want to use Mercurial under the conditions of
the GPLv3 (compatible with the AGPL), you'll have to either find the authors
of those 4 "GPLv2 only files" and ask them to relicense, or replace those
files with simple "GPL" or "GPLv2 or later" files.
Best wishes,
Arne
-- Weblog: http://blog.draketo.de
-- Infinite Hands: http://infinite-hands.draketo.de - singing a part of the
history of free software.
-- Ein Würfel System: http://1w6.org - einfach saubere (Rollenspiel-) Regeln
-- PGP/GnuPG: http://draketo.de/inhalt/ich/pubkey.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://selenic.com/pipermail/mercurial/attachments/20080804/a907927d/attachment.pgp
More information about the Mercurial
mailing list