On 18/12/10 8:11 PM, Paolo Giarrusso wrote:
On Fri, Dec 17, 2010 at 16:06,<[email protected]> wrote:
On 02:48 pm,[email protected] wrote:
@Jean-Paul: I thought it would only be a problem if the license was
GPLv3?
Yes, that's right. But I got sad anyway.
But in any case, what is the conclusion, if any? Can the Mercurial API
be used from LGPL code or not?
This seems unanswerable. If you believe some people, yes. If you
believe other people, no. The only way to resolve the conflict is to do
it, and either get sued by the copyright holder or not get sued by the
copyright holder (you could argue that the outcome of the lawsuit must
also be considered, but by the time you've gotten sued you probably
don't care anymore).
Well, one point is that the matter is complex enough to make you
suable. Moreover, the point that you're technically not linking seems
extremely technical and specific to Python, and even to CPython - a
JIT compiler links together the code, even more than it happens for C
libraries. Therefore, explaining it to a judge would take an extremely
expensive lawyer.
The GPL doesn't mention linking at all. It applies to "the Program or
any derivative work under copyright law: that is to say, a work
containing the Program or a portion of it, either verbatim or with
modifications and/or translated into another language". Linking is only
relevant because traditional static linking causes parts of the library
to be included in compiled binaries, which automatically makes them
derivative works.
Downstream recipients of your code are also perfectly within their
rights to combine GPL code with code released under an incompatible
license; provided they never distribute such code, the GPL imposes no
restrictions. So the fact that the JIT compiler links code together on
the end user's system is not relevant. The GPL terms only come into play
if the CodeSpeed source can be considered a "derivative work under
copyright law" of Mercurial.
If CodeSpeed is designed to be support several version control systems
via independently installable modules, then I don't see how it could be
considered a derivative work of Mercurial. The integration module might
be, but to accept that the existance of such a module makes CodeSpeed a
derivative work means that CodeSpeed is also a derivative work of every
version control system, or at least will be as soon as a module is
released for each system (which could be done by other people). I find
that rather ludicrous.
That said, I'm not a lawyer, and I'm applying common sense reasoning
here, not knowledge of how the legal system actually treats things.
-- Ben
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev