Clarification on license for embedded/API use?

Jonathan S. Shapiro shap at
Wed Sep 5 03:12:05 CDT 2007

On Tue, 2007-09-04 at 09:10 -0700, John Labovitz wrote:
> On Sep 4, 2007, at 6:58 AM, Jonathan S. Shapiro wrote:
> >      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.

If by "shelling out" you mean "spawning a new process to run hg and
talking to that process", you are *probably* okay.

> 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....
> 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?

GPL specifically permits aggregation onto a single media. The question
that you inadvertently raise here is: is an installation bundle
considered "media" in the sense of the GPL license. I think there is an
open issue whether the entire installation bundle might not be
considered a combined work, but on the other hand nobody objects to ISO
images. This is something you probably need to ask the licensing people
at FSF for guidance on.

> 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.

Then I would suggest a couple of actions:

 1. Consider whether plugging in to more than one SCM system may
    make sense for your product.

 2. Consider whether GPL'ing your product may make sense **as a
    business decision**. Customers don't buy software; they buy
    solutions to problems. It may be that GPL is not really a
    problem. That's a business question to ask; don't evaluate
    it as an ideology question.

> 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.

As far as I know, I was responding to an email of his on the list. Check
the archives.


More information about the Mercurial-devel mailing list