Dois-je m'inclure en tant qu'auteur après avoir modifié le code tiers?

17

Il est courant de faire quelques ajustements ou correctifs dans du code tiers (que ce soit un simple résumé ou une bibliothèque entière). Mais il est également courant que beaucoup de ces codes aient leurs propres règles de licence et éventuellement un en-tête sur chaque fichier avec des informations de copyright.

Après avoir fait ces modifications, quelle est la bonne chose à faire ensuite? Gardez les informations de licence intouchables ou essayez de les mettre à jour, y compris vous-même avec quelque chose comme @authorou des @revisionbalises?

Un autre problème courant consiste à modifier l'espace de noms / package tiers pour l'adapter aux conventions de votre projet. Certains types de licences incluent ce type d'informations dans leur bloc de licence, puis-je les modifier librement?

Je sais que la réponse à ces questions dépend de chaque type de licence, alors pour rendre ma question plus précise ...

Compte tenu des règles générales de licence (généralement elles sont différentes sur des aspects mineurs, n'est-ce pas?), Il est éthique (ou du moins autorisé) que j'ajoute librement des informations au bloc de licence sur mes modifications et peut-être aussi de modifier la façon de m'en référer à mon code (par exemple utiliser YACorp.YALibcomme Utils.YALib)?

kbtz
la source
2
Dépend de la licence et des pratiques établies du projet. Certains projets attribuent à tous les auteurs le texte de la licence; d'autres mettent les auteurs sur Github et se réfèrent au projet par leur nom dans la licence. Certaines licences nécessitent une attribution, d'autres non.
Robert Harvey
@RobertHarvey Vous avez raison, mais j'essaie de définir quelques directives générales pour ces situations. J'ai mis à jour la question.
kbtz
Votre montage sonne comme une fourchette. Si vous bifurquez le projet, vous pouvez faire ce que vous voulez (vous possédez la fourche). Mais je ne ferais pas de singe avec les noms de bibliothèque à moins que vous ne possédiez le projet.
Robert Harvey
1
Cette question semble être hors sujet car elle concerne l'affirmation et la cession du droit d'auteur. Les questions de droit d'auteur sont des questions juridiques en dehors de l'expertise de la communauté et peu adaptées au site. Il est difficile de répondre correctement à cette question car il y a trop de facteurs impliqués tels que la juridiction locale ainsi que la licence et la propriété du droit d'auteur du programme original.

Réponses:

9

Après avoir fait ces modifications, quelle est la bonne chose à faire ensuite? Gardez les informations de licence intouchables ou essayez de les mettre à jour, y compris vous-même avec quelque chose comme des balises @author ou @revision?

Je pense que vous confondez la licence du logiciel et tout prologue qui pourrait faire partie du logiciel.

La licence est l'endroit où les propriétaires des droits d'auteur du programme spécifient les conditions d'utilisation (la licence) pour d'autres personnes. Certaines licences sont très permissives, d'autres sont beaucoup plus restrictives.

Le prologue est l'endroit où les auteurs insèrent @authoret @revisionbalises pour fournir un moyen de suivre les modifications apportées au code source. Dans certains cas, devenir l'auteur d'un ajout non trivial au code peut vous valoir le droit d'auteur sur cette section du code. Le démêlage des problèmes de droits d'auteur peut être épineux et est mieux géré par les avocats. Cependant, vous avez spécifiquement déclaré que vous ne vous préoccupiez pas de cet aspect, je vais donc poursuivre.

Un autre problème courant consiste à modifier l'espace de noms / package tiers pour l'adapter aux conventions de votre projet. Certains types de licences incluent ce type d'informations dans leur bloc de licence, puis-je les modifier librement?

Cela dépend vraiment des conventions du projet.

Si vous bifurquez le projet, vous pouvez faire ce que vous voulez.

Si vous prévoyez d'apporter vos modifications au projet, vous devez vous en tenir à la convention établie. S'il existe une raison impérieuse de modifier l'espace de noms, vous devez le présenter à la communauté de l'application.

Compte tenu des règles générales de licence (elles sont généralement différentes sur des aspects mineurs, non?),

est-il éthique (ou du moins autorisé) que j'ajoute librement des informations sur le bloc de licence sur mes modifications et peut-être aussi de modifier comment y faire référence dans mon code (par exemple, utiliser YACorp.YALib comme Utils.YALib)?

Ne changez pas la licence!

Tout d'abord, vous n'avez probablement pas les droits légaux pour modifier la licence. Deuxièmement, toutes les modifications que vous apportez vont probablement gâcher la licence. Laissez les modifications de licence aux avocats.

En ce qui concerne la mise à jour du prologue, cela dépend des normes du projet. Certains projets ne veulent pas de prologue car ils utilisent le contrôle de code source pour le suivre. D'autres projets le font. Suivez les conventions du projet.

En fait, mes préoccupations sont plus sur le «respect de la communauté» que sur les aspects juridiques, je demande plus sur combien nous pouvons «aller sauvage» restant éthique si notre projet peut être considéré comme privé ou personnel.

Si vous gardez vos changements pour vous, pourquoi vous souciez-vous de ce que les autres pensent? Quelque chose que vous n'utilisez que pour vous-même et que vous ne distribuez jamais à d'autres n'a aucun impact sur le projet d'origine. Donc, ils se moquent de ce que vous faites.

Si vous prévoyez de distribuer vos modifications ou de les réinjecter dans le projet, vous devez évaluer les conventions de ce projet. Certains projets ne veulent pas être bifurqués et auront une licence en place empêchant cela. D'autres vont jusqu'à dire "faites ce que vous voulez" et vous avez carte blanche pour faire comme bon vous semble. En fin de compte, la réponse ici dépend du projet particulier que vous regardez.


la source
Comme je m'y attendais, les réponses sont presque évidentes, mais ce fut un soulagement de voir tout le monde s'exprimer. Merci à toutes les réponses!
kbtz
Existe-t-il des projets qui acceptent des contributions mais ne permettent pas de bifurquer? Ou voulez-vous dire des choses comme les bibliothèques commerciales qui viennent également avec leur code source?
svick
@svick - Les deux seraient applicables dans ce cas. Il existe des projets presque open source qui (tentent) d'empêcher le fork. Pensez aux projets où ils essaient de se réserver la possibilité de devenir commercial à un moment donné dans le futur. Les bibliothèques commerciales existantes empêcheraient le fork par les termes de la licence.
@ GlenH7 Je pensais que de tels projets (par exemple MySQL) nécessitent généralement que le copyright des contributions qui vont à la version officielle soit attribué à l'organisation gouvernante. Ensuite, la version open source est publiée sous une licence open source commune (comme la GPL), mais ils peuvent également avoir une version commerciale open source. Mais cela n'empêche pas les fourches de la version open-source (voir MariaDB).
svick
5

J'ajouterais un commentaire, en partie pour signaler à un lecteur que le fichier n'est pas "vanille", avec des liens vers toute documentation pertinente ou un système de suivi des problèmes.

Edit: Donc, cette situation me rappelle quand une distribution Linux packages par exemple une bibliothèque. Debian a des directives et des normes sur la façon dont les paquets doivent être construits et nommés, ce qui pourrait bien différer de la façon dont la bibliothèque est généralement distribuée pré-construite.

Je ne pense pas que vous devriez hésiter à nommer / construire / modifier une bibliothèque, car je suppose que vous ne distribuerez pas le résultat au reste du monde? Dans ce cas, j'inclurais un fichier README avec la source qui décrit les modifications que vous avez apportées et pourquoi. Par exemple, README. $ {CompanyName} .changes

Rory Hunter
la source
Je ferais quelque chose comme ça aussi, mais ma question concerne davantage ce qui est considéré comme juste du point de vue de la troisième partie et / ou des règles générales d'octroi de licences.
kbtz
2

Vous devrez consulter la règle de licence du code.

En général, de nombreuses applications frontales open source (par exemple Firefox, OpenOffice) considèrent leur nom et logo d'application comme une marque; Donc, si vous deviez publier une version modifiée de l'application, vous ne pourrez pas utiliser les marques / habillages commerciaux d'origine (donc IceWeasel, Torbrowser, LibreOffice).

Cependant, la plupart des bibliothèques de programmation sont souvent moins concernées par les marques tant qu'il est assez clair qui fait quoi (généralement cela peut être trouvé dans les métadonnées de contrôle de version).

Les informations sur l'auteur ont deux objectifs:

  1. Donner du crédit là où il est dû
  2. Donner le blâme là où il le mérite

Ces derniers deviennent plus importants à mesure que vos modifications deviennent plus importantes. Les informations réelles sur la paternité peuvent généralement être trouvées dans le contrôle de version, mais certains projets créditent officiellement un ensemble d'auteurs dans un fichier séparé. Le point de coupure où les gens seraient officiellement crédités varie pour chaque projet, contactez les auteurs originaux en cas de doute.

Lie Ryan
la source