[Kde-accessibility] [Accessibility] Re: Common Public License (CPL)

Olaf Jan Schmidt ojschmidt at kde.org
Mon Mar 6 10:13:36 CET 2006

[ Olaf Jan Schmidt ]
> You cannot use Epos or espeak in the same process as the IBM speech engine,
> because the license of proprietary libraries is incompatible with
> GPL-licensed speech engines. You also cannot link to a proprietary library
> from LGPL-licensed code (only the other way around)

I used misleading words for my comments, so I am trying again.

But please keep in kind that I am not a lawyer. I am trying to summaries my 
understanding  of the FSF's position, but I might be wrong. I am not writing 
this to to give legal advice. I only wanted to explain why a stub library 
(even BSD-licensed) would not work in this case, and why a common API for 
speech engine drivers makes sense.

If you make free software dependent on a proprietary library, then it cannot 
legally be distributed under the LGPL or GPL, at least according to the FSF.
Lawrence Rosen says that you can link to all libraries without legal problems, 
which would mean that the GPL and the LGPL are more or less equal. But if the 
FSF is right, then the LGPL only allows you to create a proprietary 
application "that uses" the API of a LGPL library, not the other way around.

There are some exceptions:

a) The proprietary library is usually distributed with the operating system.

b) The library is dual- or triple-licensed (like Qt).

c) The author of the (L)GPL'ed code adds an exception clause to the GPL, as 
KDE has done for Qt in the past. In the case of gnome-speech, this exception 
can be assumed to be implied (as was the case for the first KDE 

d) There is a GPL-compatible implementation of the API available, in addition 
to the proprietary implementation. This could be the common driver API for 
speech engines that I am suggesting.

In the last case, you are allowed to staticly link the software to the 
proprietary library, but then you cannot distribute the resulting binary 
under terms of the (L)GPL. You can also dynamically link the application to 
the GPL-compatible binary and distribute it to someone who runs it with the 
proprietary library, but you cannot legally combine them into a 
pre-configured joint distribution.

Because of these additional hassles for distributors, it is a much cleaner 
architecture to run the various speech engines in separate processes.


Olaf Jan Schmidt, KDE Accessibility co-maintainer, open standards 
accessibility networker, Protestant theology student and webmaster of 
http://accessibility.kde.org/ and http://www.amen-online.de/

More information about the kde-accessibility mailing list