Last Comment Bug 713006 - Deal with the fact that the recently-added Graphite2 library is LGPLed
: Deal with the fact that the recently-added Graphite2 library is LGPLed
Status: RESOLVED WORKSFORME
:
Product: mozilla.org
Classification: Other
Component: Licensing (show other bugs)
: other
: All All
: -- normal (vote)
: ---
Assigned To: Gervase Markham [:gerv]
:
Mentors:
http://www.gnu.org/licenses/old-licen...
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-12-22 10:02 PST by Gervase Markham [:gerv]
Modified: 2011-12-22 11:03 PST (History)
8 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments

Description Gervase Markham [:gerv] 2011-12-22 10:02:42 PST
2 weeks ago, after much development work, the Graphite2 library got checked in to mozilla-central in bug 631479 and is now part of the Firefox build, albeit preffed off. No-one seems to have commented on the fact that it's LGPLed, and Mozilla policy currently does not permit LGPL-only libraries in Firefox.

I have not read the LGPL closely recently (I will be doing so for this bug soon), but it is not immediately obvious that we are in conformance with all its terms. So we need to do one of the following:

1) Decide not to use graphite2, and remove the code
2) Update our policy to permit LGPLed libraries, and work out how to comply, if work is necessary

Over the past couple of years, there have been various other requests to use LGPLed libraries, such as for media codecs (bug 581773) or to use Gstreamer (bug 422540 and bug 581773), and so I would suggest it is time to consider doing 2). But that's a policy change which needs to be agreed.

The reason the Mozilla policy is as it is, is because we want to be able to say "Happy with the MPL? Then you can ship our stuff." In a world where software licensing can become very complex, and with as large a product as Firefox, this simplicity has value.

On the other hand, free software licensing is much better understood now than it was 12 years ago. Telling people that your code is under a mixture of two well-known licenses, with careful documentation about what is under which, could be said to make only a small increase in complexity.

22nd December is not the best time to kick off such a discussion; I will do so early in the New Year.

Gerv
Comment 1 David Baron :dbaron: ⌚️UTC+2 (mostly busy through August 4; review requests must explain patch) 2011-12-22 10:15:48 PST
The license headers on the graphite code indicate an LGPL/GPL/MPL tri-license, both in our source tree and in the source downloaded from http://sourceforge.net/projects/silgraphite/files/graphite2/graphite2-1.0.3.tgz/download .

(Yes, they give the LGPL as the primary license header and then say that you can alternately use it under the MPL or the GPL, unlike us who give the MPL at the top and then say that you can alternately use it under the GPL or LGPL.)
Comment 2 Jonathan Kew (:jfkthame) 2011-12-22 10:49:37 PST
As David points out, the graphite code we're using is tri-licensed, just like (most of) our own code. (SIL did this at our request, specifically in order to facilitate inclusion in Gecko.)

So I don't believe there's a problem here, at least w.r.t Graphite. A change for other reasons might still be worth discussing, of course.
Comment 3 Gervase Markham [:gerv] 2011-12-22 11:03:21 PST
Ah. <shuffles feet>. Oops. My script missed that. Perfectly reasonable way of doing things, of course.

Panic over, then :-) We may want to revisit the LGPL question, but repurposing this bug would cause confusion, so when we do I'll open another one.

Gerv

Note You need to log in before you can comment on or make changes to this bug.