Voilà je me suis lancé dans un projet opensource sous GPL, écrit en python, et j'aimerais utiliser une bibliothèque écrite pour BitTorrent (la bibliothèque bencode, qui permet de faire de la sérialisation de données en chaînes de caractères.
Je vais donc voir par ici : http://www.bittorrent.com/license/(...) , et je lis le point 4.f :
Distribution of Derivative Works. You may create Derivative Works (e.g., combinations of some or all of the
Licensed Product with other code) and distribute the Derivative Works as products under any other license you select,
with the proviso that the requirements of this License are fulfilled for those portions of the Derivative Works that
consist of the Licensed Product or any Modifications thereto.
Bon si je comprend bien, il faut que la GPL soit compatible avec. Je vais donc faire un tour ici : http://www.gnu.org/licenses/license-list.html,(...) je ne trouve pas ma licence BitTorrent. Une petite recherche sur le net, et je vois que la licence est basée sur celle de Jabber. Malheur :
The license is a free software license, incompatible with the GPL. It permits relicensing under a certain class of licenses, those which include all the requirements of the Jabber license. The GPL is not a member of that class, so the Jabber license does not permit relicensing under the GPL. Therefore, it is not compatible.
Donc, je suis dans la mouise. Ma question est : quelles sont mes options ? Recoder un truc en évitant de s'inspirer ? Faire un sous-package de mon programme contenant la bibliothèque sous une autre licence ?
La solution la plus simple serait d'avoir une dépendance envers BitTorrent, mais ce n'est pas acceptable vu le peu de choses que je récupère. Et je voudrais éviter de changer la licence de mon projet...
--
Thomas
PS: merci linuxfr de m'avoir rappelé comment s'écrit licence en français.
# Possibilité
Posté par Guillaume Knispel . Évalué à 2.
[^] # Re: Possibilité
Posté par Thomas Hervé . Évalué à 2.
J'ai vu cette histoire de clause d'exception à la licence, mais je ne vois pas pourquoi je ne dois pas utiliser d'autres composants sous GPL.. En tout cas j'en utilise.
Sinon effectivement je suis tenté par recoder la bête, je vais éviter de trop regarder ce qu'ils ont fait. Et puis ca permet d'apprendre certaines choses. L'interêt pour moi était d'utiliser une solution éprouvée, tant pis...
Merci en tout cas pour vos réponses.
--
Thomas
[^] # Re: Possibilité
Posté par Guillaume Knispel . Évalué à 2.
# Développement...
Posté par Damien COTTIER . Évalué à 1.
[^] # Re: Développement...
Posté par SamG . Évalué à 3.
Tu peux t'aider de ceci http://www.bittorrent.com/protocol.html(...)
Mais ..... si tu veux sérialiser , pourquoi ne pas simplement utiliser Pickle ?
>>> import cPickle as pickle
>>> pickle.dumps('toto',0)
"S'toto'\np1\n."
>>> pickle.dumps(({'spam.mp3': {'author': 'Alice', 'length': 100000}}),0)
"(dp1\nS'spam.mp3'\np2\n(dp3\nS'length'\np4\nI100000\nsS'author'\np5\nS'Alice'\np6\nss."
Le protocole 0 te permet de sérialiser en mode texte et non en mode binaire.Mais le mode binaire est plus efficace. Il faut choisir suivant l'utilisation que tu vas en faire.
[^] # Re: Développement...
Posté par Thomas Hervé . Évalué à 2.
Mais cPickle est judicieux. Reste à voir si ca se marrie bien avec longblob, sinon je ferais du dump en string (relire cette fin de phrase pour rigoler).
--
Thomas
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.