He estado buscando varias licencias que puedo usar para un proyecto de código abierto mío, pero todos los proyectos que he visto, con todo tipo de licencias, parecen tener un tamaño gigante y desagradable (en mi opinión) aviso en cada archivo fuente que indica que el archivo está listado bajo una licencia determinada. No creo que haya encontrado un proyecto de fuente única que no sea de dominio público y que no tenga un aviso como ese.
Esto parece una pérdida de tiempo y espacio de archivos. Mi plan es poner @license
y @author
etiquetas en mis proyectos, pero no veo por qué tengo que enumerar un aviso tan gigante en cada archivo individual si no quiero hacer mi código de dominio público.
¿Hay alguna razón por la que quisiera incluir tal aviso en mis proyectos, o simplemente incluir un aviso en README
y una @license
etiqueta sería lo suficientemente bueno? ¿Afecta esto a la regla "claramente establecida" de la mayoría de las licencias, o es simplemente una exageración para que la gente no discuta?
Respuestas:
Según tengo entendido, la GPLv3 sugiere fuertemente (o tal vez requiera, al menos eso, cómo entiendo el texto Cómo aplicar estos términos a sus nuevos programas , después de su sección 17) un aviso de copyright en cada archivo fuente. Dice
Y los proyectos GNU que son propiedad de FSF, como GCC, tienen ese aviso en cada archivo.
También conozco un programa (el sistema CAIA de J.Pitrat) que se ha rechazado en un sitio web de la comunidad de software libre porque no tenía ese aviso en cada archivo.
No soy abogado , pero creo que dicha notificación es prácticamente obligatoria en cada archivo fuente de un programa GPLv3 .
(si usa otra licencia, especialmente una que no sea FSF, lea cuidadosamente sobre cómo aplicarla; YMMV; sin embargo, AFAIK escribir un aviso en cada archivo no perjudicará).
fuente
He visto muchos proyectos que solo mencionan la licencia en el archivo README o en un archivo de LICENCIA o COPIA.
Su software está automáticamente cubierto por derechos de autor, según lo acordado en el derecho internacional. (A menos que trabaje para el gobierno de los EE. UU. O alguna otra organización para la que no se apliquen los derechos de autor).
Si alguien usa su software, debe asegurarse de seguir el acuerdo de licencia o de las restricciones de uso justo sobre lo que puede hacer.
Suponga que esa persona quiere usar uno de los archivos en la distribución de su código, que por supuesto requiere una copia y, por lo tanto, se aplica la ley de derechos de autor. Por defecto, NO tienen el derecho de usar su software bajo la ley de derechos de autor. Solo cuando conocen y siguen las restricciones de la licencia se les permite usarlo.
Entonces, si usan un archivo sin licencia de software, están violando la ley de derechos de autor. Dado que todas las licencias dicen algo como "El aviso de copyright anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software", están obligados a colocar esa licencia en algún lugar.
Eso puede estar en el archivo mismo, o cuando he usado código como biblioteca pongo las porciones relevantes en su propio directorio y agregué un "LÉAME" o "LICENCIA" en ese subdirectorio.
En resumen, no necesita poner la licencia en cada archivo. Creo que es exagerado. No hay protección legal adicional al hacerlo. Ayuda un poco a un usuario intermedio, pero no mucho.
Creo que la tradición de muchos metadatos basados en comentarios (licencia, fecha de creación de cada función, registro de cambios, etc.) son tradiciones muy antiguas que existen porque son fáciles de hacer y son más un talismán que útiles.
Por ejemplo, la plantilla predeterminada de Eclipse agrega lo que considero metadatos inútiles antes de cada función, que creo que es mucho mejor capturado por el control de versiones. Pero esa práctica es común en muchas tiendas.
fuente
El problema es que es muy fácil desagrupar un único archivo de código fuente de su proyecto más grande, como alguien que simplemente revisa, envía un correo electrónico, descarga un archivo, sin el resto que contiene todos los derechos de autor. Y luego ese archivo puede pasar ad infinitum en el tiempo, a enésimas partes que pueden no tener idea de los orígenes de los archivos.
El aviso de derechos de autor en la parte superior recuerda a cualquiera que se encuentre con ese archivo solitario que, de hecho, está protegido por derechos de autor, no es de dominio público, y por lo tanto alguna licencia puede o no estar involucrada en su distribución o uso. Versus dejar que el buscador haga sus propias suposiciones aleatorias.
fuente
No hay una reunión secreta de superpotencias en un búnker subterráneo que diga qué debes poner en cada archivo fuente.
Le deja claro al usuario que este archivo está bajo cualquier licencia y, de hecho, la mayoría del software GPL contiene un breve preámbulo que dice que lea license.txt. Recuerde que los proyectos se dividen y los archivos se reutilizan, por lo que solo poner el mensaje en un solo archivo podría no ser una buena idea.
Si en el improbable caso de que fuera a la corte, podría tener más reclamos si hubiera marcado claramente cada archivo como su trabajo y bajo qué licencia estaba, entonces nadie podría reclamar que pensaban que este archivo en particular no estaba cubierto
fuente
Casi publiqué una pregunta notablemente similar. Menos sobre molestias y más sobre tecnicismos. TL; DR: Creo que la respuesta es una cuestión de prioridades del autor. Tal vez la intención sería más precisa que las prioridades ...
Creo que está bien hacer referencia a una licencia en su fuente, dependiendo de su definición de "está bien". Acordemos que el término "no acompañado" indica un archivo fuente que es parte de un proyecto que ha sido despiadadamente separado de su base de código amorosa. Dicho archivo contiene una línea como esta:
O una línea mucho más fresca como esta:
"¡Pero espera!" , exclamas, "¡acabas de decir que el archivo fue separado de su proyecto! ¡Y goodlics.com redirige a un okupador de dominio! ¡Deja de ser trixy!" Tienes razón, dije eso, pero eso podría estar bien, y deja de gritarme. Aquí está mi razonamiento de no abogado:
nyancat-bcminer-algo.qbasic
archivo que escribiste y publicaste en LiveJournal es, lo creas o no, no es de dominio público. No, a menos que digas que es de dominio público. Por defecto es tuyo y solo tuyo. Es ... preciosa . (Al menos por más de 25-50 años, a menos que seas Disney).Este razonamiento hace dos supuestos épicos y probablemente inválidos:
Gracias por viajar en las vías aéreas de cerebro de mono.
Descargo de responsabilidad: esto me parece lógico porque estoy 90% seguro de que estoy 100% equivocado.
fuente
Hay una diferencia entre licencia y preámbulo .
En algunos de mis proyectos estoy usando la Licencia Pública General de GNU, Versión 3.0 . La GNU GPL hace necesario tener un preámbulo en cada archivo de código fuente:
Fuente: http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Entonces, esto es lo que hago:
1. Agregar License.txt
Para seguir las reglas, puse un LICENCE.txt en la raíz del repositorio de mi proyecto. GitHub también sugiere esto (consulte " Dónde vive la licencia" ).
2. Agregar preámbulo usando plegado automático
A continuación, incluyo el preámbulo de GPL en la parte superior de cada archivo de código fuente PERO para que no moleste, lo oculto en el IDE. La mayoría de los IDE tienen una función para plegar automáticamente los bloques de código. NetBeans tiene soporte para Custom Code Folding y WebStorm también admite comentarios plegables .
Así es como se ve:
Creo que este es un muy buen compromiso entre comodidad y seguridad legal.
Si tiene muchos proyectos en los que necesita agregar una licencia, entonces http://www.addalicense.com/ podría ser de ayuda.
Tenga en cuenta: Mi consejo se refiere a GPLv3. Otros tipos de licencia pueden no requerir un preámbulo.
fuente
LICENSE
archivo, es decir, no puede alterar el texto de la GPL soltándolo.Hay otra forma práctica que aún no se menciona aquí.
SPDX-License-Identifier
etiqueta. https://spdx.org/using-spdxAl usarlo, su "plantilla legal" en cada encabezado de archivo fuente se reduce a solo dos líneas:
Además, las personas que automatizan los análisis de la cadena de suministro de software estarán agradecidos por su apego a un estándar común de descripción de licencia legible por máquina.
fuente