Licence open source et fork de projet

Licence open source et fork de projet - Divers - Programmation

Marsh Posté le 18-01-2021 à 21:49:57    

Hola,
 
Je sais pas si ca a sa place ici, donc à déplacer s'il faut.  
 
Alors voilà, après pas mal de recherches pour une problématique sur laquelle je bloquais, je suis tombé sur un projet qui va dans le sens de ce que je recherche.  
 
Seulement, le projet ne fonctionne pas totalement comme il devrait/je le voudrais. Après avoir proposé/remonté un certain nombre de points de corrections/d'améliorations, l'auteur ne voit pas les choses de la même manière que moi. Et aussi, j'apprécie moyennement son comportement.  
 
De mon coté, j'ai intégré un certain nombre de corrections et améliorations dans un projet en mode privée. J'en suis assez satisfait et je voudrais pouvoir rendre public ces changements, peut être qu'elles seront utiles à quelqu'un d'autre.  
Le projet est en deux parties. L'une soumise à la licence AGPLv3 et l'autre soumise à licence Mozilla public licence v2.  
 
Ce que je voudrais savoir c'est comment ca se passe si je veux pouvoir mettre en ligne mes modifications par rapports aux licences en place ? Comment gérer le copyright ? Ce a quoi je doit faire attention ?  
 
Je regarde un peu ce qui se dit sur la toile, mais ce que je trouve, est malheureusement dans un anglais un poil trop complexe pour moi.  
 
Voilà, le dev c'est pas ma spécialité, je suis plutôt admin sys. Mais ce truc là me tiens assez à coeur. Donc j'espère pouvoir trouver quelques points de réponse grace à vous.  
 
En espérant avoir quelques retours, je vous remercie.


---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 18-01-2021 à 21:49:57   

Reply

Marsh Posté le 19-01-2021 à 13:31:37    

Pour la partie AGPL, t'as le droit de publier les évolutions en gardant le même nom du logiciel. Depuis la v2, elle est compatible avec la GPL.
 
Pour la partie MPL, j'aurais tendance à dire que tu peux aussi, mais je suis moins sûr : https://fr.wikipedia.org/wiki/Mozilla_Public_License


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-01-2021 à 19:30:03    

J'ai pas pensé tout se suite à la version fr de wikipedia pour glaner les infos, mais même là c'est pas très clair suite à plusieurs relectures  :pt1cable:  
 
Pour la MPL, je pensais avoir les choses un peu plus claire, mais la AGPL non et puis je lis ca sur la version fr de copyleft
 

Citation :

En droit copyleft, un auteur renonce définitivement à l’ensemble de ses droits patrimoniaux exclusifs en tant qu’auteur (à l’exception des droits de paternité de l’œuvre originale et des œuvres dérivées, ainsi que de ses obligations et droits moraux personnels, inappropriables et incessibles en droit français) ; l’hérédité de la licence copyleft empêche théoriquement toute réappropriation privée, y compris pour une œuvre dérivée,


 
Dans ce que je voulais faire, pour éviter les confusions, c'était de faire un vrai fork ou projet dérivé, donc avec un nouveau nom. Il y a dans certains fichiers des entête avec le copyright de l'auteur. Par rapport aux modifs que j'ai fait moi, je sais pas comment, et j'ai du mal à trouver des infos claires la dessus aussi, déclarer ces modifs. Est ce que je met moi aussi une sorte de copyright sur les parties modifiées, dans ce cas j'enlève l'entête pour le mettre dans un fichier spécifique ou pas ? Est ce que je peux l'enlever pour le déplacer d'ailleurs ou pas?
 
Question licence, ca restera la même pour les deux, c'est le mieu et le plus simple je pense.
 
Edit: ortho et précision

Message cité 1 fois
Message édité par kisscoolz le 20-01-2021 à 10:12:42

---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 19-01-2021 à 21:57:11    

Quelque soit la licence libre utilisée, tu ne PEUX PAS retirer le nom de l'auteur des portions de code qui ne sont pas à toi (bonjour la mentalité et l'éthique de vouloir s'approprier le travail d'un autre à moins que j'ai mal compris ton propos :/)
 
