W LICENSE
pliku mamy następującą licencję BSD :
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.
Repozytorium źródłowe zarządzamy przez git ( https://github.com/sympy/sympy ), a zatem każdy autor jest właścicielem poprawek, które sam stworzył. Następnie mamy AUTHORS
plik, w którym podajemy listę wszystkich osób, które przesłały łatki (obecnie około ~ 450). Zazwyczaj autorzy rozwidlają repozytorium na github i dodają łaty, gdy git zatwierdza.
Jeden autor rozwidlił repozytorium, ale dodał swoją nazwę do samego LICENSE
pliku jako informację o prawach autorskich w następujący sposób (zmieniłem nazwę):
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.
Autor opracował łatkę, która naprawia błąd. Poprawka polega na dotknięciu tylko jednego pliku i usunięciu 19 znaków z jednego wiersza oraz dodaniu 18 znaków w innym wierszu w tym samym pliku. Dodaje również 5-liniowy test dla tego błędu do pliku testowego. Otóż to.
Na jakich warunkach jesteśmy uprawnieni do zastosowania jego łatki (przez wybranie jego zatwierdzeń, np. Zachowanie daty i nazwiska autora + e-maila w metadanych git)?
a) Czy musimy zmodyfikować nasz LICENSE
plik, aby dodać jego informację o prawach autorskich?
b) Czy nadal przestrzegamy licencji BSD, jeśli przechowujemy aktualny AUTHORS
plik i przechowujemy repozytorium git, które konkretnie śledzi, które zatwierdzenia zostały wniesione przez autorów.
W opcji a) nie podoba mi się to, że jeśli wymagałoby tego około 450 autorów, to musielibyśmy zachować zawartość AUTHORS
pliku w LICENSE
pliku, wraz ze Copyright
słowem i latami. Git jest znacznie lepszy w zachowaniu lat (a nawet dni i minut), a także linii, które zostały zmodyfikowane przez każdego autora i jak. Następnie mamy prosty LICENSE
plik, który się nie zmienia i przechowujemy listę autorów AUTHORS
(i mamy skrypt, który synchronizuje go z listą autorów z git).