[cairo] Cairo and Mozilla licensing

Bryce Harrington bryce at osdl.org
Fri Aug 13 23:01:21 PDT 2004

On Fri, 13 Aug 2004, Mike Shaver wrote:
> 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.

I'm not a Cairo developer, but it seems clear that a process exists
here, that is based on the opinions of people who have contributed
development to Cairo.  Those who contributed to it prior to the decision
were consulted in order to make the decision, and if they had issues
were able to raise them then.

It also looks like it's been made clear that the situation isn't cast in
stone, but neither will licensing decisions be made on a whim.  This is
really a best case situation - it *is* possible to make licensing
changes, and once made they're not going to simply flitter away without
deep consideration.

It appears that the way to best influence Cairo starts with making
contributions to it.  This seems like a very sensible approach, since
that's what most folks here and at Mozilla are good at anyway.  No one
need organize any parades.  ;-)

On Fri, 13 Aug 2004, Mike Shaver wrote:
> Quoting Bryce Harrington:
> > If they're serious about using external code from the community, then
> > they'll need to come to grips with the fact that open source projects
> > use (L)GPL moreso than the MPL.  I think you've got a good point that
> > changing the world to suit one app is unrealistic.  A more easily
> > scalable solution for them would be for Mozilla to figure out how to
> > include (L)GPL code.
> It would indeed be nice if we could magically include LGPL code in our
> build -- note that we're not just talking about depending on it on a
> platform that might already have it installed, as we do with GTK and
> other such apps.  There are a lot of complications for us, including a
> multi-year history of providing all of our products under the MPL (in
> addition to other licenses, like the GPL/LGPL, in fact).  There are a
> number of companies, for example, who distribute Mozilla technology and
> who are not at all comfortable with the LGPL at present.  This is not to
> say that it's impossible to convince them that the LGPL is acceptable
> for their use, but it's not trivial, and it requires a fair bit of
> lawyer time, historically.

These all seem like very understandable issues, and from a historical
perspective sound very valid.  Yet I would reiterate my point:  Mozilla
will have *much* more success at incorporating other open source
libraries if it can find a way to allow LGPL or GPL licensed code with
its codebase.  It sounds like at heart, Mozilla is okay with open source
code, but that there are corner cases (such as the aforementioned
companies) that aren't and that either need some general pro-LGPL
PR/legal work or adequate firewalling (perhaps allowing them to use
alternatives to the LGPL items).

Certainly, if Cairo were adopting some fringe or custom license, the
arguments about lawyer time would be compelling, however in the case of
LGPL, I honestly think this would be a valuable investment for Mozilla
because of the huge wealth of other codebases that would suddenly become
within reach.

In a way, even though you have a process for influencing Cairo's
license, it sounds like it would be more to Mozilla's benefit to take
this opportunity to justify the expense of better resolving the LGPL

Clearly this has already been a concern for Mozilla in the past; I see
there is a FAQ on relicensing from MPL to MPL/GPL/LGPL.  It appears
Mozilla is on a path that started from being MPL-only, to providing
technology to be used under LGPL and GPL as well.  Perhaps Mozilla's
next step involves determining how to handle the flip side of the coin
in being able to incorporate external LGPL and/or GPL codes.

No offense, but the approach of trying to convince an open source
project to change its licensing to suit a specific application sounds a
bit like strong arming...  I'm sure that Mozilla would prefer a
reputation of being a good community citizen over something more akin to
a used car salesman.  ;-)

> One of the things that attracted us to Cairo initially -- we'd been
> using libart for SVG on Linux -- was the license, which was a no-brainer
> for us in terms of building a strong dependency on it.  Now it's no
> longer a no-brainer, and those of us in the Mozilla camp who are
> pro-Cairo have to contend with another barrier to deep adoption of it.

This is too bad, but perhaps there is a silver lining here.  Perhaps
despite the licensing bump you will find Cairo worth choosing not
because it's "easy" but because it's the best renderer available to
you.  This is the reason I've become interested in Cairo - libart has a
ton of mathematical instabilities and such that make it a pain in the
ass, and we've already excised it at Inkscape and replaced it with our
own custom code.

But maintaining our own customized code sucks for a few reasons.  First,
we don't benefit from the contributions of the wider community.  Second,
we have to maintain it and bug fix and troubleshoot it all ourselves,
which takes time away from other things we could be working on, and
third, it doesn't help the rest of the community since it only benefits
our own users.  We'd much rather contribute to and participate in
Cairo.  I don't think this will be trivial to achieve, though, since it
will require a) making sure Cairo is mature enough, and b) reworking
Inkscape to be able to fit Cairo's interface.  But in the long run I
think it will be beneficial all around so is worth the added effort on
our part.

> Maybe this is just a Mozilla problem, but I think that having Cairo
> adopted as the graphics layer for Mozilla -- on all our platforms--
> would be a win for Cairo too, which is why I've been discussing this
> licensing issue off and on with Carl since desktopcon.  (I wish I'd had
> more time to spend on it, but I've been pretty busy.)  Without intending
> to sound (too :) ) egotistical, I think we're a little more than "just
> one app" in this discussion, given our multi-million user installed base
> and cross-platform commitment, etc.

I haven't read up on what Cairo's mission in the world is, but for my
own projects, I focus less on acquiring users and more on acquiring
developers.  In open source, it seems to me that the currency of value
is not cash from users as it is in proprietary software, but rather the
thought energies of developers (and of users willing to contribute bug
reports and troubleshooting).  To me, a large userbase is not a goal in
and of itself but merely a side effect of good software.  The goal is
good software, and the contributions of many developers to make it

>From this perspective, copylefting is important.  It establishes the
groundrule to be followed: Use the code freely but you need to
participate in its development.

Anyway, it's possible that an incredibly huge userbase will result
indirectly in a few more developers, but more realistically, it will
result in a ton of bug reports and oddball feature requests that the
Cairo developers will have to deal with.  A huge userbase can be rather
scary to contemplate!  Lots of extra expectations, and no extra pay.  ;-)


> (I don't recall you from the MPL-creation days, but it was all a blur.
> Good to run into you again, still!)

Well, mostly the area I was involved in was reworking the toolbar code
with David Hyatt in the original mozilla codebase, but there'd been a
period of a month or so before the code had actually gotten released
where there wasn't anything to do but work on MPL.  ;-) (The toolbar
work didn't survive the purge of the original mozilla code, but some of
the ideas reportedly fed into XUL.)

More information about the cairo mailing list