Clarification on license for embedded/API use?

John Labovitz johnl at
Tue Aug 28 14:46:51 CDT 2007

As you might have seen from the main mailing list, I'm been  
experimenting with an Objective-C wrapper to hg:

> I've taken the "easy" route of using PyObjC as a bridge, writing a  
> Python subclass of NSObject that wraps a small subset of hg  
> commands, but returns any results as native Cocoa objects.  No  
> parsing stdout!

The final code actually lives in an OS X bundle that is loaded at  
startup by my main application.  (An OS X bundle is a structured  
directory; in this case, it contains the Python class I wrote, the hg  
code, some loader code, as well as Python 2.4 itself and a minimal  
set of .dylibs and .so's.  Like a library, it's dynamically  
loaded.).  This is all pretty convoluted, but it works.

However, it does bring up the issue of licensing.  It seems Mercurial  
is under a straight GPL license, which certainly makes sense for an  
application.  However, it is problematic if I want to use its API in  
a proprietary application (which mine is).  If the license was LGPL,  
I think there'd be no question.  However, without Mercurial itself  
being LGPL, does the GPL license carry through to the hosting (non- 
GPL) application?

I think this is an issue regardless of whether there's an  
intermediate like my Objective-C wrapper framework (which I plan to  
publish under some free license, LGPL or otherwise) or the  
Mercurial's Python API is used directly.

Or should I talk to the Selenic folks and negotiate a commercial  

I'd appreciate your thoughts on this.


More information about the Mercurial-devel mailing list