Avisos de copyright / descargos de responsabilidad en archivos fuente

60

Es una práctica común colocar avisos de derechos de autor, varias renuncias legales y, a veces, incluso acuerdos de licencia completos en cada archivo fuente de un proyecto de código abierto. ¿Es esto realmente necesario para un (1) proyecto de código abierto y (2) proyecto de código cerrado? ¿Qué estás tratando de lograr o prevenir al poner estos avisos en los archivos fuente?

Entiendo que es una pregunta legal y dudo que podamos obtener una respuesta completamente competente aquí en los programadores. SO (es para programadores, ¿no es así?) Lo que también sería interesante escuchar, cuando pones cosas legales en tus archivos fuente , ¿es porque "todo el mundo lo hace" o usted recibió asesoramiento legal? ¿Cuál fue el razonamiento?

mojuba
fuente

Respuestas:

41

¿Es esto realmente necesario?

No. No es legalmente requerido. (No soy abogado, pero he visto esto declarado por uno).


Si tiene un proyecto en el que los archivos individuales pueden estar fuera de contexto, puede ser sensato, pero solo requiere un par de líneas para decir algo como:

Este archivo es parte de <proyecto> que se publica bajo <licencia>.
Vea el archivo <nombredearchivo> o vaya a <url> para obtener detalles completos de la licencia.


Para cualquier otra cosa, simplemente puede poner un archivo de texto de LICENCIA en la raíz del proyecto, y cualquier detalle / crédito / etc relevante en el archivo README - todavía tiene derechos de autor (automáticamente), por lo que es solo una cuestión de ser claro en cuanto a licencia archivo Léame

Peter Boughton
fuente
1
+1 por no poner toda la licencia repetitiva. Sólo tiene que utilizar una línea:Copyright YYYY First Last. Subject to the XYZ license.
MK12
1
A muchas compañías les gusta tener una línea de derechos de autor porque quieren hacer "administración de licencias". En otras palabras: compruebe si hay algo de GPL copiado de Internet. Básicamente escanean el código fuente en busca de una línea de copyright, que en realidad es solo la primera línea que contiene "Copyright" / "(c)". Por lo tanto, esa línea debe contener el titular de los derechos de autor (el autor o la empresa) y una pista si es software libre o no. Por lo tanto, @ mk12 tiene razón sobre cómo debería ser un mínimo. Porque la verdad es -> cualquier segunda o tercera línea nunca se conocerá en ningún otro lugar que no sea el código fuente.
Guido U. Draheim
12
Quiero googlear "IANAL" pero tengo un poco de miedo de hacerlo.
Pieter De Bie
1
@PieterDeBie Es la abreviatura de "No soy abogado"
Adam Lindberg
Sería bueno si para <licencia> incluye el número de versión. LGPL 2.1 fue un buen escudo protector para el desarrollador de código abierto. GPL 3.0 es un virus que intenta consumirlo todo.
user922020
22

Posiblemente, podría simplemente poner su aviso de copyright que menciona un archivo de LICENCIA, sin embargo, no hay garantía de que una vez publicado, su código seguirá siendo atómico. De hecho, es bastante probable que partes de él se mezclen en al menos varios otros proyectos.

Es por eso que es importante tener al menos lo siguiente en cada archivo fuente:

/* Copyright (C) 1883 Thomas Edison - All Rights Reserved
 * You may use, distribute and modify this code under the
 * terms of the XYZ license, which unfortunately won't be
 * written for another century.
 *
 * You should have received a copy of the XYZ license with
 * this file. If not, please write to: , or visit :
 */

Logras dos cosas haciendo esto:

  • Sus derechos de autor se afirman sin importar cómo se desintegra y se dispersa su código en el futuro.
  • Los términos de uso, distribución y modificación son bastante claros, incluso si alguien recibe solo una pequeña parte de una biblioteca que usted escribió.

Muchas personas también incluyen su dirección de correo electrónico bajo los derechos de autor, lo que es útil para recibir parches en el futuro. Recibí un parche el mes pasado para el código que escribí hace cinco años y que había olvidado hace mucho tiempo. Por supuesto, eso significa mantener una dirección de correo electrónico y aguantar un poco de SPAM.

