GNT sans publicité, site mobile, fonctionnalitées exclusives...

Problème de licence pour un script Python

Le
Thomas Paviot
Bonjour,

Je développe une série de scripts prenant le contrôle, via le module
win32com, d'une application tournant sous Windows .

Je souhaite redistribuer ces scripts, sous licence libre GNU GPL. Ai-je
le droit de le faire? En d'autres termes, doit-on s'acquitter de
royalties si on utilise la connexion au serveur COM d'une application
Win32 pour laquelle on a une licence d'utilisation valable? A défaut de
royalties, une licence spécifique est-elle liée à ces serveur COM? Ai-je
le droit de mettre dans mon script des appels à ces fonctions?

Excusez-moi pour le caractère un peu "hors sujet" de la question, mais
je sais que certains d'entre vous sur ce groupe utilisent également
win32com et on peut-être été confrontés aux mêmes interrogations.

Thomas Paviot
Lire les 6 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Claveau
Le #565435
Bonsoir !

Pour autant que je sache, l'utilisation de la technologie COM elle-même
n'est pas soumise à licence.

Donc, tant que tu ne fournis pas un composant qui serait lui-même
soumis à une licence, pas de problème.

De toutes façons, pour utiliser tes scripts, les utilisateurs auront
forcément besoin de composants ou logiciels qui ont leur propre
licence.

--
@-salutations

Michel Claveau
Jean-Baptiste renard
Le #565434
Thomas Paviot wrote:

Bonjour,

Je développe une série de scripts prenant le contrôle, via le module
win32com, d'une application tournant sous Windows .

Je souhaite redistribuer ces scripts, sous licence libre GNU GPL. Ai-je
le droit de le faire? En d'autres termes, doit-on s'acquitter de
royalties si on utilise la connexion au serveur COM d'une application
Win32 pour laquelle on a une licence d'utilisation valable? A défaut de
royalties, une licence spécifique est-elle liée à ces serveur COM? Ai-je
le droit de mettre dans mon script des appels à ces fonctions?

Excusez-moi pour le caractère un peu "hors sujet" de la question, mais
je sais que certains d'entre vous sur ce groupe utilisent également
win32com et on peut-être été confrontés aux mêmes interrogations.

Thomas Paviot
Le problème d'un composant COM vs GPL


A priori, c'est interdit. Tout au moins litigieux.

Voici ce que nous dit la GPL :
http://www.gnu.org/licenses/gpl-faq...ggregation

"Si les modules sont conçus pour être exécutés par édition de liens dans un
même espace mémoire partagé, cela signifie presque à coup sûr une
combinaison en un seul programme."

Donc, si c'est un composant COM « in-process » la GPL n'est pas utilisable.
Si c'est du "out-of-process » c'est surement jouable.

Attention aussi à la licence du composant COM. C'est que ca peut aussi être
pervers ce genre de composant proprio ;-)

Michel Claveau
Le #565433
Bonjour !

un composant COM vs GPL
Attention à ne pas confondre l'utilisation de composants COM avec les



composants COM eux-même.

exécutés par édition de liens
Il n'y a pas édition de liens avec COM. Il s'agit plutôt d'appels de



fonctions/méthodes, réalisés dynamiquement à l'exécution.

si c'est un composant COM « in-process » la GPL n'est pas utilisable.
Ce n'est pas si simple. On peut voir un composant COM comme un plug-in



multi-hôtes. C'est à dire que le même plug-in peut être utilisé/appelé
depuis des applications/logiciels différents.
Dès lors, comment déterminer si c'est "in-process", ou "out-process" ?

Pour l'utilisation des composants COM : dans la mesure où cette
technologie est une partie intégrante du système d'exploitation, je ne
vois pas où est le mal.
En pratique, on pourrait dire que l'utilisationc est similaire aux
appels API de l'OS. Il n'y a pas de grosses différences, entre afficher
une boîte de dialogue système (API), et afficher une boîte de dialogue
du WSH.filesystem (COM).


A priori, c'est interdit. Tout au moins litigieux.
Interdit, je ne crois pas.



Litigieux, peut-être. Je dirais plutôt ambigüe. Mais c'est le cas de
TOUTES les licences, dès qu'elles sont confrontées à d'autres (types
de) licences. Les interactions de licences, c'est quasi insoluble ; au
moins dans certains cas.

Attention aussi à la licence du composant COM.
Bien sûr ! Mais, dans le cas cité, ce problème incombe à



l'utilisateur, et non au développeur d'un script qui ne réalise que des
appels au composant, et ne fournit pas le compoasant. En clair, si un
script réalise des appels (pilote) Word, il n'est pas fourni avec Word,
et c'est donc l'utilisateur qui doit avoir Word, avec les problèmes de
licences associés.

C'est que ca peut aussi être pervers ce genre de composant proprio
Attention à ne pas généraliser.



Les composant COM peuvent être propriétaires ou non-propriétaires. Ce
n'est pas COM qui impose la classification, mais le développeur du
composant qui décide.

--
@-salutations

Michel Claveau



Jean-Baptiste renard
Le #565432
Bonjour,

Dès lors, comment déterminer si c'est "in-process", ou "out-process" ?


un composant "in-process" est un composant COM qui lorsqu'il est appelé, est
chargé dans le même espace d'adressage que le processus appelant.
En gris, c'est une DLL améliorée.

un composant "out-process" est un composant qui crée une application qui
communiquera avec le process appelant en utilisant les fonctions de
sérialization COM (marshalling)

La GPL autorise le second cas, mais interdit le premier.

Pour l'utilisation des composants COM : dans la mesure où cette
technologie est une partie intégrante du système d'exploitation, je ne
vois pas où est le mal.


Il n'y a pas de mal :-) D'ailleurs, la GPL autorise les liens avec les
fonctions de l'OS. Après, là ou ca se corse, c'est de déterminé ce qu'est
l'OS.

A priori, c'est interdit. Tout au moins litigieux.
Interdit, je ne crois pas.



Litigieux, peut-être. Je dirais plutôt ambigüe. Mais c'est le cas de
TOUTES les licences, dès qu'elles sont confrontées à d'autres (types
de) licences. Les interactions de licences, c'est quasi insoluble ; au
moins dans certains cas.


Je suis bien d'accord. La solution en général est de choisir une licence
plus permissive pour ce genre de cas, BSD-like. voir LGPL, et le problème
est résolu :-)

C'est que ca peut aussi être pervers ce genre de composant proprio
Attention à ne pas généraliser.



Les composant COM peuvent être propriétaires ou non-propriétaires. Ce
n'est pas COM qui impose la classification, mais le développeur du
composant qui décide.


Oui, mon commentaire était un peu trollesque ;-)




Michel Claveau
Le #565431
comment déterminer si c'est "in-process", ou "out-process" ?



un composant "in-process" est un composant COM qui lorsqu'il est
appelé, est chargé dans le même espace d'adressage que le processus
appelant.



Ok, mais, dans le cas d'un composant COM qui peut être appelé dans le
même espace OU dans un process externe (voire partagé), c'est
l'utilisation qui va déterminer la classement. Il faudrait que la
licence soit variable a posteriori, alors qu'elle est figée a priori.

A mon avis, c'est sans solution...



Tiens, un autre truc que je n'ai jamais solutionné. J'écrit un logiciel
gratuit, que je met à disposition du public, sans autre mention de
licence que "vous pouvez l'utiliser librement". ATA, quel est le statut
de ce logiciel ?




--
@-salutations

Michel Claveau




Publicité
Suivre les réponses
Poster une réponse
Anonyme