¿Cuáles son algunas ramificaciones del software de código abierto que se convierte en software de código cerrado?


16

Si una compañía toma una aplicación de código abierto con licencia permisiva y luego desarrolla una aplicación de código cerrado a partir de eso al reelaborar partes extensas de la aplicación, agregar nuevas características y aplicar correcciones de errores ...

Ignorando cualquier requisito de licencia ...

  • ¿Cómo sucede la transición y qué se puede hacer para evitarla más allá de elegir una licencia diferente?
  • ¿Cuáles son las responsabilidades (éticas o sociales) de la empresa? (Por ejemplo: Devolver al proyecto de código abierto sería lo ético)
  • Si la versión de código abierto y la versión de código cerrado están disponibles, ¿cómo afecta la competencia a cualquiera de los productos?

¿Hay algún ejemplo de empresas o productos que hayan hecho esto (con éxito o sin éxito) en el pasado? ¿Cuál fue la actitud de la comunidad hacia esos proyectos?


2
Creo que el reflector .NET podría ser un buen ejemplo de esto.
l46kok 01 de

2
@ l46kok Deshice mi voto a favor por su comentario porque Reflector nunca fue de código abierto, solo gratis como en la cerveza.
Mark Hurd el

Respuestas:


14

Es importante tener en cuenta que este escenario puede ocurrir tanto en forma legal como ilegal.

Esto puede ocurrir legalmente si la empresa posee o tiene acceso a los derechos de autor asociados con el código. Por ejemplo, equipos de desarrollo independientes más pequeños pueden desear vender o licenciar sus derechos de autor a una empresa más grande. Del mismo modo, si se puede adquirir la mayor parte de los derechos de autor del código, la parte "inalcanzable" simplemente puede desecharse y reescribirse.

En el otro lado de la moneda, el código simplemente puede tomarse ilegalmente. New Corp, Inc. puede no importarle cuáles son las ramificaciones legales. El proyecto puede ser demasiado viejo o abandonado o New Corp cree que ganarán en una demanda. O New Corp puede estar registrado en un área donde este tipo de "adquisición" simplemente no se define como ilegal. No todas las licencias de OSS son exigibles, especialmente las que no fueron expertas en la ley. No todos los propietarios de proyectos pueden tener la capacidad de hacer cumplir sus reclamos de derechos de autor, y las organizaciones más grandes como la FSF pueden no tener legitimación en esa jurisdicción para ese reclamo. TL; DR: esta área puede volverse nebulosa y fea muy rápido.

Transición y prevención

¿Cómo sucede la transición y qué se puede hacer para evitarla más allá de elegir una licencia diferente?

La transición ocurre cuando New Corp, Inc. adquiere la base del código y coloca esa copia bajo su control. Los desarrolladores de New Corp luego comienzan a trabajar en su versión de la base de código haciendo cualquier cambio que los señores corporativos hayan decretado necesario. La mecánica real de esta bifurcación variará según el repositorio. Y si bien es un gran problema filosófico, en la práctica es bastante decepcionante. get alldesde OpenRepos y luego checkina PrivateRepos.

¿Qué se puede hacer para evitar que nunca se distribuya la fuente? Nada. Lo siento.

Usemos GPL (licencia pública GNU) como ejemplo. GPL requiere que la fuente esté disponible para cualquier persona que reciba una copia legítima del proyecto. Hay no hay disposiciones que permiten al titular de la fuente a denegar la entrega de la fuente a un titular legítimo de una copia de la aplicación GPL. Va contra la corriente del software libre, y es por eso que el copyleft de GPL está en su lugar.

Potencialmente, usted tiene que seguir cursos legales de acción después de los hechos. Pero todo eso es después de que la fuente haya escapado y se haya bifurcado, no antes. Y en algunas jurisdicciones no tendrá ningún recurso legal. Y todo esto supone que incluso eres consciente de que ocurrió la bifurcación. Puede que nunca lo descubras.

Ética

¿Cuáles son las responsabilidades (éticas o sociales) de la empresa? (Por ejemplo: Devolver al proyecto de código abierto sería lo ético)

La ética es local a la cultura. Así que templa esta sección con ese grano de sal. Una discusión completa de la consideración cultural de la ética está más allá del alcance de esta respuesta y fuera del tema para los programadores.

He notado que la comunidad de programación tiende a reaccionar negativamente a una bifurcación hostil. Diablos, en algunos casos la misma comunidad aún reacciona negativamente a una bifurcación amistosa y legal. Es una comunidad bastante compleja.

Desde una perspectiva de software libre, existe la expectativa de que New Corp "pagará" a la comunidad por la contribución que bifurcó. Los términos, condiciones y duración de ese reembolso son tan variados como el número de proyectos OSS existentes. Algunos en la comunidad (piense en Richard Stallman) nunca se contentarán con que un proyecto abierto se cierre. Otros buscarán el beneficio proporcionado a la comunidad en general y juzgarán en base a eso. Y a otros simplemente no les importará porque nunca supieron o se preocuparon por el proyecto de origen.

