it-swarm-es.com

¿Las licencias de código abierto de mi código me limitan más adelante?

Supongamos que desarrollo una biblioteca útil y decido publicarla como código abierto. Algún tiempo después, tengo la necesidad comercial de hacer algo que no cumpliría con la licencia de código abierto. ¿Puedo hacer eso?

¿Cómo debo publicar el software de manera que conserve la propiedad y no me bloquee el uso de la biblioteca en el futuro de ninguna manera?

Tenga en cuenta que, al menos en teoría, otros desarrolladores pueden decidir contribuir a mi proyecto de código abierto. ¿Puedo especificar en una licencia que yo, como desarrollador original, también obtengo la propiedad de sus contribuciones? No me malinterpretes aquí, no estoy tratando de ser malvado y obtener la propiedad del trabajo de otros; solo quiero mantener la propiedad del mío, y si alguien publica una corrección de error importante, podría no poder usar el código original a menos que También utilizo su trabajo.

29
configurator

Siempre mantendrá la propiedad bajo licencias de código abierto. El trabajo que ha creado es de su propiedad, y puede hacer lo que quiera con él (dentro de los límites legales, por supuesto), incluso permitir que ¡otras personas usarlo bajo los términos de un -Licencia de origen. Si desea usarlo para un proyecto propietario, puede hacerlo, a menos que haya entregado completamente los derechos a otra persona por contrato. Pero esto no es lo que hacen las licencias de código abierto. Se trata de compartir la utilidad, no de renunciar a la propiedad.

Las cosas se ponen un poco pegajosas una vez que otras personas comienzan a contribuir. Entonces, es su trabajo, no el tuyo, y necesitas su permiso. Una cosa que puede hacer es publicar su biblioteca con una licencia dual. Eso es lo que hace Sam Lantinga, el principal creador y mantenedor de SDL . Debido a que Apple no le gustan las bibliotecas de enlaces dinámicos para iOS, y cumplir con la LGPL en una aplicación vinculada estáticamente es más problemático de lo que vale la pena, publica SDL bajo la LGPL y una licencia comercial para Aplicaciones de iPhone estáticas.Cuando alguien envía un parche, explícitamente les pide permiso para implementar su parche en la biblioteca bajo ambas licencias, y si no les gusta eso, no lo agrega al código base.

EDITAR: Mi ejemplo ya no es exacto. Hace un tiempo, Sam cambió el modelo (no estoy seguro de por qué; tal vez simplemente se cansó de las molestias de la administración) y ahora licencia SDL bajo una licencia estilo zlib altamente permisiva. Pero solía hacerlo de esta manera.

44
Mason Wheeler

No soy abogado y esto no es un consejo legal. Si necesita garantía legal, contrate a un abogado.

Puede obtener una licencia doble de su software: Trolltech lo hizo durante muchos años con Qt, y Linden Lab lo hizo con el cliente SecondLife.

Puede utilizar cualquier licencia que desee. Algunas licencias son compatibles con entornos comerciales cerrados, como Mozilla MPL, MIT y BSD, y (creo) CDDL de Sun y las licencias de Apache.

Sin embargo, si necesita la flexibilidad para lanzar su software como un proyecto de código abierto y como un producto de código cerrado, está absolutamente autorizado a hacerlo como autor original. El único problema es la cuestión de las contribuciones de los usuarios. No puede incorporar las contribuciones de otros en su versión comercial del software a menos que ellos le liberen legalmente los derechos de autor. GNU hace esto por la única razón de que actualizarán sus licencias en el futuro.

Tenga en cuenta que a los usuarios y especialmente contribuyentes probablemente no les gustará esto, por lo que afectará a la comunidad alrededor de su proyecto, probablemente de manera adversa.

Nuevamente, consulte a un abogado para obtener más detalles.

5
greyfade

Yo tampoco soy abogado, pero ...

Aparte de las licencias restrictivas (que te obligarán a Open Source en cada proyecto que las use) como GPL, también existen licencias no restrictivas (lo que significa que puedes usar dicha pieza de software en un proyecto comercial) como Lesser GPL o Apache License (2.0 ?). Entonces, tal vez pueda simplemente lanzar su software bajo términos no restrictivos.

2
Paweł Dyda