Si alguna vez necesita hacer cumplir su licencia, es fundamental que la otra parte no pueda decir que los términos eran ambiguos o faltantes, todo es una broma.

Además, es divertido ver cómo los fragmentos de código se abren paso en otros fragmentos de código a lo largo del tiempo. La mayoría de las personas juegan de manera justa y respetan los derechos de autor y los términos de licencia.

Tim Post
fuente
2
"Los términos de la licencia XYZ, que desafortunadamente no se escribirán para otro siglo". Han pasado 130 años y contando. : P
Joe Z.
A muchas compañías les gusta tener una línea de derechos de autor porque quieren hacer "administración de licencias". En otras palabras: compruebe si hay algo de GPL copiado de Internet. Básicamente escanean el código fuente en busca de una línea de copyright, que en realidad es solo la primera línea que contiene "Copyright" / "(c)". El ejemplo dice que no es software libre porque está "Todos los derechos reservados", lo que implica que debe haber alguna hoja de licencia en un tercer lugar, puede ser un archivo LICENSE.TXT o papel real. Debido a esa implicación, no necesita un texto de licencia repetitivo .
Guido U. Draheim
4

Solo quería tener en cuenta Open Source! = Sin derechos de autor.

Open Source depende de que alguien reclame los derechos de autor y luego adopte un documento legal específico (como la GPL) para otorgar a otros derechos sobre ese código.

Por lo tanto, lo que haya decidido que es adecuado para el código fuente cerrado también lo es para el código fuente abierto.

James
fuente
1
Si bien hay más posibilidades de que se tome un solo archivo en otro lugar de un proyecto de código abierto que uno de código cerrado, entonces tal vez los avisos de derechos de autor en las cabeceras de los archivos tengan más sentido en un proyecto de código abierto ...
James
1
Una licencia no "regala ese derecho de autor". Otorga permisos para usar y / o modificar y / o redistribuir.
Glenn Randers-Pehrson
@ GlennRanders-Pehrson Buen punto, editado.
James
2

Para cualquier proyecto de código abierto.

Está definiendo las condiciones bajo las cuales el código se va a usar y redistribuir (o no, dependiendo de esas condiciones).

Como mínimo, una licencia puede responder preguntas como:

  • Apropiación: ¿Alguien puede tomar el código y convertirlo en un proyecto diferente? Un buen ejemplo de este fenómeno es Google Chrome, que se basa en el proyecto de código abierto Chromium.
    • ¿Necesitan darle crédito, pedir permiso, etc.?
  • Uso comercial: ¿Se puede usar su código comercialmente, como en Photoshop como una DLL de terceros? Si es así, ¿se aplican diferentes condiciones?
  • Redistribución: ¿Tiene que utilizar su código algún software con una licencia similar / idéntica? Las licencias como la GPL que requieren esto se llaman licencias virales (y no sé si es un término negativo, o simplemente una declaración de hecho).

Etc. De ninguna manera es una lista completa, es solo para darle una idea de las preguntas que una licencia establecería claramente.

doppelgreener
fuente
1
Creo que entiendo eso, pero ¿por qué deberían colocarse avisos legales en cada archivo fuente? O si no deberían, ¿por qué la gente lo hace?
mojuba
Suena como una forma segura de garantizar que la licencia no se pierda si se separa del código fuente.
doppelgreener
-1

Otra razón para poner un copyright en su código es que les permite a otros saber quién lo escribió. Me gusta poder ver de dónde vino el código y cuánto tiempo ha estado disponible. Es interesante y útil ver cómo se ha utilizado el código en otros proyectos. Entonces, aunque legalmente no necesite poner sus derechos de autor en algo, agréguelo por razones informativas. --a thornton

Un thornton
fuente
1
Esto no responde la pregunta. La pregunta no era si poner un aviso de copyright, sino si poner el texto completo de la licencia en cada archivo fuente.
Brandin