Temos a seguinte licença BSD no LICENSEarquivo:
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.
Gerenciamos o repositório de origem por git ( https://github.com/sympy/sympy ) e, portanto, cada autor possui os patches que ele criou. Em seguida, temos um AUTHORSarquivo no qual listamos todas as pessoas que contribuíram com patches (atualmente cerca de ~ 450). Normalmente, os autores bifurcam o repositório no github e adicionam patches conforme o git confirma.
Um autor bifurcou o repositório, mas adicionou seu nome ao LICENSEarquivo como um aviso de direitos autorais da seguinte maneira (eu mudei o nome):
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.
O autor desenvolveu um patch, que corrige um bug. A correção consiste em tocar apenas em um arquivo e remover 19 caracteres de uma linha e adicionar 18 caracteres em outra linha no mesmo arquivo. Ele também adiciona um teste de 5 linhas para esse bug em um arquivo de teste. É isso aí.
Em que condições é permitido legalmente aplicar seu patch (escolhendo seus commits, por exemplo, preservando a data e o nome do autor + email nos metadados do git)?
a) Precisamos modificar nosso LICENSEarquivo para adicionar seu aviso de direitos autorais?
b) Ou ainda estamos cumprindo a licença BSD se mantivermos um AUTHORSarquivo atualizado e mantivermos o repositório git que rastreia especificamente quais commits foram contribuídos por quais autores.
O que não gosto na opção a) é que, se todos os 450 colaboradores exigissem isso, precisaríamos manter essencialmente o conteúdo do AUTHORSarquivo no LICENSEarquivo, juntamente com a Copyrightpalavra e os anos. O Git é muito melhor em manter os anos (e até dias e minutos), bem como quais linhas foram modificadas por cada autor e como. Depois, temos um LICENSEarquivo simples que não muda e mantemos a lista de autores AUTHORS(e temos um script que o mantém sincronizado com a lista de autores do git).