Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de licence pour un script Python

6 réponses
Avatar
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

6 réponses

Avatar
Michel Claveau
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
Avatar
Jean-Baptiste renard
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.fr.html#MereAggregation

"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 ;-)

Avatar
Michel Claveau
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



Avatar
Jean-Baptiste renard
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 ;-)




Avatar
Michel Claveau
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




Avatar
Jean-Baptiste renard
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 ?


le statut est "batârd" (avec tout le respect que je te dois ;-) ) ce type de
licence interdit AMHA la copie/distribution/modification du logiciel.

ecrire comme licence "vous pouvez en faire ce que vous voulez", ca serait
plus du freeware (domain public) Toutefois, dans le droit français, le
droit moral de l?auteur (droit extra-patrimonial) s?applique même pour les
oeuvres du domaine public. Ce droit moral (qui est incessible, inaliénable
et éternel) tient en quatre points :
- le droit de divulguer l?oeuvre
- le droit à la paternité de l?oeuvre (l?auteur a le droit de voir son nom
cité lorsque son oeuvre est diffusée) ;
- le droit au respect de la qualité de l?oeuvre ;
- le droit de retrait et de repentir (l?auteur a le droit de retirer son
oeuvre de la sphère publique).

voilà, voilà

PS: attention, je ne suis pas juriste, je peux totalement me gourrer ;-)