[cairo] LGPL, MPL and "hidden extensions"

Mike Shaver mike.shaver at gmail.com
Fri Aug 13 14:17:47 PDT 2004

(I apologize for not continuing the thread; I didn't receive James'
reply due to my flailings to get subscribed, so I'm pasting .)

James Henstridge wrote:
> Unless I'm mistaken though, it would give people the ability to 
> distribute a modified version of cairo and not release the changes to 
> the library itself (since the MPL doesn't require you to release changes 
> in new source files in the derivative work).  This is gives a lot less 
> protection than the LGPL.  Am I missing anything here?

While the MPL and LGPL frame their copyleft differently, both permit
people to hide their extensions, if they want it enough.  Adding some
hooks into the LGPL libcairo which call out to proprietary
tesselations or win32 back ends is eminently possible.  The LGPL's
request for "good faith" only extends as far as maintaining primary
functionality, if we're even comfortable with relying on a judge's
interpretation of that good faith in the first place.

We discussed these "mysecret.c" issues in great detail when we were
designing the MPL, and I think the consensus was that the MPL's
protection against someone who wants to keep their extension private
is no weaker than the LGPL's.  (It might happen more with the MPL than
with the LGPL, theoretically, because I think most corporate lawyers
are more comfortable letting people touch MPL'd code than LGPL'd, but
that's a different axis of distinction entirely. =) )

>From the perspective of Mozilla, an LGPL/MPL dual license for cairo
would be a total solution.  I would personally schedule the parade for
Carl and Keith's earliest convenience, and start pointing whatever
resources I can influence away from our current gfx layer towards
cairo.  I would also smile a lot.


More information about the cairo mailing list