Wir haben die folgende BSD-Lizenz in der LICENSE
Datei:
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.
Wir verwalten das Quell-Repository über git ( https://github.com/sympy/sympy ), und daher besitzt jeder Autor die von ihm erstellten Patches. Wir haben dann eine AUTHORS
Datei, in der wir alle Personen auflisten, die Patches beigesteuert haben (derzeit ca. 450). In der Regel teilen Autoren das Repository auf Github und fügen Patches als Git-Commits hinzu.
Ein Autor gabelte das Repository, fügte jedoch seinen Namen LICENSE
wie folgt als Copyright-Hinweis in die Datei selbst ein (ich habe den Namen geändert):
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.
Der Autor hat einen Patch entwickelt, der einen Fehler behebt. Das Update besteht darin, nur eine Datei zu berühren, 19 Zeichen aus einer Zeile zu entfernen und 18 Zeichen in einer anderen Zeile in derselben Datei hinzuzufügen. Außerdem wird einer Testdatei ein 5-Zeilen-Test für diesen Fehler hinzugefügt. Das ist es.
Unter welchen Bedingungen dürfen wir seinen Patch gesetzlich anwenden (indem wir seine Commits auswählen, z. B. das Datum und den Namen des Autors + die E-Mail-Adresse in den Git-Metadaten beibehalten)?
a) Müssen wir unsere LICENSE
Datei ändern , um seinen Copyright-Hinweis hinzuzufügen?
b) Oder halten wir uns immer noch an die BSD-Lizenz, wenn wir eine aktuelle AUTHORS
Datei führen und das Git-Repository behalten, das speziell verfolgt, welche Commits von welchen Autoren beigesteuert wurden.
Was mir an der Option a) nicht gefällt, ist, dass wir, wenn alle etwa 450 Mitwirkenden dies benötigen, im Wesentlichen den Inhalt AUTHORS
der LICENSE
Datei zusammen mit dem Copyright
Wort und den Jahren in der Datei behalten müssten . Git ist viel besser darin, die Jahre (und sogar Tage und Minuten) sowie die Zeilen, die von jedem Autor wie geändert wurden, beizubehalten. Dann haben wir eine einfache LICENSE
Datei, die sich nicht ändert, und wir behalten die Liste der Autoren bei AUTHORS
(und wir haben ein Skript, das sie mit der Liste der Autoren von git synchronisiert).
quelle
Antworten:
Sie können jeden Code einbinden, für den eine kompatible Lizenz vorhanden ist.
Das heißt, wenn der neue Code nicht speziell unter einer kompatiblen Lizenz lizenziert ist, wenn Sie die Änderungen in Ihre Codebasis übernehmen möchten, öffnen Sie sich der Möglichkeit einiger Schwierigkeiten.
Insbesondere gilt die Standardlizenz "Alle Rechte vorbehalten" , sofern im Code nicht ausdrücklich angegeben ist, dass die neuen Beiträge unter einer kompatiblen Lizenz stehen. Das Abrufen des Codes wäre eine Urheberrechtsverletzung.
Es besteht auch die Möglichkeit, dass der neue Code unter einer Lizenz lizenziert wird, die mit Ihnen kompatibel ist (und Sie müssten diese Lizenz für den Code beibehalten), aber mit vielen Ihrer Benutzer nicht kompatibel ist. Wenn Sie beispielsweise die BSD 2-Klausel verwenden und jemand die Beiträge einer Abzweigung unter der BSD 3-Klausel lizenziert, können Sie dies wahrscheinlich ohne allzu große Schwierigkeiten in Ihren Code übernehmen. Da die BSD 3-Klausel jedoch nicht mit der GPL kompatibel ist, würde dies die GPL Ihres Projekts inkompatibel machen.
Wenn Sie zu einem späteren Zeitpunkt (z. B.) über einen Wechsel von BSD zu GPL entscheiden sollten und die Pull-Anforderungen die erforderlichen Rechte zum Ändern der Lizenz als Teil der Lizenzvereinbarung für Mitwirkende zuweisen, ziehen Sie Code aus anderen Projekten, denen Sie nicht zugestimmt haben Die CLA kann Kopfschmerzen verursachen.
Das ist der allgemeine Fall ...
Für den speziellen Fall, in dem sich die Lizenzdatei geändert hat ... Ich weiß es nicht. Aus dem einfachen Lesen der Lizenzdatei:
Dieses Bit scheint darauf hinzudeuten, dass Sie auch Ihre Lizenzdatei ändern müssen , wenn Sie diese Änderungen übernehmen möchten .
Leider haben Sie derzeit keine genau definierte CLA. Glücklicherweise haben Sie zu diesem Zeitpunkt nur 450 Personen zu fragen.
quelle
NOTICES
Datei anzuhängen , in der wir alle Lizenzen von Drittanbietern speichern würden.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; ...
Wenn es einen BSD-lizenzierten Quellcode gibt und jemand zusätzliche Patches hinzufügt, sollte dieser neue Quellcode im neuen Repo die genaue BSD-Lizenzdatei aus dem ursprünglichen Repo enthalten und die neuen Patches sollten unter einer neuen Lizenz (oder sogar der Lizenz) lizenziert werden die gleiche Lizenz). Daher sollte der Fork eine oder zwei Lizenzen im Repository haben. Es ist nicht akzeptabel, die ursprüngliche Lizenz zu bearbeiten, da dies gegen die BSD-Lizenzbedingungen verstößt.
Wenn das ursprüngliche Repo Patches von der Gabel abholen möchte, muss dem ursprünglichen Repo eine Kopie der neuen Lizenz der Gabel hinzugefügt werden. Letztendlich haben beide Repositorys jede Lizenz, eine für jeden Patch-Satz.
SymPy sollte auch verlangen, dass Mitwirkende ihr Urheberrecht an dem SymPy-Projekt aufgeben. Es ist möglicherweise sehr problematisch, dass Mitwirkende bei der Einreichung ihr Urheberrecht an einzelnen Patches behalten. Eine Vereinbarung über die Mitwirkenden, in der dies dargelegt wird, ist erforderlich, um klar zu machen, was passiert.
quelle