Clarification on license for embedded/API use?
John Labovitz
johnl at johnlabovitz.com
Tue Sep 4 11:10:38 CDT 2007
Thanks so much for your detailed replies. You're helping me clarify
the situation.
On Sep 4, 2007, at 6:58 AM, Jonathan S. Shapiro wrote:
> The term "combined work"
> is not actually defined in copyright law. This is intentional.
That's the kind of statement that drives a programmer crazy. ;)
> If I build a program that clearly cannot function without loading
> your GPL'd program, most judges are likely to consider the result
> a combined work. If I load your program as a plugin, but my
> program
> has other legitimate functions without the GPL'd subsystem, then
> matters quickly become unclear.
[...]
> The conservative course of action is for him to run
> HG in a subprocess.
Although there would be other features of this application, the major
feature is version-control of the application's documents, and that
version-control is handled by shelling out to Mercurial tools. If HG
is not installed, the program won't function the way it's been
advertised to function. I suppose I could make it function "equally"
with another VC system, making it less dependent on one single GPL
system, but I'm not sure that helps the situation.
This brings up the point of distribution. It would be cleanest to be
able to bundle the HG tools and dependencies within my app, so
there's only one thing to download & install. (I know that
technically I can do this, using py2app and putting the resulting
directory into my application bundle.)
On install or launch, my app would install the HG tools in a user-
accessible location, and the user would be notified that this
Mercurial installation can be used independently of my app; I'd also
explain what Mercurial was, and point to the project page and the
source (and, of course, the source for any changes I might have made
in Mercurial).
Does this sound reasonable, or problematic?
My intent is certainly not to obscure the GPLd subsystem, or to
somehow claim that it is my own. My intent is simply to use good
technology to solve domain-specific problems in a way that's simple
and intuitive. Using and promoting Mercurial seems like a far better
solution for everyone than writing my own proprietary version control
framework. I also understand the intent of the GPL, however, and I'm
trying to find a middle ground -- if at all possible. Finally, I
understand that this is a larger issue than Mercurial itself.
BTW, lest anyone think that I'm a corporate raider -- I've been using
GPLd software since the GPL's inception, and have worked on embedded
products that used a Linux kernel. It's just that I've never quite
been in exactly *this* situation, which is why I'm seeking clarity.
--John
PS: Am I missing email, or did you reply to a private email from
Emanuele? I can't find his original anywhere, including the
mercurial-devel archives.
More information about the Mercurial-devel
mailing list