¿Puedo tomar legal y éticamente un proyecto de código abierto con contribuciones de la comunidad a código cerrado? [cerrado]

17

Digamos que comienzo y desarrollo algún proyecto bajo licencia de código abierto, y acepto algunas contribuciones de la comunidad. ¿Qué tan inestable es el terreno en el que me paro si decido tomar el proyecto comercial y de código cerrado (o licencia dividida)?

Esta pregunta no aborda directamente el tema de un proyecto con contribuciones de la comunidad, que se siente como un territorio diferente, al menos en lo que respecta a la ética. Legalmente, esto también podría ser dudoso, porque no estoy seguro de si las contribuciones caen bajo mi copyright o si el contribuyente tiene los derechos de autor de la parte del proyecto que agregó.

¿Estoy seguro (éticamente y legalmente) siempre y cuando tenga la posibilidad de que pueda llevar el proyecto comercial en el futuro?

Chris Bye
fuente
55
Depende en gran medida del tipo de licencia del proyecto: si se trata de GPL, está un poco atascado.
JohnL
Recuerde prefijar cada respuesta con IANAL
zzzzBov
1
¿Ética o moralmente ? ¿O ambos? (-:
hippietrail
2
Puede evitar mucho dolor al decidir qué partes del proyecto serán su "salsa secreta" y cuáles no, luego desarrollar el último código abierto y dejarlos de esa manera. Eso reduce su carga de trabajo y le permite guardar los secretos para usted mismo.
Nathan Long el
No creo que pueda cambiar un proyecto bajo licencia como el BSD después de haberlo licenciado. Lo que puede hacer también es licenciar bajo otra licencia, pero el proyecto también tendrá licencia BSD.
Pieter B

Respuestas:

22

En general, los contribuyentes de la comunidad conservarían sus derechos de autor sobre el código que contribuyeron al proyecto. Le otorgan la licencia de la contribución cuando aportan el código. Si desea conservar la posibilidad de cambiar los términos de la licencia en el futuro, generalmente necesitará colaboradores para que le asignen sus derechos de autor (ya sea personalmente o una entidad corporativa que cree para poseer los derechos de autor de este proyecto) o los términos modificados necesitarían para ser compatible con los nuevos términos de licencia. Por supuesto, si necesita este tipo de documentación de asignación de derechos de autor antes de poder aceptar una contribución de la comunidad, es mucho menos probable que la comunidad decida contribuir y tendrá que hacer una buena cantidad de trabajo para obtener los formularios legales en orden antes de aceptar cada contribución. Más, existe una gran posibilidad de que su proyecto se bifurque si decide cambiar los términos de la licencia. Me parece poco probable que un nuevo proyecto de código abierto obtenga muchas contribuciones de la comunidad en esas circunstancias.

En general, sería más fácil si licenciara el producto bajo los términos de licencia dividida inicialmente o si los términos de licencia iniciales fueran compatibles con un futuro producto de código cerrado. El código que está bajo la licencia BSD, por ejemplo, puede incorporarse a un producto comercial en cualquier momento, por lo que si el proyecto y las contribuciones están bajo la licencia BSD, puede lanzar fácilmente una versión comercial del mismo producto. Sin embargo, su intención (u opción) de producir un producto comercial probablemente disminuirá el interés en hacer contribuciones a su proyecto; la mayoría de los desarrolladores de código abierto no están interesados ​​en hacer contribuciones no pagadas a un producto comercial.

Por supuesto, como con cualquier problema legal, querrás hablar con un abogado en lugar de depender de una publicación en el foro antes de tomar cualquier tipo de acción definitiva. Seguramente querrá que ese abogado redacte el documento de asignación de derechos de autor que necesitará que las personas firmen y deberá discutir sus planes para el futuro con el abogado para asegurarse de que todo esté configurado correctamente.

Justin Cave
fuente
La retención de los derechos de autor del colaborador parece que sería problemático en ese momento, incluso con algo como licencias divididas. Los contribuyentes podrían decidir que ya no querían permitirme usar su contribución comercialmente (o supongo que en absoluto). ¿Estoy fuera de lugar en esa conclusión?
Chris Bye
55
@ChrisBye: cuando un contribuyente contribuye con un código, le está otorgando una licencia para usarlo según los términos de la licencia del proyecto. Del mismo modo que no puede evitar retroactivamente que las personas usen la versión de código abierto de su producto, los contribuyentes no pueden evitar que use sus contribuciones en los términos en que originalmente las aportaron. Hacer cambios posteriores a los términos de la licencia es donde tiene problemas porque tiene que regresar y obtener el permiso de todos. Eso es cierto incluso para algo relativamente menor como pasar de GPL v2 a GPL v3.
Justin Cave
Eso tiene MUCHO más sentido. (Estoy a punto de seguir la línea de "debería ser una nueva pregunta") Esto me sugiere que si tuviera que ofrecer una licencia dividida desde el principio (como se sugiere en los comentarios sobre la respuesta de Simon) probablemente tendría que lidiar con asignación de derechos de autor.
Chris Bye
2
@ChrisBye: ofrecer la licencia dividida desde el principio es una propuesta mucho más fácil desde un punto de vista legal; es mucho más difícil cambiar los términos de la licencia en el futuro que especificar los términos de la licencia que finalmente desea inicialmente. Por supuesto, eso también significa que es probable que sea más difícil atraer contribuciones de la comunidad, ya que la mayoría de los contribuyentes de código abierto no están interesados ​​en hacer contribuciones no pagadas a un producto comercial.
Justin Cave
16

Si el proyecto está licenciado bajo una de las licencias más permisivas (BSD, MIT, Boost o Apache son las que sé que permiten), entonces legalmente se le permite distribuir código objeto y no tiene el requisito de proporcionar ninguna modificación que haya realizado El código fuente vuelve a la comunidad. También puede licenciar el trabajo derivado bajo una licencia diferente. Tenga en cuenta que aún debe incluir el texto de la licencia según los requisitos de la licencia.

Si esto es ético o no es algo que es bastante controvertido. Tiendo a pensar que si un desarrollador licencia su código bajo una de estas licencias más permisivas, entonces quiere que el software se use en proyectos de código abierto y comerciales. Si no querían el uso comercial de su código, entonces deberían haberlo licenciado bajo la GPLv3.

Cromulento
fuente
Esta es la razón por la cual, en mi opinión, el copyleft fuerte como GPL es mejor que el hippie do-as-you-wish BSD, MIT, et al;)
Andres F.
1
Incluso si el proyecto tiene una licencia no permisiva, puede ser posible cerrarlo si los contribuyentes le han asignado derechos de autor. Algunos proyectos de código abierto requieren que los contribuyentes asignen derechos de autor, aunque generalmente pueden cambiar de una licencia a otra (por ejemplo, cuando se actualiza GPL)
MarkJ
44
@AndresF. no necesariamente ... si una pila TCPIP no hubiera sido licenciada bajo el código BSD, entonces Microsoft no la hubiera usado en Windows NT y todos estaríamos usando MSNetwork en este momento :( No escriba el beneficio de las licencias BSD . fuera sólo porque alguien puede hacer dinero con él me gusta pensar licencia BSD es el mejor para las bibliotecas que desea convertirse en un estándar, y la licencia GPL para los productos.
gbjbaanb
7

Cualquier contribución que haga a su proyecto sigue siendo mi copyright a menos que se lo asigne a otra persona. Ser titular de los derechos de autor significa que puedo decidir en qué licencia está disponible mi trabajo.

Entonces, la concesión de licencias es un problema relacionado, pero separado. Si contribuyo a su proyecto, debería estar de acuerdo en liberar mi trabajo bajo la licencia del proyecto (o tal vez una compatible).

Muchas licencias de código abierto no le permitirán cerrar la fuente derivada más tarde, pero algunas lo harán. Si entiendo correctamente, ninguno le permitiría cerrar la base de código actual (abierta), por lo que también es algo que debería considerar.

Por lo tanto, deberá comenzar con una licencia que le permita cerrar el desarrollo futuro o tener un acuerdo al respecto con todos los contribuyentes. Es mejor llevar a este último con un abogado antes de que haya contribuciones significativas, y ser muy directo sobre lo que está tratando de hacer.

Simón
fuente
Temporal -1. Tu respuesta es confusa. Al contribuir a un proyecto, se somete a los términos de su licencia global. ¿Estás insinuando lo contrario?
Craige
1
@Craige, entiendo que la propiedad de los derechos de autor y las licencias son cuestiones separadas
jk.
@Craige, no, no estoy insinuando eso, pero lo editaré para dejarlo más claro. Derechos de autor y licencias relacionadas, pero no lo mismo.
Simon
+1 y -1 a @Craige, con todo respeto. jk es correcto aquí y te equivocas
MarkJ
1
@ Chris, los proyectos de licencia dividida que he visto funcionar a través de la asignación de derechos de autor. Si poseo los derechos de autor completos de un proyecto, puedo ofrecerlo con tantas licencias como elija.
Simon
4

Si desea cambiar la licencia de su proyecto, solicitó a todos los contribuyentes que firmen un "Acuerdo de Colaborador" o tiene que solicitar permiso a cada uno de los contribuyentes.

lo cual es bastante difícil y la razón por la cual el kernel de Linux todavía está bajo gpl v2

sufrostico
fuente
0

La mayoría de los proyectos de SO parecen tener un brazo comercial adjunto, como una versión Enterprise. Básicamente, ofrecen SLA, soporte, etc. Creo que si el proyecto es de código abierto, básicamente no se puede cerrar. Es posible que pueda hacer que las versiones futuras sean de código cerrado y cambiarles el nombre, o hacer complementos de código cerrado, pero los proyectos reales, por lo que entiendo, deben seguir siendo de código abierto. Sin embargo, creo que la empresa es un mejor camino, aún obtienes beneficios de código abierto y puedes generar ingresos.
Por curiosidad, ¿por qué quieres cerrar la fuente de tu proyecto?

usuario60812
fuente
0

Legalmente, si usa una licencia lo suficientemente abierta como para que cualquier persona involucrada pueda comercializarla, me imagino (no siendo un abogado) que también podría hacerlo.

Éticamente tendrías una obligación más fuerte. Tendría que ser muy abierto y claro acerca de sus intenciones tanto inicialmente como a lo largo del tiempo a medida que cambien sus planes.

psr
fuente
0

Además, es posible que desee adoptar un modelo similar al de Redhat. Construir complementos de código cerrado pero dejando el núcleo de código abierto. Esto también puede conducir a una mejor innovación, ya que aún obtendrá el apoyo de la comunidad para un producto que pueda beneficiar a la comunidad de código abierto. Ofrecer capacitación, consultoría y soporte también puede endulzar el trato para usted.

Sedación
fuente