Disponibilidad de fuente

Si la versión de código abierto y la versión de código cerrado están disponibles, ¿cómo afecta la competencia a cualquiera de los productos?

Realmente depende de cuán comparables sean las dos bases de código con respecto a la funcionalidad, el rendimiento y la estabilidad.

Si las bases del código siguen siendo similares y New Corp es amigable con la comunidad OSS, pueden contribuir con sus actualizaciones nuevamente en el proyecto base. En este caso, todos se benefician. No es una "competencia" en este caso, sino más bien una colaboración mutuamente beneficiosa.

Si las bases del código divergen y New Corp no es amigable con la comunidad OSS, entonces todavía no hay competencia. El producto más rico en características sobrevive y el producto menos rico tiende a desaparecer. Tenga en cuenta que esto puede ir en cualquier dirección: la versión cerrada podría desaparecer si la versión de código abierto continúa innovando o satisface mejor las necesidades de la comunidad.

La realidad estará en algún lugar entre esos dos extremos del espectro.

Ejemplo

Red Hat tiene dos distribuciones principales: Enterprise Linux y Fedora. EL es su versión con licencia "cerrada" y Fedora es su edición comunitaria. Debido a la GPL, gran parte, si no toda, de la edición EL se lanza en forma de fuente. Otro proyecto no afiliado a Red Hat llamado CentOS recoge los cambios en EL y lo distribuye después de un cambio de marca menor.

Hubo algunas quejas cuando Red Hat se bifurcó en dos ediciones separadas, pero en general, ha sido un acuerdo bastante viable. La comunidad de Fedora quería que las funciones se integraran en la distribución más rápido de lo que los clientes empresariales de Red Hat se sentían cómodos. Las mejoras en las bases del código fluyen en ambas direcciones.


1
@GlenH7 Buena respuesta que abarca aspectos técnicos y legales :)
hagubear

1
No olvide que uno puede hacerse cargo de una base de código y no estar al tanto del enlace a alguna biblioteca de código abierto que está oculta en el fondo de varios millones de líneas de código, cientos de poms, archivos de hormigas, archivos MAKE, etc., especialmente si Es un enlace indirecto. Eso sucedió y pasamos un mal rato cortando el código afectado y reemplazándolo con algo que pudiéramos distribuir.
Jwent

4

Suponiendo que todo es legal y superior, y que estamos hablando de un producto que tiene una licencia de código abierto kosher antes de que comience el proceso:

¿Cómo sucede la transición ...

Básicamente, la compañía realiza una nueva versión del software con la licencia de código no abierto.

¿Y qué se puede hacer para evitarlo más allá de elegir una licencia diferente?

En general nada. El único caso en el que se puede evitar (o retrasar) es si hay varios propietarios de derechos de autor y algunos de ellos se oponen a la nueva licencia. Pero si la compañía es seria, podrían decidir resolver ese problema reescribiendo las partes relevantes de la base de código, etc.

Intentar aplicar "presión moral" antes del hecho probablemente no funcionará. Es probable que la compañía haga este tipo de cosas sin notificación previa.

Dicho esto, hay ejemplos en los que los intentos de "retroceder" de código abierto han fracasado en la empresa que lo hace. Considere los casos de OpenOffice, Hudson y MySQL, donde las acciones de Oracle han llevado a una bifurcación, un éxodo masivo de la comunidad de desarrolladores y (para OO y MySQL) distribuciones que arrojan cada vez más el producto original a favor de la bifurcación (LibreOffice y MariaDB )

¿Cuáles son las responsabilidades (éticas o sociales) de la empresa?

Para ser sincero (y algo cínico), no es relevante lo que usted y yo creemos que deberían ser las responsabilidades éticas y sociales de una empresa.

Desde una perspectiva de perspectiva legal, las responsabilidades únicas de los directores y ejecutivos de la compañía son 1) maximizar el valor para los accionistas / propietarios, y 2) garantizar que se cumpla la ley. Se podría argumentar que, como individuos, estas personas tienen responsabilidades sociales y éticas, pero ... desafortunadamente ... muchos de ellos estarían en desacuerdo.

Pero de cualquier manera, las responsabilidades éticas y sociales solo son relevantes en un sentido práctico si la compañía y sus funcionarios los toman en cuenta y los toman en serio.

Si la versión de código abierto y la versión de código cerrado están disponibles, ¿cómo afecta la competencia a cualquiera de los productos?

No creo que haya una respuesta a esto. Depende de las circunstancias.


¿Hay algún ejemplo de empresas o productos que hayan hecho esto (con éxito o sin éxito) en el pasado? ¿Cuál fue la actitud de la comunidad hacia esos proyectos?

Si hay ejemplos. Simplemente busque en Google la frase "va de fuente cerrada" y aplique un filtro de bogosity. Leer los éxitos (no falsos) le dará una idea de la actitud de la comunidad, y si investiga más sobre los productos / empresas, puede decidir si tuvieron éxito o no. (No voy a hacer esto por usted porque "exitoso" es un juicio de valor).

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.