[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PSI('s icons) license vs EKG and EKG2


PSI is an instant messenger licensed under GPL with a couple of
exceptions, and it contains some icons which are useful for the EKG and
EKG2 programs (which are also instant messengers under GPL but with a
different exception).

Because of "Ye Olde GPL vs OpenSSL issue" and the incompatibility of the
exceptions in each program's license, I don't think it is legal to link
the icons directly into EKG and EKG2 (which is upstream's preferred way
of using them). I'm also only 99% sure it's ok to do it by other means
(runtime loading). Below is my explananation of the problem [0].

Luckily, PSI's upstream agreed to try to relicense the license to
something more permissive.

The reason for this email is because I would like to get it right from the
beginning, so it would be great to get some consensus on what license change
would satisfy us WRT inclusion and redistribution of PSI's icons with EKG and

Would adding a more generic OpenSSL exception be enough? Or should they use a
different license? Would LGPL be sufficient?


PSI's license (also covers the icons):
(In short, it's GPLv2 with the following non-standard bit:

|  As a special exception, the copyright holder(s) give permission to link
|  this program with the Qt Library (commercial or non-commercial edition),
|  and distribute the resulting executable, without including the source
|  code for the Qt library in the source distribution.
|  As a special exception, the copyright holder(s) give permission to link
|  this program with any other library, and distribute the resulting
|  executable, without including the source code for the library in the
|  source distribution, provided that the library interfaces with this
|  program only via the following plugin interfaces:
|    1. The Qt Plugin APIs, only as authored by Trolltech
|    2. The QCA Plugin API, only as authored by Justin Karneges

EKG and EKG2 license is the same, and can be translated as:

|  The client program is released under the terms of the GPL v2 license, with the
|  additional exception that it is allowed to compile, link and use the program
|  with OpenSSL library by (The OpenSSL Project), available at
|  http://www.openssl.org/

[0] My explanation of the problem
|   I had a look at the COPYING file in the root of PSI source tree [1], which,
|   due to lack of any more specific licensing information seems to be the
|   binding license for the icons.  It is GPL with two special exceptions.
|   Since the icons are built directly into ekg2's gtk plugin, their license
|   effectively limits what the plugin may be linked against.  In particular,
|   PSI's license only allows to link the software it covers (i.e. the icons as
|   well) against OpenSSL via Qt or QCA plugin APIs, which ekg2 does not use.
|   This raises "Ye Olde GPL vs OpenSSL issue" [2].
|   Since the gtk plugin is linked (indirectly, via ekg2 and other plugins) to
|   OpenSSL library, this makes the binary package illegal to distribute for
|   Debian, according to its more or less official position. [3]
|   I am by no means an expert, but think there are two potential ways around
|   this problem.
|     1) relicense the icons, to a more permissive license (i.e. add another
|     exception). This might be the easiest way or impossible, depending on the
|     copyright holders' position.
|     2) change gtk plugin's code to load the icons at runtime, rather have them
|     built directly into the binary.
|   Please also note that this problem now affects ekg (1), as the gtk UI code
|   was recently added to it.
|[1]. http://dev.psi-im.org/websvn/filedetails.php?repname=Psi&path=%2Ftrunk%2FCOPYING
|[2]. http://www.gnome.org/~markmc/openssl-and-the-gpl.html
|[3]. http://lists.debian.org/debian-legal/2002/10/msg00113.html

Marcin Owsiany <porridge@debian.org>             http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216

Attachment: signature.asc
Description: Digital signature

Reply to: