Est-il possible de refermer le code open source?



Ce concept semble assez simple pour toute personne qui travaille avec l'open source depuis un certain temps: un projet, une fois publié en open source, reste ouvert pour toujours. Bien sûr, le développeur peut décider que les futures versions du projet seront fermées, et parfois cela s'est produit, mais ce qui a déjà été publié ne peut pas être rappelé. Internet n'a pas de bouton de suppression; Après avoir publié votre code et donné à des millions de personnes le potentiel de le télécharger, ils ne peuvent pas remettre le génie dans la bouteille.

Mais qu'en est-il des bonnes raisons? Que se passe-t-il si le projet se transforme en quelque chose auquel vous ne voulez plus vous lier? Vous avez peut-être envoyé votre code pour le projet, ayant une idée de la façon dont il sera utilisé, puis les règles ont changé. Ou avez-vous été banni de ce projet, et en même temps, les personnes qui le soutiennent n'ont aucun problème à laisser votre contribution importante sous forme de code, même lorsque vous êtes mis à l'écart?

En raison de ce que certaines personnes considèrent comme un changement forcé des règles de conduite des développeurs Linux, certains développeurs du projet open source le plus exclusif au monde ont des questions. La communauté doit rarement faire face à une telle situation, et cela n'est jamais arrivé à un projet de cette ampleur.

Est-il vraiment impossible de révoquer le code source envoyé à un projet publié sous une licence aussi libre et ouverte que la GPL? Et si possible, que se passera-t-il? Que se passe-t-il s'il s'avère que des milliards d'appareils exécutant le noyau Linux violent les droits intellectuels d'un développeur? Ces questions sont cruciales pour Internet et probablement même pour notre mode de vie. Cependant, les réponses ne sont pas aussi faciles à trouver que vous ne le pensez.

Copyleft et propriété


La GPL est connue sous le nom de licence copyleft , ajoutant des droits aux utilisateurs finaux qui seraient autrement limités par les lois sur le droit d'auteur. Il donne, par exemple, à l'utilisateur le droit de copier l'œuvre et de créer ses dérivés. Un point important: les licences copyleft telles que la GPL ne remplacent pas le copyright - elles ne font que le compléter. Les droits sur le code d'origine restent la propriété de son auteur et, par conséquent, du propriétaire principal.

Cela donne naissance au concept de double licence: un seul auteur d'un programme peut le publier sous plusieurs licences en même temps, et généralement l'une d'entre elles vous permet de faire plus avec le programme que d'autres. Par exemple, une version d'un programme pour Windows peut avoir un code fermé, mais pour Linux, il peut être ouvert, même si le code du programme lui-même n'est pas différent. Le plus souvent, il est utilisé pour que, sous une licence, le programme soit utilisé à des fins commerciales et sous une autre, plus libre - à des fins personnelles.

Certains projets open source, généralement de grande envergure et bénéficiant du support de l'entreprise, ont parfois un contrat de licence de contributeur. Ce document décrit toutes les exigences et règles supplémentaires nécessaires pour ajouter du code au projet et contient généralement une clause expliquant que la personne saisissant le code en transfère le droit au propriétaire du projet. Par exemple, voici une partie d'une telle licence de Google :
Selon les termes et conditions de cet accord, vous transférez à Google et aux destinataires du logiciel distribué par la société des droits perpétuels, mondiaux, non exclusifs, gratuits, non déductibles et irrévocables de reproduction, de création d'œuvres dérivées, de démonstration publique, de représentation publique, de renouvellement de licence et de distribution de votre contribution et des œuvres dérivées de lui.

Il convient de noter que Linux n'utilise pas un tel accord, de sorte que les droits sur tout code fourni par le développeur restent avec lui.

Perte de réputation


Donc, si un développeur est libre de choisir des licences pour distribuer son code jusqu'au diamétralement opposé (code ouvert et fermé), et il est généralement admis qu'en l'absence d'un CLA il a un droit indéniable d'écrire du code, alors la situation devient sensible. Ne résulte-t-il pas de cela que le développeur a le droit de retirer sa promesse d'ouvrir le code si une situation se présente qui l'oblige à croire que le code ne vaut plus la peine d'être ouvert?


Eric Raymond

Eric Raymond , l'un des fondateurs de l'initiative open source, l' Open Source Initiative , et auteur de la trilogie Cathedral and Bazaar , estime qu'ils ont ce droit. Dans une entrée de la liste de diffusion du noyau Linux, Eric fait notamment référence à une menace faite par certains développeurs concernant le rappel de leur code source depuis le noyau:

