GPL with the Classpath exception - clarification needed

Philippe Verdy verdy_p at
Fri Mar 27 18:01:07 UTC 2009

John Cowan [mailto:cowan at] wrote:
> Yes, that is more precise.  However, the distinction I gave 
> is the most important distinction in practice, neglecting 
> system libraries, libraries that depend on application data, 
> and other special cases:
> Incorporate a GPLed library, you must distribute full source.
> Incorporate an LGPLed library, you must distribute source for 
> the library.
> Incorporate a GPL+CP library, you need not distribute source at all.

I disagree here for the last case. There's no difference here between
"incorporating" a LGPL libary and a GPL+CP library. In both cases, you must
distribute the source (or give a written offer offer to get these sources on
a suitable medium for no more price than the cost of this medium and
delivery, to ANYONE requesting for it, even if you have never been in
contact with that person and even if that person did not still accept to be
a licencee).

To avoid this obligation, you have to deliver your application without the
LGPL or GPL+CP library itself, and let users get and install themselves a
copy of this libary along with its licence form someone else that will also
provide the sources on request.

All this depends on what you interpret as "incorporate":
  -  If this means that you are distributing bits of the library within the
pack, then the conditions about the availability of sources apply.
  -  If you don't distribute any bit of this libary and just indicate that a
copy of the LGPL or GPL+CP library (or some equivalent) must be installed
and licenced separately according to the installation guide, prior to get a
functional program, then you have no obligation to deliver the sources of
your application covered by your own closed licence.
  -  If you just indicate that your program or system CAN or MAY
interoperate and work with some GPL or LGPL or or GPL+CP software, that
could be optionally be installed by users, your program is also NOT a
derivative work and is excluded from the application of the GPL licence for
your private sources (there's not even any need for an exclusion clause in
the GPL, such as the LGPL or GPL+CP, in that library.)
  -  If you dont distribute bits of the library or indicate nothing about
this interoperability (even if this was intended and obvious) but it just
appears that the interoperability is effective, this is not an
"incorporation". For example, you could have built a closed plugin for
Internet Explorer, and it may work within an open browser or application's
help system licenced under (L)GPL, without forcing you to give the sources
of this plugin.

If the later condition was not the case, it would be simply illegal to run
any GPL software on Windows, or MacOS X, or most Unixes, as there would be a
conflict between the licences and you would constantly need explicit
authorizations from authors from both systems. There does exists lots of
systems where it is illegal to run any software with some licences, just
because their licence is not approved by the authors of the systems, users
of these closed systems are informed of this requirement, which may even be
enforved by strong security mechanisms or sealing or active monitoring, in
addition to contractual terms.


In both cases, you don't have to deliver the sources at the same time within
your installation package. But beware: posting your precompiled program even
as a freeware or as a "shareware" on a generic download site like must be done so that the dowaloadable package can only come
with an access to the sources. Many GPLed programs on do not
provide the required written offer to get the sources, even though they
declare being GPLed.

Another side note: a GPL program (or LGPL-ed parts of a software package
that include some LGPL libraries) can be distributed as a "shareware" as
long as there's no obligation to pay the fee to keep the program functional
or to keep the validity of the licence; the fee can be used to pay
additoonal non mandatory services like support or delivery on a physical
medium or to licence samples made with the package, like image libraries,
sample tranining videos, additional installation or tuning tips, or curses
doucments about some difficult concepts implemented in the source, or
licenced copies of some documents referenced in the comments, or formal
documents used in the preliminary design of the application, or reverse
modeling of the application, or analysis of its interoperability, or
benchmark reports, or features comparison reports... A lot of other things
can be produced outside of the software package and its sources, and paid
separately to help the user, or the programmer, or someone managing the
licences or the deployment or a site director deciding about organisation
strategies, or distributors of the program; on the opposite, the simple
translation of the package or porting to another platform is an adaptation
of software covered by the licence and is then a dereivative work that must
be licenced and distributed under the same term as the unmodified package.

If users are first forced to accept the (L)GPL licence (and can read a copy
of it before accepting it) but are not allowed to continue without knowing
where are the sources, these packages are clearly violating the GPL, as well
as the site from which it was downloaded (  or other) that has
accepted to host these packages without hosting the sources and offering a
link to them instead of just a link to the binary package. The site cannot
also force visitors to register prior to reach the download pages for the
sources (so registered user Alice can download a GPLed binary from this site
and could get the sources from there, but choose to inform Bob that the
package comes from this site, seeking from help from Bob. Bob must be able
to get the sources without having to register on this site, or having to
download the binary pack and accept the licence for the binary.)

The site only gives a link to a page from the supposed author
of the package, this is not compliant, as it does not warranty that there
will be a source there, or that the link works. This site accepts packages
mostly because authors are paying some fee to have their programs listed
there; only basic tests are performed on the package like checking that it
contains no virus.

Anyone participating to the distribution of a (L)GPLed work MUST first
ensure that they have the sources of every (L)GPL package they want to
distribute, before they start distributing them (even without any
modification), either in separate packages or in joined packs. There exists
GPL-compliant download sites: is such an example.

More information about the License-discuss mailing list