La GPL (et donc a priori l'AGPL qui est compatible avec la GPL) fait que l'auteur cède ses droits de distribution, de modification et de mise à disposition de code source. Mais il conserve son droit de paternité.
 
A noter que la GPL a de particulier qu'elle est contaminante. Si tu mets une lib GPL dans un logiciel, ce logiciel doit alors être disponible en licence GPL. Le but de ça est d'empêcher que des entreprises ne produisent des logiciels et fassent du profit avec avec du code GPL dedans.
 
Si tu veux faire un fork avec ton nom comme auteur, tu dois tout recoder (et pas juste recopier le code) :o
 
Edit : Tu as un exemple de licence GPL avec mon logiciel ASTRES (cf ma signature). Mon client a accepté de le distribuer en licence GPL v2. Du coup, j'ai pu reprendre des portions de code dans mon logiciel CanteenCalandreta réalisée à titre perso. Dans les commentaires, on voit la différence entre ce que j'ai fait pour mon client (y'a pas mon nom mais le service pour lequel je travaillais) et ce que j'ai fait à titre perso. Je ne me suis pas approprié le travail fait pour mon client même si techniquement, j'en suis l'auteur, mais pas sur le plan juridique. On a donc un gros fork d'ASTRES avec un logiciel qui fait des trucs très différents mais partage une part significative de l'architecture et du code.

Message cité 1 fois
Message édité par rufo le 19-01-2021 à 22:03:06

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 19-01-2021 à 23:29:15    

kisscoolz a écrit :

J'ai pas pensé tout se suite à la version fr de wikipedia pour glaner les infos, mais même là c'est pas très clair suite à plusieurs relectures  :pt1cable:  
 
Pour la MPL, je pensais avoir les choses un peu plus claire, mais la AGPL non et puis je lis ca sur la version fr de copyleft
 

Citation :

En droit copyleft, un auteur renonce définitivement à l’ensemble de ses droits patrimoniaux exclusifs en tant qu’auteur (à l’exception des droits de paternité de l’œuvre originale et des œuvres dérivées, ainsi que de ses obligations et droits moraux personnels, inappropriables et incessibles en droit français) ; l’hérédité de la licence copyleft empêche théoriquement toute réappropriation privée, y compris pour une œuvre dérivée,


 
Dans ce que je voulais faire, pour éviter les confusions, c'était de faire un vrai fork ou projet dérivé, donc avec un nouveau nom. Il y a dans certains fichiers des entête avec le copyright de l'auteur. Par rapport aux modifs que j'ai fait moi, je sais pas comment, et j'ai du mal à trouver des claires la dessus aussi, déclarer ces modifs. est ce que je met moi aussi une sorte de copyright sur les parties modifiés, dans ce cas j'enlève l'entête pour le mettre dans un fichier spécifique ou pas ? Est ce que je peux l'enlever d'ailleurs ou pas?  
 
Question licence, ca restera la même pour les deux, c'est le mieu et le plus simple je pense.


Maintient les headers existants et ajoutes-y une ligne avec ton copyright dans les fichiers modifiés.
Pareil si t'as un fichier de licence qui concerne un module entier.
 
Git devrait suffire à conserver l'historique ligne par ligne.


---------------
click clack clunka thunk
Reply

Marsh Posté le 20-01-2021 à 08:19:38    

Tout à fait. Si tu modifies une fonction d'un fichier, tu ajoutes ton nom, la date de MAJ, tu changes le n° de version de la fonction (si elle en a un) et tu indiques ce que tu as modifié dans l'entête de la fonction.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 20-01-2021 à 10:25:05    

rufo a écrit :

Quelque soit la licence libre utilisée, tu ne PEUX PAS retirer le nom de l'auteur des portions de code qui ne sont pas à toi (bonjour la mentalité et l'éthique de vouloir s'approprier le travail d'un autre à moins que j'ai mal compris ton propos :/)
 
La GPL (et donc a priori l'AGPL qui est compatible avec la GPL) fait que l'auteur cède ses droits de distribution, de modification et de mise à disposition de code source. Mais il conserve son droit de paternité.
 
A noter que la GPL a de particulier qu'elle est contaminante. Si tu mets une lib GPL dans un logiciel, ce logiciel doit alors être disponible en licence GPL. Le but de ça est d'empêcher que des entreprises ne produisent des logiciels et fassent du profit avec avec du code GPL dedans.
 
Si tu veux faire un fork avec ton nom comme auteur, tu dois tout recoder (et pas juste recopier le code) :o
 
Edit : Tu as un exemple de licence GPL avec mon logiciel ASTRES (cf ma signature). Mon client a accepté de le distribuer en licence GPL v2. Du coup, j'ai pu reprendre des portions de code dans mon logiciel CanteenCalandreta réalisée à titre perso. Dans les commentaires, on voit la différence entre ce que j'ai fait pour mon client (y'a pas mon nom mais le service pour lequel je travaillais) et ce que j'ai fait à titre perso. Je ne me suis pas approprié le travail fait pour mon client même si techniquement, j'en suis l'auteur, mais pas sur le plan juridique. On a donc un gros fork d'ASTRES avec un logiciel qui fait des trucs très différents mais partage une part significative de l'architecture et du code.


 
gras 1: non bien sûr et c'est pas l'idée. J'ai corrigé au dessus pour lever le doute, je sais pas si c'est à cette partie que tu fais allusion. Ce que je voulais dire c'est, comme les entêtes sont dans plusieurs fichiers, c'est les déplacer dans un fichier unique nommé par exemple COPYRIGHT ou README, ...  
 
gras 2: ca veut dire que si dans les modifs que j'ai fait, y'a quelque chose de moche qui se passe, ca peut retomber sur l'auteur original ?  :??:  
 
gras 3: c'est pas tant une histoire d'auteur, mais plus faire la distinction entre les deux, et comme dis juste au dessus, pour éventuellement une histoire de responsabilité, comme y'a quand même pas mal de changements par rapport à l'original.
 
gras 4: dans mon cas c'est ca serait un vrai fork qui fait "la même chose", sur la base d'autres critères. En tous cas fait mieux, de mon point de vue, que ce qui est annoncé par l'auteur de l'original.


Message édité par kisscoolz le 20-01-2021 à 10:40:13

---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 20-01-2021 à 10:33:55    

DDT a écrit :


Maintient les headers existants et ajoutes-y une ligne avec ton copyright dans les fichiers modifiés.
Pareil si t'as un fichier de licence qui concerne un module entier.
 
Git devrait suffire à conserver l'historique ligne par ligne.


 

rufo a écrit :

Tout à fait. Si tu modifies une fonction d'un fichier, tu ajoutes ton nom, la date de MAJ, tu changes le n° de version de la fonction (si elle en a un) et tu indiques ce que tu as modifié dans l'entête de la fonction.


 
Je vois. Est ce que je suis censé mettre la date de première modification ? De dernière modif ? La date de toutes les modifs ? Y'a pas mal de changements, de la simple ligne modifiée à réécriture totale de fonctions, et ajout de fonctions, donc ca peut faire du contenu à mettre dans les entêtes tout ca. J'ai vu qu'on pouvait mettre aussi un changelog, est ce que ca peut être utile ?  
 
Ca fait pas mal de complications, j'aurais préféré que l'auteur veuille intégrer et corriger tous ces trucs dans sa version, mais bon c'est pas le cas.


Message édité par kisscoolz le 20-01-2021 à 11:28:39

---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 20-01-2021 à 12:28:43    

Le droit de paternité est le fait que le logiciel a comme "papa" une personne, donc que c'est cette personne qui a été l'auteur initial du logiciel. En aucun cas cela n'engage sa responsabilité civile ou pénale. Un logiciel libre est utilisé à tes risques et périls. Il n'y a que dans le cas où l'auteur aurait manifestement cherché à dissimuler un comportement malveillant de son logiciel (virus, hack) qu'il pourrait avoir des problèmes juridiques
 
Concernant la traçabilité des MAJ faites, tu mets les principales dates et changements les plus significatifs.
 
Si tu ne fait pas de fork, tu n'as pas le droit de changer certains aspects de la structure du logiciel. Ex : tu ne peux pas regrouper dans un unique fichier les copyleft car chaque fichier du logiciel doit avoir la licence indiquée dedans le les différents auteurs (encore une fois, regarde mon outil CanteenCalandreta).
 
Si tu fais un fork, tu n'as pas le droit de reprendre le moindre bout de code de l'auteur original. Tu devras tout recoder sauf les modifs que tu avais déjà faites mais elles ne seront peut-être plus applicables après une refonte.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 21-01-2021 à 17:06:41    

rufo a écrit :

Le droit de paternité est le fait que le logiciel a comme "papa" une personne, donc que c'est cette personne qui a été l'auteur initial du logiciel. En aucun cas cela n'engage sa responsabilité civile ou pénale. Un logiciel libre est utilisé à tes risques et périls. Il n'y a que dans le cas où l'auteur aurait manifestement cherché à dissimuler un comportement malveillant de son logiciel (virus, hack) qu'il pourrait avoir des problèmes juridiques


 
C'est bien ce que j'avais en tête mais les textes des fois peuvent mettre facilement le doute.  
 

rufo a écrit :

Concernant la traçabilité des MAJ faites, tu mets les principales dates et changements les plus significatifs.


 
Là par contre je reste un peu dans le flou. Comme y'a pas mal de changements, et que presque chaque changement à une importance significative par rapport à la version d'origine et aussi par rapport aux changements que j'ai déjà faits. Sans parler des changements potentiels à venir :/  
 

rufo a écrit :

Si tu ne fait pas de fork, tu n'as pas le droit de changer certains aspects de la structure du logiciel. Ex : tu ne peux pas regrouper dans un unique fichier les copyleft car chaque fichier du logiciel doit avoir la licence indiquée dedans le les différents auteurs (encore une fois, regarde mon outil CanteenCalandreta).
 
Si tu fais un fork, tu n'as pas le droit de reprendre le moindre bout de code de l'auteur original. Tu devras tout recoder sauf les modifs que tu avais déjà faites mais elles ne seront peut-être plus applicables après une refonte.


 
J'ai parcouru rapidement ton outil. La différence avec ce que je veux faire, c'est que toi tu utilise juste certaines parties de l'autre soft si j'ai bien compris. Moi je part du soft entier auquel j'apporte un certain nombre de modifications. Aussi t'es en gplv2 et dans mon cas c'est du v3 pour une partie.  
 
Je me rends compte par contre que dans mon cas, l'auteur n'a pas mis le rappel de la licence en début de fichiers, juste le nom du soft avec la version, l'auteur, le copyright, et le nom de la licence. J'ai l'impression que c'est pas très propre.  
 
Enfin, pour la partie en gras, un fork c'est un dérivé si je ne m'abuse, donc en point de départ le code original. Et dans ce que je comprends des licences open source, c'est qu'elles permettent la modification du code original. Et d'après toi ca serait pas possible. Y'a forcément une subtilité qui m'échappe. Je repars me retourner le cerveau avec les textes.  
 


---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 21-01-2021 à 17:06:41   

Reply

Marsh Posté le 21-01-2021 à 18:25:56    

Je me suis mal exprimé pour le fork. Si tu fais un fork d'un outil existant (donc changement de nom), tu devras laissé le nom des auteurs dans les bouts de codes que tu as repris. Tu partageras donc les droits de paternité.
 
Si tu veux faire un fork d'un outil existant donc tu veux enlever toute trace des auteurs originaux (ce qui revient juste à reprendre les principales idées de l'outil), alors dans ce cas, tu n'as pas le droit de reprendre le moindre bout de code de l'outil initial. Par contre, dans ce cas, tu seras l'unique détenteur des droits de paternité.
 
Par rapport à mont outil CanteenCalandreta, oui, j'utilise des parties de l'autre soft, mais ça représente quand même toute l'infrastructure. Seules les principales fonctions changent. Mais tu constateras que j'ai laissé le nom de l'auteur initial des bouts de codes repris.
Mon soft est en GPL v2 car la v3 n'existait pas à l'époque, mais ça, c'est pas grave, tu peux mixer les licences, la GPL v2 et v3 sont compatibles.
 
Il faut toujours rappeler la licence en début de chaque fichier pour le cas où un fichier du logiciel serait transmis à qq'un et serait sorti de son contexte. Avec l'entête, on sait d'où vient le logiciel et sa licence : donc on sait ce qu'on a le droit de faire et ne pas faire avec.
 
A l'époque où j'ai dû choisir la licence, j'avais fait une étude comparative des licences libres de l'époque (vers 2007-2008). La GPL a ceci de bien pour l'auteur, c'est qu'elle est contaminante. Aucune autre personne ne peut s'approprier ton travail et se faire des tunes sur ton dos. Chose que je voulais avec mon soft Astres. ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 22-01-2021 à 18:54:57    

rufo a écrit :

Si tu veux faire un fork d'un outil existant donc tu veux enlever toute trace des auteurs originaux (ce qui revient juste à reprendre les principales idées de l'outil), alors dans ce cas, tu n'as pas le droit de reprendre le moindre bout de code de l'outil initial. Par contre, dans ce cas, tu seras l'unique détenteur des droits de paternité.


 
dont peut être ???  
 
Indépendemment de la syntax grammaticale, on est pas dans le cas d'un fork ici. Dans un cas, ca revient à écrire un programme de zéro qui fait la même chose, dans l'autre cas, ca revient à s'approprier le travail de quelqu'un. Ni l'un ni l'autre ne sont ce que je veux faire.  
 

rufo a écrit :

... La GPL a ceci de bien pour l'auteur, c'est qu'elle est contaminante. Aucune autre personne ne peut s'approprier ton travail et se faire des tunes sur ton dos. Chose que je voulais avec mon soft Astres. ;)


 
Tu es bien sûr de ça ? Je crois comprendre que l'on peut utiliser à des fins commerciales le soft écris par quelqu'un d'autre (sous réserve de faire les choses correctement, notamment préserver la licence et le copyright).


---------------
http://lacabanedeladmin.trickip.net/
Reply

Marsh Posté le 22-01-2021 à 19:03:34    

Ok, donc tu veux bien partir de l'outil original, faire une nouvelle branche en gardant ce que l'auteur a fait + ajouter tes modifs et donc, partager les droits de paternité.
 
Pour la GPL, oui, tu peux vendre un soft qui contient des parties en GPL. SAUF que si tu mets des morceaux de GPL dans un soft, comme c'est contaminant, tout le soft devient GPL et tu dois rendre disponible ton soft gratuitement. Du coup, faudrait être très con de payer un soft que tu peux avoir gratuitement.
C'est pour ça que pour les softs en GPL où y'a du business, les entreprises vendent du service autour du soft (du support par ex, ou de la customination). Mais ils ne vendent pas le logiciel seul.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 22-01-2021 à 20:10:07    

rufo a écrit :

Ok, donc tu veux bien partir de l'outil original, faire une nouvelle branche en gardant ce que l'auteur a fait + ajouter tes modifs et donc, partager les droits de paternité.

 

Un fork ?!  :o
Ou si tu veux une branche détachée peut être. L'original ayant continué son chemin par rapport à la version sur laquelle j'ai basé mes modifs, il n'y probablement pas de merge par la suite.

 

J'ai trouvé un certain nombre de réponses à mes questions sur la page anglaise de wikipédia pour fork.

 
rufo a écrit :

... Du coup, faudrait être très con de payer un soft que tu peux avoir gratuitement.

 

Je sais pas qui est à blamer dans l'histoire. La personne qui achète par méconnaissance ou la personne qui vend en toute connaissance de cause un produit gratuit et qui ne lui appartient pas.


Message édité par kisscoolz le 22-01-2021 à 21:17:39

---------------
http://lacabanedeladmin.trickip.net/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed