Tenemos la siguiente licencia BSD en el LICENSE
archivo:
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.
Gestionamos el repositorio de origen por git ( https://github.com/sympy/sympy ) y, por lo tanto, cada autor posee los parches que creó. Luego tenemos un AUTHORS
archivo donde enumeramos todas las personas que contribuyeron con parches (actualmente alrededor de ~ 450 más o menos). Por lo general, los autores bifurcan el repositorio en github y agregan parches a medida que git confirma.
Un autor bifurcó el repositorio, pero agregó su nombre en el LICENSE
archivo como un aviso de copyright de la siguiente manera (cambié el nombre):
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.
El autor desarrolló un parche que corrige un error. La solución consiste en tocar solo un archivo y eliminar 19 caracteres de una línea, y agregar 18 caracteres en otra línea en el mismo archivo. También agrega una prueba de 5 líneas para este error en un archivo de prueba. Eso es.
¿En qué condiciones se nos permite legalmente aplicar su parche (seleccionando sus confirmaciones, por ejemplo, preservando la fecha y el nombre del autor + correo electrónico en los metadatos git)?
a) ¿Necesitamos modificar nuestro LICENSE
archivo para agregar su aviso de copyright?
b) ¿O seguimos cumpliendo con la licencia BSD si mantenemos un AUTHORS
archivo actualizado y mantenemos el repositorio git que rastrea específicamente qué compromisos contribuyeron los autores?
Lo que no me gusta de la opción a) es que si los 450 contribuyentes lo requirieran, entonces deberíamos mantener esencialmente el contenido del AUTHORS
archivo en el LICENSE
archivo, junto con la Copyright
palabra y los años. Git es mucho mejor para mantener los años (e incluso días y minutos), así como qué líneas fueron modificadas por cada autor y cómo. Luego tenemos un LICENSE
archivo simple que no cambia y guardamos la lista de autores AUTHORS
(y tenemos un script que lo mantiene sincronizado con la lista de autores de git).
fuente
Respuestas:
Puede incorporar cualquier código que tenga una licencia compatible.
Dicho esto, a menos que el nuevo código tenga una licencia específica bajo una licencia compatible si desea incorporar los cambios a su base de código, se está abriendo a la posibilidad de algunas dificultades.
En particular, a menos que el código establezca específicamente que las nuevas contribuciones están bajo una licencia compatible, se le aplicará la licencia predeterminada "todos los derechos reservados". Tirar del código sería una infracción de derechos de autor.
También existe la posibilidad de que el nuevo código tenga licencia bajo una licencia que sea compatible con usted (y necesitaría mantener esa licencia para el código), pero incompatible con muchos de sus usuarios. Por ejemplo, si está utilizando la cláusula BSD 2, y alguien licencia las contribuciones de una bifurcación bajo la cláusula BSD 3, probablemente podría incluir eso en su código sin demasiada dificultad. Sin embargo, como la cláusula BSD 3 no es compatible con la GPL, eso haría que su proyecto GPL sea incompatible.
Si decide cambiar de BSD a GPL más adelante (por ejemplo), y las solicitudes de extracción asignan los derechos necesarios para cambiar la licencia como parte del acuerdo de licencia de contribuyente, está sacando el código de otros proyectos que no han acordado El CLA podría causarle dolores de cabeza.
Ese es el caso general ...
Para el caso específico donde cambió el archivo de licencia ... No lo sé. De la simple lectura del archivo de licencia:
Ese bit parece indicar que si desea obtener esos cambios, también deberá cambiar su archivo de licencia.
Desafortunadamente, no tiene un CLA bien definido en este momento. Afortunadamente, en este momento solo tienes 450 personas para preguntar.
fuente
NOTICES
archivo, donde almacenaríamos todas las licencias de terceros.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; ...
Si hay un código fuente con licencia BSD y alguien lo bifurca agregando parches adicionales, entonces este nuevo código fuente en el nuevo repositorio debe incluir el archivo de licencia BSD exacto del repositorio original y los nuevos parches deben tener licencia bajo una nueva licencia (o incluso la misma licencia) Por lo tanto, la bifurcación debe tener una o dos licencias en el repositorio. No es aceptable editar la licencia original, ya que eso viola los términos de la licencia BSD.
Ahora, si el repositorio original quiere seleccionar los parches de la bifurcación, se debe agregar una copia de la nueva licencia de la bifurcación al repositorio original. Finalmente, ambos repositorios tendrán cada licencia, una que cubrirá cada conjunto de parches.
SymPy también debería exigir que los contribuyentes renuncien a sus derechos de autor del proyecto SymPy. Es potencialmente muy problemático permitir que los contribuyentes retengan sus derechos de autor a parches individuales al enviarlos. Se necesita un acuerdo de contribuyentes que explique esto para aclarar lo que está sucediendo.
fuente