[License-discuss] GPL and proprietary WebAPIs

Chris Travers chris at metatrontech.com
Tue Dec 20 23:30:04 UTC 2011

First, IANAL.  In non-hypotheticals, you should talk to one as well as
the relevant open source project leadership committees.  Also the GPL
v2 and the GPL v3 may be slightly different here because the GPL v3
moves away from being reliant on derivative works definitions in some
important ways.  In general, good will from the projects at issue is a
factor that should not be underestimated and being a good citizen
means ideally making sure they are ok with it.

I can tell you how the LedgerSMB core team approaches this.  We draw a
hard line between "using our code" (requires adhering to the GPL) and
using our API (does not).  In practice this means if you use our code
as a basis for your code whether through object inheritance, literal
copying, or paraphrasing, we expect you to adhere to the GPL v2.  If
OTOH you simply invoke the Perl modules and use the API we have
provided (or call the stored procedures, etc), no such requirement
exists.  Note that this makes the GPL v2 in our view somewhere between
what RMS would like it to be and what he thinks the LGPL gets you (but
closer to his view of the LGPL).  This is not so different as I
understand it from Linus's view of the GPL.   This is intended on our
part to keep the "based on" language in the GPL v2 to be close to the
derivative works definition in copyright law and recognizing that
nobody needs copyright licenses from Microsoft to write, say, Internet
Explorer plugins.

In this view, there is no problem. There wouldn't even be a problem,
in this view, if the libraries were linked provided that the code
connections are not so intimate as to create a derivative work (for
example, I would argue that class inheritance in fact does this).

If this were LedgerSMB and the GPL v2, the answer would be to your
lettered questions:

a)  It depends.  I would be inclined to say stay away from this one.

b)  Probably safe

c)  No less safe than b under any license

d)  Safe.

e) Safe

f)  Safe

As for the GPL v3, I am guessing that "a" is not safe, b and c might
or might not be depending on the project, jurisdiction issues, and
distribution format.  d-f would strike me as safe, but again might
depend on implementation.

Also note that the above (d-f) might not be safe with the proprietary
app license but that's beside this hypothetical, right?

However in the end asking projects is the best way forward.  If  a
project is going to have a more Stallman-like view of the GPL,
probably better to avoid even being threatened unless you really want
to fight (and then talk carefully with your lawyer first).  If the
project has a more Linus-like view, then things are easier.

Best Wishes,
Chris Travers

More information about the License-discuss mailing list