Nous avons la licence BSD suivante dans le LICENSE
fichier:
Copyright (c) 2006-2016 SymPy Development Team
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
a. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
b. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
c. Neither the name of SymPy nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
Nous gérons le référentiel source par git ( https://github.com/sympy/sympy ), et donc chaque auteur possède les correctifs qu'il a créés. Nous avons ensuite un AUTHORS
fichier où nous listons toutes les personnes qui ont contribué des correctifs (actuellement environ ~ 450 environ). En règle générale, les auteurs bifurquent le référentiel sur github et ajoutent des correctifs lorsque git s'engage.
Un auteur a créé le référentiel, mais a ajouté son nom dans le LICENSE
fichier lui-même en tant qu'avis de droit d'auteur comme suit (j'ai changé le nom):
Copyright (c) 2006-2015 SymPy Development Team,
2015-2016 John Doe
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
a. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
b. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
c. Neither the name of SymPy nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
L'auteur a développé un patch, qui corrige un bug. Le correctif consiste à toucher un seul fichier et à supprimer 19 caractères d'une ligne, et à ajouter 18 caractères sur une autre ligne du même fichier. Il ajoute également un test de 5 lignes pour ce bogue dans un fichier de test. C'est ça.
Dans quelles conditions sommes-nous légalement autorisés à appliquer son patch (en sélectionnant ses commits, par exemple en conservant la date et le nom de l'auteur + e-mail dans les métadonnées git)?
a) Faut-il modifier notre LICENSE
fichier pour ajouter sa notice de copyright?
b) Ou respectons-nous toujours la licence BSD si nous conservons un AUTHORS
fichier à jour et conservons le référentiel git qui suit spécifiquement quels commits ont été apportés par quels auteurs.
Ce que je n'aime pas dans l'option a), c'est que si les quelque 450 contributeurs l'exigeaient, nous devrions conserver essentiellement le contenu du AUTHORS
fichier dans le LICENSE
fichier, ainsi que le Copyright
mot et les années. Git est bien meilleur pour garder les années (et même les jours et les minutes) ainsi que les lignes modifiées par chaque auteur et comment. Ensuite, nous avons un LICENSE
fichier simple qui ne change pas et nous conservons la liste des auteurs AUTHORS
(et nous avons un script qui le maintient synchronisé avec la liste des auteurs de git).
la source
Réponses:
Vous pouvez incorporer tout code doté d'une licence compatible.
Cela dit, à moins que le nouveau code ne soit spécifiquement sous licence sous une licence compatible si vous souhaitez insérer les modifications dans votre base de code, vous vous ouvrez à la possibilité de certaines difficultés.
En particulier, à moins que le code n'indique spécifiquement que les nouvelles contributions sont sous une licence compatible, la licence par défaut "tous droits réservés" lui est applicable. Tirer le code serait une violation du droit d'auteur.
Il est également possible que le nouveau code soit autorisé sous une licence compatible avec vous (et vous devrez conserver cette licence pour le code), mais incompatible avec un grand nombre de vos utilisateurs. Par exemple, si vous utilisez la clause BSD 2 et que quelqu'un concède sous licence la contribution d'un fork sous la clause BSD 3, vous pouvez probablement insérer cela dans votre code sans trop de difficulté. Cependant, comme la clause BSD 3 n'est pas compatible avec la GPL, cela rendrait votre projet GPL incompatible.
Si vous décidez de passer de BSD à GPL ultérieurement (par exemple) et que les demandes d'extraction attribuent les droits nécessaires pour modifier la licence dans le cadre de l'accord de licence du contributeur, vous extrayez le code d'autres projets qui n'ont pas accepté le CLA pourrait vous causer des maux de tête.
C'est le cas général ...
Pour le cas spécifique où le fichier de licence a changé ... je ne sais pas. De la simple lecture du fichier de licence:
Ce bit semble indiquer que si vous souhaitez intégrer ces modifications, vous devrez également modifier votre fichier de licence.
Malheureusement, vous n'avez pas de CLA bien défini pour le moment. Heureusement, pour le moment, vous n'avez que 450 personnes à demander.
la source
NOTICES
fichier, où nous stockons toutes les licences tierces.You grant to "The Company" (Civilized Discourse Construction Kit, Inc.) a non-exclusive, irrevocable, worldwide, royalty-free, sublicenseable, relicenseable, transferable license under all of Your relevant intellectual property rights, to use, copy, prepare derivative works of, distribute and publicly perform and display "The Contributions" on any licensing terms, including without limitation: (a) open source licenses like the GNU General Public (v2.0) license; ...
S'il y a du code source sous licence BSD et que quelqu'un l'ajoute des correctifs supplémentaires, alors ce nouveau code source dans le nouveau référentiel doit inclure le fichier de licence BSD exact du référentiel d'origine et les nouveaux correctifs doivent être sous licence sous une nouvelle licence (ou même la même licence). Ainsi, le fork doit avoir une ou deux licences dans le référentiel. Il n'est pas acceptable de modifier la licence d'origine, car cela viole les termes de la licence BSD.
Maintenant, si le dépôt d'origine veut sélectionner les correctifs de la fourche, une copie de la nouvelle licence de la fourche doit être ajoutée au dépôt d'origine. En fin de compte, les deux référentiels auront chaque licence, une couvrant chaque ensemble de correctifs.
SymPy devrait également exiger que les contributeurs renoncent à leurs droits d'auteur sur le projet SymPy. Il est potentiellement très problématique de laisser les contributeurs conserver leurs droits d'auteur sur les correctifs individuels lors de la soumission. Un accord des contributeurs expliquant cela est nécessaire pour être clair sur ce qui se passe.
la source