¿Puedo crear software de código cerrado con código de código abierto?


19

Estaba usando un paquete de música popular (Ableton Live) cuando abrí la sección legal del archivo de ayuda y vi que el programa contenía licencias de código que parecían ser tanto gratuitas como libres como en cerveza. No puedo encontrar una copia en línea, por desgracia, pero si es necesario puedo enumerar los paquetes con licencia.

Hasta donde puedo ver, hay 3 posibilidades aquí:

  1. Una empresa bastante grande está violando las licencias de código, muy poco probable, de ser así, ¿por qué incluirían el texto de la licencia?

  2. En realidad, es legítimo por alguna razón cobrar dinero y cerrar la fuente de un paquete que contiene código de código abierto; definitivamente, esto es una novedad para mí.

  3. Estoy malinterpretando algo, muy probable.


Facebook hizo ...
Dinámico

1
No es broma, ¿cuál?
James

Quise decir que Facebook está escrito en software de código abierto.
Dinámico

¿Qué proyecto (s)?
James

# 2 en realidad parece dos posibilidades diferentes: puede vender software de código abierto (incluso GPL), y puede regalar software de código cerrado de forma gratuita. Cobrar dinero y cerrar la fuente son dos cosas distintas.

Respuestas:


34

Depende de qué licencia.

Hay algunas licencias de software libre que están específicamente diseñadas para evitar que las personas hagan cosas como esa, como la GNU GPL. Se conocen como licencias "virales", porque sus términos de licencia se extienden a cualquier código con el que los use, lo que evita que use una biblioteca GPL en un programa que no sea GPL (o compatible).

Otras licencias están más preocupadas por compartir código libremente que por impulsar una ideología particular. En algún lugar en el medio del espectro, tiene la MPL (Licencia pública de Mozilla), que no es viral y puede usarse en proyectos propietarios, pero los términos de la licencia requieren que el código MPL permanezca cubierto por la MPL, y que cualquier Las modificaciones (como mejoras, correcciones de errores, puertos, etc.) que realice en el código MPL deben publicarse libremente. La idea aquí es "obtienes este código libremente, así que si lo mejoras, deberías contribuir con tus mejoras a la comunidad como pago".

Y en el otro extremo del espectro están las licencias completamente abiertas, como las licencias BSD, MIT y Zlib. Básicamente dicen que "este código es gratuito para que cualquiera lo use como quiera". (Con algunas restricciones, por supuesto, pero realmente no hay mucho para ellos). Las personas que usan estas licencias están haciendo que el uso gratuito de su código sea la máxima prioridad.

Entonces, no todas las licencias de software libre son iguales. Eche un vistazo a las licencias que se utilizan aquí, y cuáles son sus términos, y obtendrá una mejor idea de si el desarrollador las cumple o no al usarlas en un proyecto propietario.

Además, hay una cuarta posibilidad: la "empresa bastante grande" podría haber licenciado el producto bajo diferentes términos. Una licencia de software está diseñada para limitar a los usuarios del software, no al creador del software, y no es extraño que alguien lance una biblioteca de código abierto bajo términos de estilo GPL, y luego también venda licencias comerciales para las personas que desea usarlo en un proyecto propietario, sin que su base de código esté "infectada" por una licencia viral.


Correcto. La división es entre software libre y software abierto. Gratis como en libertad = GPL. Abierto (ala "gratis como en cerveza") = BSD / Mozilla. Ver Gratis versus libre .
Philip

3
@Philip. Completamente mal. Todas las licencias que mencionó (GPL, BSD, MPL) son libres ("gratuitas como en libertad"). Todos también tienden a tener el efecto secundario de hacer que el software esté disponible gratuitamente ("gratis como en la cerveza"). Sin embargo, GPL es copyleft , mientras que BSD es permisivo . (MPL está en algún lugar en el medio, creo.)
TRiG

1
@TRiG Su última línea es correcta, sin embargo, el argumento de Stallman es que la GPL es "libre como en libertad", es decir, "Libre". La respuesta del movimiento de código abierto fue que no querían licencias virales. Querían "gratis como en la cerveza". Ok, ejemplo: si BSD es "libre", entonces ¿cómo es que el OSX de Apple, que fue construido a partir de BSD, ahora es propietario? Eso no me parece muy "liberado". BSD fue un software de código abierto que Apple tomó, lo cerró (su licencia de propiedad) y lo llamó propio. Podrían hacer esto porque BSD era gratis como en la cerveza. ¿Consíguelo? El enlace hace un mejor trabajo explicando.
Philip

1
@Philip. No, fue porque BSD era libre y libre, y era permisivo, mientras que las cosas de GPL son gratis y copyleft. La cerveza gratis no tiene nada que ver con eso, eso es solo un efecto secundario inevitable del libre gratis (generalmente).
TRiG

Yo diría que el código es visible, el costo es cero y la licencia es permisiva. Olvídate de las cosas abiertas de cerveza libre.
jiggunjer

2

Descargo de responsabilidad : no soy un abogado. Al trabajar con abogados en el pasado, los desarrolladores de software tienden a adivinar la intención de los documentos legales y el trabajo de eso, mientras que los abogados (1) leen lo que está escrito y (2) usan las definiciones legales de las palabras en lugar de las comunes. Ten cuidado.

Como dijo Mason, depende de la licencia utilizada por el software de código abierto. Hay muchos tipos de licencias comunes. La mayoría permite que otros usen su código siempre que indemnicen al autor e incluyan la atribución (como el contenido de la licencia en un archivo de ayuda o el cuadro de diálogo Acerca de). Las licencias más restrictivas pueden exigir que otros cambios también sean de código abierto (como GPL).

Muchas compañías usan componentes de código abierto como parte del software de código cerrado. Mientras el software de código cerrado cumpla con los términos de la licencia, al igual que lo haría con los componentes comerciales, es utilizable.

Si está buscando usar estos componentes usted mismo, también hay otras cosas a considerar. Por ejemplo, en la declaración "¿Se me permite crear software de código cerrado con código de código abierto?", Depende de lo que se entienda por "con". ¿El paquete usa bibliotecas compiladas? ¿Está usando el código fuente directamente? ¿Está modificando el código fuente o incluyéndolo en el suyo? Cualquier forma de modificación o mezcla de código es mucho más complicada desde una perspectiva legal o de licencia.

Además, ¿se está distribuyendo el código a los clientes (como en sus servidores, PC o móviles) o se está utilizando en un servidor en la nube? La distribución de software puede estar restringida o limitada. También pueden aplicarse otras leyes además de la licencia de software, como las restricciones a la exportación de los EE. UU. (Aunque creo que ahora estoy yendo más allá de la pregunta).

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.