Pour commencer, permettez-moi de confirmer que ce n'est pas une menace vide de sens. Lors de la fondation de l'Open Source Initiative, j'ai étudié les lois connexes. Aux États-Unis, il existe une jurisprudence confirmant que les pertes de réputation associées à la transformation des droits d'un participant au projet sous la GPL peuvent être prises en compte devant les tribunaux. Je ne sais pas s'il existe une jurisprudence en dehors des États-Unis, mais dans les pays qui se conforment à la Convention de Berne sans amendements américains aux «droits moraux» [après avoir adhéré à la Convention des États-Unis, ils ont déclaré que les droits moraux sont déjà protégés par des dispositions sur la diffamation et, par conséquent, ne nécessitent pas de réglementation supplémentaire / env. trans.], cet article de la convention devrait encore renforcer la position des opposants devant les tribunaux.

L'article 6 de la Convention de Berne explique que l'auteur original de l'œuvre, même en transférant ses droits à une autre personne ou organisation, peut s'opposer à son utilisation s'il lui semble qu'ils l'utilisent "au détriment de son honneur et de sa réputation". Ainsi, en théorie, le développeur n'est pas satisfait de n'avoir qu'à convaincre le juge que les chefs de projet ont nui à sa réputation en, par exemple, en l'interdisant publiquement pour violation des règles de conduite, ce qui peut obliger le projet à cesser d'utiliser leur code, quelle que soit la licence utilisée.

La critique


Mais la question demeure, un développeur peut-il vraiment "révoquer" les droits transférés via la GPL? Si nous parlons de GPLv2, que Linux suit, alors l'élément le plus approprié est contenu dans la section 4.
Dans le même temps, la licence que vous accordez à des tiers qui ont reçu des copies ou des droits de votre part en vertu de cette licence ne sera pas résiliée tant que ces personnes ne se conformeront pas pleinement à ses conditions.

Fait intéressant, dans la GPLv3, les règles ont été resserrées:
Tous les droits accordés en vertu de cette licence sont accordés pour la durée du droit d'auteur sur le programme et ne peuvent pas être révoqués à condition que les conditions soient remplies.

Certains considèrent cette distinction comme critique. Légalement, «rappeler» signifie généralement que l'accord a été révoqué par ceux qui l'ont proposé (ici - le développeur d'origine), et «résiliation» signifie simplement la fin de l'accord. En conséquence, il y a place à interprétation, et en principe, on peut affirmer que puisque la GPLv2 n'indique pas que le développeur ne peut pas révoquer ses droits, cette possibilité est préservée.

Territoires inexplorés


Compte tenu de l'évaluation d'Eric Raymond, selon laquelle le développeur peut affirmer que le projet auquel il participe nuit à sa réputation, et du fait qu'il n'est pas directement interdit aux développeurs de retirer leur contribution dans la licence Linux actuelle, la situation devient brumeuse et jusqu'à présent, personne n'a pas sûr de quoi que ce soit. Nous sommes dans un domaine inexploré, et les anciennes hypothèses peuvent ne pas supporter l'expertise juridique.

Il convient également de mentionner qu'un concept juridique tel que l' estoppel peut entrer en jeu - il interdit essentiellement à une personne de reprendre sa promesse si une autre personne a déjà pris des mesures sur la base de cette promesse. Autrement dit, si vous avez dit à quelqu'un qu'il peut utiliser votre code et qu'il l'a utilisé pour créer un projet réussi, vous ne pouvez pas changer d'avis, car vous allez l'endommager.

D'un point de vue pratique, même si une personne pouvait défendre son point de vue devant un tribunal, exigeant de retirer son morceau de code de Linux, ce serait physiquement impossible à faire. Et puis, au lieu de pouvoir supprimer le code des appareils qui violent les droits d'auteur à partir de ce moment, le développeur mentionné est susceptible de recevoir une récompense en espèces. Ce qui va néanmoins devenir un terrible précédent pour une communauté ouverte: offensé - indemnisé.

Par conséquent, parler de révoquer des licences open source est faux. Pour paraphraser Ian Malcolm, un personnage de Jurassic Park: les développeurs offensés sont tellement occupés à se demander s'ils peuvent le faire ou non, qu'ils n'ont pas le temps de penser s'ils devraient le faire du tout. Après l'apparition d'un précédent juridique par lequel un développeur peut retirer son code d'un projet ouvert, la communauté ouverte sera détruite. Il a fallu des décennies pour qu'un logiciel open source atteigne la prospérité d'aujourd'hui, mais les actions hâtives de plusieurs malheureux développeurs peuvent le ramener dans le domaine des idées que vous voulez simplement donner vie.

Source: https://habr.com/ru/post/fr426159/


All Articles