¿Existe una licencia de código abierto para esto?

8

He escrito un código en casa, en mi propio tiempo y usando mi propio conocimiento y equipo, sin contrato ni NDA. Quiero que este código sea de código abierto para que pueda usarlo en el software que escribo para un empleador, sin negarme el derecho de usarlo en casa o en otro lugar más tarde.

No estoy seguro si decir que está en el "dominio público" encajaría con este propósito, o si necesito encontrar una licencia de código abierto. Quiero que cualquiera pueda usar el código en software propietario de código cerrado con cero requisitos para incluir una licencia con el código fuente o binario. Y quiero minimizar el riesgo de que alguien sea demandado por usarlo. (Soy consciente de que uno nunca puede estar 100% seguro de ser demandado).

¿Existe una licencia de código abierto que se ajuste a este propósito? ¿Hasta qué punto es posible lo que quiero hacer?

No me importaría poner la licencia en los comentarios en los archivos de código, pero eso obviamente no va con el binario.

Philip
fuente
¿Está 100% vinculado a la idea de no tener que incluir un archivo de licencia? Porque si no es así, la licencia MIT parece ideal opensource.org/licenses/mit-license.php
Amy Anuszewski
Esa parecía ser la mejor opción, pero realmente me gustaría dejar que mi empleador distribuya binarios usando este código sin distribuir una licencia especial para este código.
Philip

Respuestas:

7

Yo no soy un abogado. Licencia MIT. BSD. Licencia ZLib .

Pero aquí está la cosa, como autor eres el propietario de los derechos de autor y eso te da varias opciones. Las licencias son para otras personas que no son usted, como propietario puede licenciar este código de muchas maneras diferentes a cualquier persona que desee. Por ejemplo, mientras mantiene los derechos de autor, puede licenciarlos a perpetuidad a la empresa para la que trabaja.

Depende de la empresa aceptar los términos de su licencia o denegarlos. Y depende de la compañía permitirle agregar código escrito contra su base de código nuevamente al código abierto; muchos no lo harán, tendrá que preguntar y obtenerlo por escrito.

Patrick Hughes
fuente
Siendo perezoso, preferiría no intentar obtener una licencia específica para que mi empleador la use. Idealmente, podría hacer que el código sea tal que cualquiera pueda usarlo para cualquier propósito sin restricciones. Me pregunto hasta qué punto esto es posible.
Philip
3

Las licencias BSD son buenas para este tipo de cosas. Básicamente es lo mismo que ponerlo en el dominio público, pero con una buena licencia legal a la que recurrir para evitar todo el asunto de "ser demandado".

Satanicpuppy
fuente
Desde esa página: "Las redistribuciones en forma binaria deben reproducir el aviso de copyright anterior, esta lista de condiciones y el siguiente descargo de responsabilidad en la documentación y / u otros materiales proporcionados con la distribución". ¿Es posible "ponerlo en el dominio público" y, de ser así, eso ayuda a evitar que alguien reclame el código y demande a otros que lo usan?
Philip
1
@Philip puedes licenciar el código como quieras. Puede tomar la licencia BSD y eliminar esa oración. El "dominio público" tradicional significa renunciar a los derechos de autor, y nadie más puede simplemente tomar los derechos de autor, de manera similar a cuando expira un derecho de autor. Sin embargo, si renuncia a los derechos de autor, nunca más tendrá ningún control sobre ellos.
Jeremy
1
@ Jeremy Supongo que eso es lo que haré con BSD o MIT y eliminaré el requisito de propagación de la licencia. Y encontré esto, que debería haber encontrado originalmente y lo explica bien: stackoverflow.com/questions/219742 Gracias a todos.
Philip
@Philip: El WTFPL mencionado en esa pregunta puede ser la mejor opción para usted.
Jan Hudec
1

La licencia Boost parece ajustarse a su factura muy bien. Está aprobado por el OSI.

De la justificación de esta licencia:

