J'ai passé un peu de temps à lire le copyleft commun et les licences logicielles permissives. Existe-t-il une licence qui permet au créateur d'une application ou d'un algorithme de spécifier largement qui peut utiliser/distribuer le produit en fonction de ses propres préjugés personnels?
Je comprends que les gens utilisent des licences doubles pour forcer les entités commerciales à payer pour la licence permissive ou être obligés de distribuer du code source pour leurs projets, mais je pensais à quelque chose de plus, par exemple, "Ce code peut être utilisé librement, modifié et distribué par toute entité non impliquée dans l'Industrie x [que j'ai jugée indigne de l'utilisation de mon logiciel libre] ".
Je n'ai pas pu trouver de telles licences ou modèles de licence, et j'aurais pensé qu'au moins certains programmeurs seraient préoccupés par les implications éthiques de leurs produits. Est-il possible de créer un algorithme de recherche de cheminement de l'IA et de s'assurer qu'il ne finirait pas par guider un drone armé ou un modèle de banquise arctique et de s'assurer qu'il ne finirait pas par être utilisé pour le forage pétrolier offshore, tout en utilisant une licence de type permissif?
Cette question revient assez régulièrement dans la communauté du logiciel libre et c'est compréhensible. Les gens qui écrivent des logiciels libres (souvent pendant leur temps libre) et les donnent au public le font normalement parce qu'ils veulent faire une différence pour le mieux, pas pour le pire. Il est donc naturel de penser à ce que votre métier ne soit pas utilisé d'une manière que vous jugez contraire à l'éthique.
Cependant, la Free Software Foundation s'oppose clairement aux tentatives d'utilisation de la licence logicielle pour limiter la façon dont les gens peuvent utiliser les logiciels. Richard Stallman a écrit un article "Pourquoi les programmes ne doivent pas limiter la liberté de les exécuter" où il explique pourquoi il est convaincu que l'utilisation de licences logicielles pour restreindre l'utilisation d'un logiciel à des applications éthiques est vouée à l'échec et ne ferait que nuire à l'interopérabilité et limiterait l'utilité pour les utilisateurs légitimes. Je trouve son article très convaincant et je vous recommande bien sûr de lire l'original mais je paraphrase (avec mes commentaires) quels sont, à mon avis, ses principaux arguments ici.
Interdire au logiciel d'être utilisé pour des activités illégales est au mieux inutile. Ces activités sont toujours illégales, peu importe ce que dit la licence. Une licence ne peut accorder aux utilisateurs des logiciels que le titulaire du droit d'auteur. Ce n'est pas écrit explicitement dans son article, mais je conclus et conviens qu'il serait plus logique de faire campagne politiquement pour que les activités immorales soient rendues illégales à la place.
Ne pas autoriser le logiciel à être utilisé par les États pour des activités immorales (RMS mentionne la torture à titre d'exemple) ne sera probablement pas efficace, car la plupart des États ont une législation spéciale qui leur permet de faire à peu près tout ce qu'ils veulent tant que cela est dans l'intérêt de la sécurité nationale. Bien que je pense que cela soit quelque peu exagéré, il est certainement vrai que de telles exemptions légales à des fins militaires existent dans de nombreux États ou pourraient être adoptées si les pouvoirs législatifs les jugent souhaitables. Ce qui est probablement plus pertinent, c'est que vous auriez du mal à prouver que votre travail est utilisé sans avoir accès à des informations classifiées et bien que la loi sur le droit d'auteur soit étendue par de nombreux acteurs pour justifier des choses scandaleuses, je ne suis pas conscient que "avoir accès à des informations classifiées afin que vous puissiez poursuivre l'État "est quelque chose que la loi sur le droit d'auteur vous accorde dans n'importe quel État du monde. Vous ne réussirez certainement pas à poursuivre un État étranger autocratique qui pourrait utiliser votre logiciel pour les choses les plus horribles.
Il n'est pas clair si de telles restrictions seraient même applicables par le biais du droit d'auteur et, dans l'affirmative, si cela serait bénéfique. Je ne peux que parler de l'Allemagne, mais je suis assez convaincu que de telles conditions de licence seraient nulles dans les procédures judiciaires allemandes. Je pense que c'est une bonne chose. La loi sur le droit d'auteur est déjà trop puissante en ce que d'autres personnes peuvent vous imposer. La dernière chose dont nous avons besoin est encore plus de restrictions.
Si les licences logicielles restreignaient l'utilisation du logiciel à des "fins éthiques", un terrible gâchis en résulterait et le logiciel ne serait pas compatible. Bien que cela puisse certainement se produire , je ne vois pas pourquoi il ne pourrait pas émerger une "licence publique éthique" standard de facto publiée par une organisation crédible et utilisé par de nombreux projets comme c'est le cas avec la GPL aujourd'hui. Ce que je vois, c'est que pour qu'une telle licence générale soit largement acceptée et utilisée, elle devrait très probablement se résumer à définir comme contraire à l'éthique ce qui a déjà été convenu comme contraire à l'éthique et donc interdit par la législation publique dans les démocraties, donc cela n'apporterait pas grand-chose. Plus important encore, étant donné qu'aucune licence de ce type n'existe aujourd'hui, vous devrez lancer la vôtre, ce qui est toujours une mauvaise idée.
Il existe des projets logiciels qui utilisent une licence comme celle-ci. Cependant, celles-ci ne seraient pas considérées comme des licences libres par la définition OSI.
Plus important encore, l'applicabilité de ces licences a été fortement remise en question chaque fois que je les ai vues mentionnées, et elles n'ont jamais, à ma connaissance, été testées devant les tribunaux. Il est peu probable que l'utilisation d'une telle licence ait plus qu'une valeur symbolique.
Une partie du problème ici est que ces termes sont incroyablement vagues, comme le souligne Ixrec dans son commentaire. Imaginons que vous développiez un algorithme qui guide les voitures autonomes. Éthique? Probablement. Ensuite, cet algorithme est utilisé pour construire des camions qui conduisent seuls. Toujours éthique. Et maintenant, ces camions sont utilisés pour réapprovisionner les camps militaires ou pour transporter de la drogue; direz-vous alors que ce n'est pas autorisé parce que votre code est utilisé là-dedans? Peut-être qu'ils sont même utilisés dans la traite des êtres humains, ce qui est certainement contraire à l'éthique, mais comment contrôleriez-vous cela? Exiger des fabricants de camions qu'ils mettent également une licence sur leurs camions?
Enfin, votre entreprise militaire ou pétrolière moyenne a suffisamment d'argent pour simplement prendre votre idée et la réimplémenter, donc si c'est votre algorithme que vous ne voulez pas utiliser, vous n'avez pas de chance de toute façon. Et puisque le code militaire (un tel logiciel de guidage de fusée ou de drone) est généralement classé de toute façon, comment sauriez-vous que votre code a été utilisé?
Lorsque vous regardez le marché actuel, il existe déjà des licences qui stipulent à quoi le logiciel peut être utilisé.
. le cerveau ou le tissu nerveux et est susceptible d'entraîner la chute de la civilisation organisée.
Il existe probablement un certain nombre d'autres licences qui contiennent des clauses tout aussi étranges. Ainsi, une licence discriminatoire fondée sur des motifs éthiques ne serait pas la première fois qu'une licence comporte une stipulation étrange.
Vous pouvez rédiger n'importe quelle licence que vous aimez et poursuivre en justice quiconque utilise votre code contrairement aux termes de la licence pour violation de droit d'auteur.
Vos termes "à ne pas utiliser par l'industrie X" rendent la licence incompatible avec la licence GPL, par exemple. Je ne peux pas inclure votre logiciel dans le code GPL que je souhaite distribuer (ou qui peut être distribué accidentellement, ce qui se produit). Je n'ai pas pu inclure votre code dans le code source fermé de mon entreprise, car le service juridique me tuerait (cela signifie que si quelqu'un nous offrait des millions pour notre code source, nous ne pourrions pas le vendre en raison de vos restrictions). À tout le moins, notre service juridique dirait "cela nous coûtera 5 000 $ pour vérifier la licence. Combien cela vous coûte-t-il d'écrire le code vous-même?"
Si vous vous souciez de l'éthique de l'industrie X, plutôt que de créer une licence discriminatoire à l'égard de l'industrie X, vous pouvez l'approcher différemment; vous pouvez opter pour la double licence et créer une version gratuite et commerciale. Faites ensuite des dons à une organisation anti-industrie X - soit sous la forme d'une version commerciale complète, soit d'une réduction des bénéfices de la version commerciale.
C'est tout à fait légal, et cela soutient un idéal auquel vous croyez. En outre, c'est beaucoup mieux le "marketing de bonne volonté". Même les gens de l'industrie X pro vous respecteront parce qu'au moins vous soutenez quelque chose en quoi vous croyez. Il vaut toujours mieux être vu comme soutenant un idéal plutôt que d'attaquer son contre-idéal.
Je travaille pour une entreprise ayant pour mandat de développer des logiciels pour des organisations caritatives progressistes. Nous avons créé des bibliothèques que nous voulions ouvrir et comme le PO, nous n'étions pas satisfaits des licences que nous pouvions trouver.
Nous avons créé la Just World License afin que, à tout le moins, notre code ne soit pas utilisé par ceux qui travaillent contre les objectifs des organismes de bienfaisance que nous soutenons. (Voici n article expliquant nos raisons)
Ci-dessous, je vais aborder certaines des objections aux licences éthiques soulevées dans les commentaires et les réponses. Ce faisant, je vais faire une comparaison avec la GPL car c'est aussi un exemple de licence qui est tirée d'un point de vue idéologique fort et qui est donc instructif sur la façon dont une licence est plus qu'un simple document juridique et ses aspects. nous en sommes venus à accepter.
Pourquoi (pas) éthique?
Bon nombre des objections que j'ai lues sont liées au caractère exécutoire d'une telle licence, mais je dirais que le but d'une licence éthique n'est pas de la faire valoir devant un tribunal. En fait, la plupart des documents juridiques que vous ne voulez vraiment pas tester en cour - c'est cher et douloureux. Oui, vous devez les rendre clairs et sans ambiguïté, mais la plupart des gens ne rédigent pas de documents juridiques dans le but principal de traduire l'autre partie en justice.
Comme les gens l'ont (à juste titre) souligné, si une grande entreprise veut utiliser votre logiciel malgré les restrictions, elle a probablement les ressources pour vous enterrer dans les formalités administratives.
Mais, ce n'est pas différent de la GPL, et la GPL, elle aussi, n'a pas été écrite pour que les développeurs de logiciels libres puissent amener les grandes entreprises devant les tribunaux pour abus de code open source. Oui, c'est juridiquement spécifique et possible à appliquer, mais ce n'était pas le principal but que les auteurs avaient en tête. Ils ont créé la GPL pour diffuser une idée - l'idée que le logiciel et sa source devraient être librement partagés.
De même, en créant une licence éthique, nous voulons diffuser une idée - que nos logiciels doivent être utilisés pour le bien du monde, et que nous, en tant que développeurs, pouvons prendre la responsabilité de la façon dont nos logiciels sont utilisés.
Applicabilité
Cela étant dit, je dirais également qu'une licence éthique peut être appliquée. Même avec les termes de licence extrêmement vagues de JSLint, IBM était suffisamment préoccupé par l'application pour demander à l'auteur l'autorisation expresse de tiliser JSLint pour le mal .
Oui, le gros tabac pourrait utiliser notre code et rester silencieux à ce sujet, mais la peur d'être découvert ou dénoncé et la possibilité d'une application suffit pour la plupart des entreprises, même celles qui font de mauvaises choses, pour décider que cela ne vaut pas le risque et aller chercher un autre code.
Restreindre l'utilisation de choses illégales est inutile
D'accord.
En rédigeant une licence éthique, nous avons décidé de ne pas exclure les actes illégaux pour cette raison, et aussi parce que certains pays ont de très mauvaises lois qui restreignent les libertés des personnes de manière terrible. Si les militants qui luttent contre ces choses veulent utiliser notre logiciel, ils en ont assez pour s’inquiéter sans se soucier que nous puissions nous présenter et ajouter un cessez-le et renoncez à leurs problèmes.
Si c'est mauvais, il y a des lois pour l'arrêter
<insérer une vidéo obligatoire des législateurs demandant à Mark Zuckerberg d'envoyer un e-mail via WhatsApp>
Nos législateurs sont, malheureusement, parmi les plus lents à agir lorsqu'il s'agit de répondre à l'évolution des normes sociales, sans parler de la technologie. Pour commencer, c'est 2018 et il y a encore des produits sur les étagères qui sont fabriqués par esclaves réels .
L'éthique ne peut pas être définie
Le monde n'est pas aussi gris qu'on le prétend souvent.
Notre licence empêcherait les gens d'utiliser notre logiciel pour (entre autres) entreprendre des actions connues pour ruiner l'état de la planète pour les générations futures, exploiter le travail des esclaves, promouvoir le racisme ou pirater la psychologie comportementale pour inciter les gens à gaspiller des charges de leur vie en cliquant sur les annonces.
Ce ne sont pas exactement le problème du chariot .
L'éthique est subjective
Oui, mais ce n'est pas une mauvaise chose.
Certaines de nos décisions les plus essentielles sont subjectives. Si vous êtes intéressé, il y a des histoires vraiment intéressantes de personnes dont le centre émotionnel a été endommagé lors d'un accident et qui ne peuvent plus fonctionner même si leur raison et leur objectivité sont complètement intactes.
Moins philosophiquement. L'idée qu'il est mal de prendre un logiciel FOSS et de l'améliorer sans publier les modifications est également une position subjective. Il s'agit d'un point de vue subjectif qui constitue un élément clé de la GPL et tout le monde dans le monde du développement logiciel ne peut pas convenir que c'est une bonne chose, mais cette différence d'opinion n'a pas encore fait tomber la communauté FOSS ;-)
Ce serait gênant
Eh bien, c'est le genre de point. Si une entreprise écrit des logiciels pour des actes éthiquement douteux, une licence éthique est censée être un inconvénient.
On pourrait en dire autant de certaines licences FOSS. Certaines entreprises utilisent aujourd'hui des outils tels que le vérificateur de licences, car elles ne veulent pas de code GPL dans leurs produits.
Si chaque auteur a ajouté sa propre définition de l'éthique et que nous avions beaucoup de licences éthiques non standard, cela devient très difficile et peu pratique, mais si, comme nous le faisons maintenant pour l'open source général, nous pourrions nous mettre d'accord sur une poignée de licences standard il n'y a aucune raison que ce soit moins pratique.
Les mauvaises entreprises écriront simplement les leurs
Bien. Qu'ils gaspillent leurs ressources s'ils veulent profiter de nuire aux gens et à notre avenir.
Je ne vais pas me moquer du fait que placer les petites bibliothèques que j'ai publiées hors limites va matériellement inhiber les grandes sociétés maléfiques, mais que se passerait-il si des projets plus importants le faisaient?
Par exemple, Apache’s Hadoop est utilisé par les sociétés pétrolières et gazières pour les aider à fonctionner de manière plus rentable à un moment où elles devraient fermer leurs portes afin que nous puissions éviter une catastrophe climatique.
Si la Fondation Apache déterminait que de telles utilisations ne relevaient pas des bénéfice public que leur mission envisage pour leurs ressources et décidait de codifier cela dans leur licence, les entreprises devraient se tourner vers autre chose, peut-être un solution propriétaire coûteuse. Ce ralentissement des résultats d'une entreprise qui nuit à notre avenir serait une bonne chose.
C'est une nouvelle idée
Cela dit, la Just World License est une nouvelle idée. Nous pensons qu'il a des jambes, et nous serions heureux de recevoir des commentaires ou de tirer des demandes pour l'améliorer.
Certaines licences interdisent spécifiquement l'utilisation militaire.
http://mindprod.com/contact/nonmil.html
Licences "open source" qui interdisent explicitement les applications militaires
Le problème avec ce genre de choses, c'est qu'elles deviennent incompatibles avec d'autres licences telles que la GPL. Donc, en surface, ils peuvent sembler "raisonnables", mais ils peuvent paralyser l'utilisation.
La licence de CryEngine ne permet que le développement de 'Jeux' et interdit spécifiquement ce qui suit:
- projets militaires
- jeux d'argent;
- simulation (technique, scientifique, autre);
- science;
- architecture;
- pornographie;
- Serious Games.
Jeux sérieux:
1.10. "Serious Games", c'est-à-dire "jeux" qui ne sont pas développés à des fins uniquement de divertissement mais à des fins de formation, de simulation, de science, d'architecture, etc.
Bien sûr, cela est probablement pour des raisons commerciales plutôt que pour des raisons éthiques, car ils pourraient obtenir plus d'argent d'un entrepreneur militaire par exemple et ils auraient juste besoin d'obtenir une licence différente. Aussi un peu merdique que les jeux éducatifs ne sont pas autorisés.
Toute licence qui restreint l'utilisation du logiciel à certaines fins n'est par définition pas une licence de logiciel libre . C'est une violation du tout premier de ce que GNU considère les quatre libertés essentielles :
- La liberté d'exécuter le programme comme vous le souhaitez, pour n'importe quel but (liberté 0).
Vous pouvez en trouver plusieurs dans la liste GNU de licences de logiciels non libres , mais franchement, le monde regorge de titulaires de licences de logiciels non libres. Un bon exemple est le licence JSON , qui inclut ceci:
Le logiciel doit être utilisé pour le bien et non pour le mal.
Notez qu'une telle licence est incompatible avec GPL et LGPL. Cela signifie que si quelqu'un essaie d'utiliser un logiciel utilisant cette licence avec un logiciel GPL ou LPGL, le travail résultant ne peut être légalement distribué à personne.
En général, je déteste vraiment, vraiment avoir à parcourir la licence du logiciel homebrew de quelqu'un pour voir si je peux utiliser son logiciel. J'ai mieux à faire avec mon temps. J'ai trouvé qu'il y a 3 licences qui peuvent être utilisées pour n'importe quel but que je publierais publiquement:
Si vous utilisez autre chose, je suis déjà un peu ennuyé avec vous. Si c'est assez obscur pour qu'il ne soit pas sur liste de licences GN , donc je dois l'analyser moi-même, je suis triple ennuyé. Habituellement, il est plus facile de trouver d'autres logiciels avec une meilleure licence.
Notez que quiconque va utiliser votre logiciel pour le "mal" ne se souciera probablement pas beaucoup des restrictions d'utilisation de votre licence.