[gull] GPL & Python module

Frederic Schutz schutz at mathgen.ch
Fri Oct 28 10:27:46 CEST 2005


Sebastien Hugues wrote:

> J'ai une quesiton concernant la GPL et les modules Python. J'utilise 
> dans une application que je compte restribuer, un module Python externe
 > sous licence GPL.
> Est ce que je suis dans l'obligation de distribuer aussi mon application 
> sous la licence GPL ?
> 
> Ou est ce que je dois faire en sorte de ne pas utiliser directement ce 
> module dans mon application en creant par exemple une interface RPC (ou
 > autre) que elle je peux redistribuer en GPL ?

A ma connaissance, il n'y a pas de réponse tranchée. Les différents 
titulaires de droits d'auteurs (parfois à l'intérieur du même projet) 
interprétent la licence et la loi (américaine le plus souvent) de 
différentes façons.

Tu peux trouver des infos sur http://www.gnu.org/licenses/gpl-faq.html,
cité depuis la page
http://www.groklaw.net/staticpages/index.php?page=20050131065655645
ou il y d'autres références. Ci-dessous une copie d'une des 
questions/réponses qui me semble couvrir ta question; si tu appelles un 
module Python depuis Python, tu dois certainement utiliser la GPL. Si tu 
crées une interface RPC _spécialement_ pour accéder à ce module, la 
réponse reste sûrement la même.

Pour donner quelques exemples, MySQL AB considère que tout programme qui 
accède la version GPL de leur base de données doit être distributé sous 
GPL. Un autre cas controversé: il devient de plus en difficile de créer 
des modules (p.ex. drivers) fermés pour le noyau Linux; d'abord 
techniquement (la plupart des symboles exportés par le noyau ne sont 
accessibles qu'au module sous GPL), mais aussi légalement -- au moins 
une distribution Linux a été menacée judiciairement parce qu'elle 
fournit des modules fermés 
(http://zgp.org/pipermail/linux-elitists/2005-October/011317.html)

Frédéric
---
Can I release a non-free program that's designed to load a GPL-covered 
plug-in?

     It depends on how the program invokes its plug-ins. If the program 
uses fork and exec to invoke plug-ins, then the plug-ins are separate 
programs, so the license of the plug-in makes no requirements about the 
main program.

     If the program dynamically links plug-ins, and they make function 
calls to each other and share data structures, we believe they form a 
single program, which must be treated as an extension of both the main 
program and the plug-ins. In order to use the GPL-covered plug-ins, the 
main program must be released under the GPL or a GPL-compatible free 
software license, and that the terms of the GPL must be followed when 
the main program is distributed for use with these plug-ins.

     If the program dynamically links plug-ins, but the communication 
between them is limited to invoking the `main' function of the plug-in 
with some options and waiting for it to return, that is a borderline case.



More information about the gull mailing list