Se solicitó que se desarrolle una única licencia de Boost que cumpla con los requisitos tradicionales que las licencias de Boost, en particular:

  • Debe ser simple de leer y entender.
  • Debe otorgar permiso sin cargo para copiar, usar y modificar el software para cualquier uso (comercial y no comercial).
  • Debe exigir que la licencia aparezca con todas las copias [incluidas las redistribuciones] del código fuente del software.
  • No debe requerir que la licencia aparezca con ejecutables u otros usos binarios de la biblioteca.
  • No debe requerir que el código fuente esté disponible para la ejecución u otros usos binarios de la biblioteca.
Fabio Fracassi
fuente
1

Mi consejo es ... discuta esto con su empleador.

Mi empleador usa el código que ya había escrito, y acordamos que licenciaría el código bajo la licencia BSD de 2 cláusulas y luego le daría una copia a mi empleador. En la práctica, simplemente agregué un encabezado a cada archivo fuente basado en la plantilla de licencia BSD 2-Clause. Esa es la parte fácil.

¿Qué sucede con las mejoras / correcciones hechas a su código por el empleador? ¿Cuándo los haces tú? Cuando estos son realizados por otro desarrollador? En mi caso, acordamos que no tomaría directamente el código fuente mejorado, pero sería libre de volver a implementar cualquier cambio en mi propio tiempo, en mi propio hardware.

Stewart
fuente
0

IANAL, pero debe poder utilizar cualquiera de las licencias de código abierto que ya existen para su propósito, ya que no lo escribió en el horario de la empresa, con las herramientas de la empresa o a solicitud de su empleador, por lo que debería sé tuyo para hacer lo que quieras.

Para sus necesidades de licencia, primero verificaría las licencias MIT o BSD, ya que son las menos restrictivas además de Creative Commons. Si esos son demasiado flojos, entonces revisa los GPL y Apache, o el que usa Mozilla (creo que es GPL, pero no lo recuerdo de la mano), ya que están escritos más asumiendo que el software funcionará como probablemente se use comercialmente como no comercialmente.

Por lo general, la parte de "no demandarme" del descargo de responsabilidad de "este producto se proporciona tal cual, sin garantía", que a menudo se encuentra en la parte superior de la licencia o en un lugar destacado de la documentación.

Shauna
fuente
MIT, BSD y GPL que he visto requieren distribuir la licencia con la fuente o los archivos binarios. Quiero ser lo menos restrictivo posible. Ahora, por supuesto, una empresa podría ser demandada si distribuyera software utilizando este código y alguien muriera por ello. Solo quiero minimizar la posibilidad de que alguien afirme que el código es suyo y demande a otros que lo usan.
Philip
La distribución de la licencia es un tipo de requisito para cualquier licencia porque las personas tienen que estar al tanto de dicha licencia y su contenido. Para empezar, frustra el propósito de la licencia si nadie tiene acceso a ella.
Shauna
@Philip: no soy abogado, pero creo que realmente no tiene que distribuir la licencia MIT con los archivos binarios vinculados a la aplicación, porque puede sublicenciarlos bajo la licencia que cubre la aplicación (que de todos modos tiene que estar allí) .
Jan Hudec
0

Por lo tanto, parece que necesita copiar el idioma de la licencia MIT y simplemente eliminar el requisito de incluir el archivo de licencia con el código. Esto les da a las personas el uso del código de la manera que mejor les parezca, pero excluye cualquier garantía.

Por supuesto, no soy abogado.

Amy Anuszewski
fuente
0

Si realiza correcciones de errores o mejoras en su código mientras trabaja por contrato, entonces, sin alguna exención específica en su contrato de trabajo, su empleador puede terminar con algunos derechos sobre partes del código (dependiendo de su jurisdicción legal particular, yadayada, Ianal). Publicar su código bajo Mozilla MPL o LGPL puede requerir que contribuyan con esta parte a usted / a todos en ciertas circunstancias.

Es posible que también desee poner el código en un repositorio público sellado con fecha para ayudar a demostrar su existencia antes de su trabajo de alquiler.

hotpaw2
fuente