Re: Licensing issue with cvs2svn

Daniel Berlin <[email protected]> Tue, 22 Sep 2009 23:36:13 -0400
Newsgroups gmane.comp.version-control.subversion.cvs2svn.devel
Message-ID <[email protected]>
On Tue, Sep 22, 2009 at 10:48 PM, Michael Haggerty <[email protected]> wrote:
> Daniel Berlin wrote:
>> On Tue, Sep 22, 2009 at 10:21 AM, Michael Haggerty <[email protected]> wrote:
>>> I'm the main maintainer of cvs2svn, which is under a CollabNet license.
>>>
>>> Greg Ward has been working on cvs2hg, a variation of cvs2svn that
>>> converts directly to Mercurial.  For this work, he would like to "import
>>> mercurial" from cvs2svn code (it is Python) and push the output to
>>> Mercurial via its API.
>>>
>>> The problem is that Mercurial is GPLv2, and it is not clear to me that
>>> the CollabNet license is compatible with GPLv2; it seems likely that it
>>> is not.  Therefore it is at best questionable whether linking cvs2svn
>>> and Mercurial is permitted [1].
>>
>> As long as mercurial is separately distributed from cvs2hg and it is
>> the user who is "linking", it doesn't really matter.
>
> IANAL but it seems to me that writing code that imports a Python library
> is analogous to writing C code against a GPLed dynamically-linked
> library.

Speaking as a lawyer, this is wildly different.
When you dynamically link something, it leaves references to the
symbols/sonames you linked against, including relocations, etc.

Here, there is nothing.  Literally nothing binds or requires the use
of a GPLv2'd mercurial module.
I could make up a mercurial module on my system that is BSD that
imports and renames functions and classes from thirty other BSD
modules.
It would still work fine.

The python module you are importing may or may not be GPLv2'd. If you
use the mercurial at selenic.com, it is.
Even *that* doesn't happen until runtime, and depends completely on
what is on the user's system.
You are right now doing absolutely nothing that brings the GPLv2 into play.
The fact that right now, you think most users will use it with a GPLv2
module makes absolutely no difference to whether your software would
need to be GPLv2'd.

If your users do in fact link and use it with the GPLv2 mercurial
module, and want to distribute *that* work (the actually-linked work)
they would not be able to.  It would not actually prevent them from
using it on their systems (since the GPLv2 bans distribution of works
that can't comply, it doesn't ban your own use).

>  The latter is very much a gray zone; the FSF claims that it is
> not allowed under GPL, whereas others think that it is.
>
Regardless of what the FSF thinks of dynamic linking in general, this
is quite a clear situation.  If they were to tell you this situation
is the same, I believe everyone in the legal world would laugh at
them.



> I guess I will ask the Mercurial copyright holder if he has any objections.

To what exactly?
Having the statement "import mercurial" at the top of the file?

>
> It might nevertheless be advantageous to move cvs2svn to a better-known
> open-source license in the hands of the Subversion Foundation, by
> analogy with the Subversion project itself.  But if this GPL thing is
> indeed a non-issue, then such a change loses most of its urgency.
>
The license it would move to would be Apache2, which as you have said,
would not help here ;)

------------------------------------------------------
http://cvs2svn.tigris.org/ds/viewMessage.do?dsForumId=1667&dsMessageId=2398716

To unsubscribe from this discussion, e-mail: [[email protected]].