licensing - software - ¿Poniendo licencia en cada archivo de código?
software libre online (10)
¡Una sola fuera del código, por favor! No sé sobre los demás, pero odio ver lo mismo encima de cada archivo. Creo que lo he leído un par de veces, solo al pasar la página.
Me resulta innecesariamente duplicado tenerlo en cada archivo de código, pero lo veo en la mayoría de los proyectos de código abierto. ¿Debo hacer lo mismo, o simplemente incluir una sola licencia fuera del código?
Creo que el razonamiento detrás de ponerlo en cada archivo es legal. Si el acuerdo está en cada archivo, no hay posibilidad de que alguien tropiece con un código sin estar expuesto a la licencia.
Puede que no sea una buena, pero todos los grandes lo usan así que si solo es dolor visual, buscaría una mejor razón para no hacer lo mismo.
Si usa GPL, esto es más un problema, pero si usa licencias de dominio público como BSD o MIT, no creo que realmente le importe lo que las personas hagan con el código. Supongo que depende de cuán estricta sea tu licencia.
Depende de lo que dicte la licencia. La GPL, por ejemplo, le indica que ponga un aviso breve en cada archivo fuente, incluya la licencia completa en algún lugar de su distribución de origen y ponga su distribución de origen a disposición de cualquiera que obtenga una copia de la distribución binaria.
Si no está de acuerdo con esto, y es SU código, puede elegir una licencia más aceptable o crear la suya propia.
EULA es el término equivocado aquí, ya que las personas que buscan el código fuente generalmente no son usuarios finales.
Legalmente, tampoco importa; el copyright no necesita ser declarado explícitamente.
Básicamente, todo lo que logra es un menor riesgo de que las personas violen accidentalmente los términos de la licencia. Tendrás que decidir qué tan importante es para ti.
Yo diría que el mejor compromiso es colocar un encabezado muy corto que contenga un enlace (tanto absoluto como relativo dentro del proyecto) con el texto completo de la licencia en cada archivo de código fuente. De esta forma, cualquiera que se preocupe por la licencia sabe dónde encontrarla (idealmente, las personas que están dispuestas a pagar tarifas de licencia masivas; ¡ciertamente desea que esas personas puedan contactarlo!)
IANAL,
Suponiendo que está hablando de licencias, no de un EULA, puede colocar la licencia en el exterior. Esto casi siempre se hace con licencias realmente largas como la GPL. Sería una tontería poner toda la licencia GPL en cada archivo. Por lo general, tendrías algún tipo de aviso que diga dónde puedes encontrar la licencia real. Esto es perfectamente legal. Sin embargo, con licencias realmente cortas como BSD / Apache / MIT / lo que sea, es más sencillo incluir la licencia en cada archivo, ya que el aviso que dice dónde encontrar la licencia sería casi tan largo como la licencia misma.
Lo que hago es poner un comentario de dos líneas en la parte superior del archivo, indicando el nombre de mi empresa, la última fecha de revisión y el nombre de la licencia que tiene el archivo fuente, luego en la parte inferior del archivo una versión corta del licencia.
Por supuesto, la licencia completa (todas ellas en caso de licencias múltiples) siempre se incluye en el archivo de origen y en los directorios de publicación.
No lo necesita para la licencia, un solo archivo externo funcionará siempre y cuando esté claro qué archivos cubre.
Sin embargo, para los derechos de autor debe tener el aviso de copyright en cada texto.
No, no tiene que poner la licencia en cada archivo de código fuente.
Si miras más de cerca, la mayoría de las aplicaciones FOSS tampoco lo hacen. Pusieron una declaración de derechos de autor en la parte superior de cada archivo y una frase corta que le dice en qué licencia está el archivo y dónde puede encontrar el texto completo de la licencia. Generalmente lo señalan al archivo COPYING o LICENSE que contiene el texto completo de la licencia y / o a un sitio web que contiene el texto completo (en caso de que el archivo COPYING ya no esté allí).
Al igual que Michael Borgwardt dijo en sus respuestas, legalmente no tienes que hacer esto. Pero es aconsejable que el código fuente se distribuya, ya que las personas pueden ver quién tiene los derechos de autor y cuál es la licencia.
Puede depender de la licencia. La GPL distingue entre preamble
y license
. Establece claramente que el preámbulo (molesto) debe ser parte del código :
¿Puedo omitir el preámbulo de la GPL o las instrucciones sobre cómo usarlo en sus propios programas para ahorrar espacio?
El preámbulo y las instrucciones son partes integrales de la GNU GPL y no pueden omitirse. De hecho, la GPL está protegida por derechos de autor, y su licencia solo permite la copia literal de toda la GPL. (Puede usar los términos legales para hacer otra licencia, pero no será la GNU GPL). (1)
Fuente: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Ver también http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
Un ebook gratuito de ifrOSS explica y comenta la GPL 2 en alemán. Hay otro para GPL 3
Para una respuesta bien fundada, debe solicitar un asesoramiento legal que no está disponible en sx. Si no puede encontrar un abogado para su proyecto (de código abierto), eche un vistazo a la red legal de FSFE .
Si su código va a ser compilado, entonces solo está distribuyendo un binario, entonces realmente no importa. Porque cuando crea un binario, los comentarios se eliminan antes de que tenga lugar el proceso de compilación. Solo importa si va a distribuir el código fuente actual ya sea de código abierto o de código cerrado. Esto es típico si va a distribuir una aplicación en un lenguaje de scripting que no compila.