¿El "código abierto" se ha convertido alguna vez en "mi fuente"?

8

Si tuviera que descargar un código fuente abierto que hace algo interesante que necesito, pero no tiene tantas opciones o campanas y silbatos que necesito ... y hago una TONELADA de cambios en donde algunos de los el código base todavía está allí desde el proyecto de código abierto, pero mucho ha cambiado y se ha agregado mucho ... ¿ese código alguna vez se convertirá en "mi fuente" en lugar de "código abierto"?

EDITAR:

Por cierto, en realidad no tengo un proyecto en mente, esto es solo en términos generales, por lo que no sabría la licencia. Esta pregunta se me pasa por la mente de vez en cuando cuando veo un proyecto que podría mejorar ...

Barry Franklin
fuente
66
respuesta corta, todo depende de la licencia utilizada ... entonces, ¿qué licencia está preguntando?
Bob
77
Eso realmente depende de la licencia en cuanto a si puede convertirse legalmente en "su" fuente. Pero "Open Source" realmente es "Fuente de todos", así que si lo miras así, ¡ya es tuyo! : D
Ryan Hayes
¿Qué quiere decir exactamente con "código abierto" y "mi fuente"? Si desea tomar el software bajo una licencia certificada por OSI, cambiarlo y tener el control total de la licencia para liberarlo, depende de la licencia. La Gnu GPL requiere que publique sus cambios bajo la GPL, mientras que las licencias de estilo BSD no.
David Thornley
@DavidThornley Por "código abierto" me refiero a todo lo que puede encontrar para descargar que se considera de código abierto y por "mi fuente" me refiero a algo que podría publicar abiertamente como "mío" o incluso vender como "mío".
Barry Franklin
@Barry: No hay tal cosa como "código abierto" en los términos que describe. Cada proyecto se entrega con una licencia específica. Pero, por lo general, aún puede vender código OpenSource (los detalles dependen de la licencia). Solo tiene que proporcionar libremente la fuente (los detalles dependen de la licencia). Mira RedHat para un ejemplo de eso.
Martin York

Respuestas:

15

Hay pocas cosas que debe aprender al tratar con código de código abierto. Primero, puede visitar este enlace de Wikipedia para obtener una descripción general de Opensource

Lo siguiente a considerar es la licencia de código abierto con la que está tratando. No todas las licencias de código abierto permiten hacer lo que está pensando lograr. Para una referencia detallada de la licencia, visite la licencia de Opensource . Haga coincidir la licencia de su código con la que se encuentra en este enlace y aprenda qué se puede hacer con el código que está utilizando.

Pankaj Upadhyay
fuente
1
+1 Tu respuesta dijo lo mismo que la mía pero mejor :)
SoylentGray
No es un problema de licencia. Si su acceso al código es a través de una licencia, entonces tiene una licencia del propietario del código. Lo que a su vez significa que no eres el propietario del código.
Michael Shaw
1
@Ptolomeo: Si obtengo un código con licencia BSD y lo incorporo a un proyecto, no tengo derechos de autor sobre todo. Tengo la capacidad de liberar todo en cualquier licencia que me parezca, y demandar a los infractores, y eso es lo suficientemente cercano como para poseer el código para mí.
David Thornley
Entonces, si descubrió que esas líneas de código también se usaron en un producto de la competencia, ¿podría demandarlas por incumplimiento de sus derechos de autor? Esa es la verdadera prueba de poseer código, en lugar de ser un simple licenciatario
Michael Shaw
@davidthornley Estoy de acuerdo con eso ... eso también sería lo suficientemente cercano para mí.
Barry Franklin
2

En resumen no.

Lo que está describiendo es simple y simple un trabajo derivado. Puede ser un código del 99.9% que haya agregado, pero debido a que se deriva de un código de otro, aún debe respetar los derechos de autor y la licencia del código original.

Qué otras opciones tienes?

Can you look at that code, see how it works and then write your own version from scratch?

Esto no es tan claro. Sin embargo, todavía tiene un riesgo sustancial de violar los derechos de autor. Si copia cualquier código literalmente, es una violación. Si corta y pega el código y luego cambia el nombre de las variables, etc. Es una violación. Si copia una técnica para resolver un problema específico, escribir código nuevo a medida que avanza, eso sigue siendo una violación de los derechos de autor.

Si observa el código y piensa que así es como usa esa función y luego se apaga y escribe su propio programa desde cero sin copiar textualmente esas dos líneas de código, entonces probablemente sea el propietario de su código.

To be 100% sure of owning my code, what doctor need to do?

La clave es evitar el riesgo de reclamos de derechos de autor en primer lugar. No mire el código con derechos de autor para ejemplos. Por lo tanto, no escriba el código cuando otra persona (como su empleador) pueda tener un reclamo sobre su código). Use el control de origen para registrar cambios regulares en el código. (esto demuestra que lo escribió y demuestra el desarrollo del código en lugar de copiarlo al por mayor) y no reutilice su código en un entorno en el que el destinatario tenga motivos para creer que ahora posee el código.

So why is everyone else talking about licenses?

La mayoría del código disponible en Internet está disponible bajo licencia. Esa licencia le permite acceder a ese código en los términos que el propietario del código haya elegido. La forma en que puede usar ese código y sus derechos y derechos sobre el código están definidos en la licencia del software, y puede darle derecho a crear trabajos derivados, a venderlos con fines de lucro y a no tener que darle a nadie su código fuente. Del mismo modo, puede que no. Todo depende de los términos de la licencia. Sin embargo, otra persona posee los derechos de autor del código original y no puede evitar que otorguen la licencia del mismo código a sus competidores.

Michael Shaw
fuente
1
Hiciste algunas buenas preguntas ... Me pregunto cómo alguien podría decir que copiaste una técnica desde cualquier lugar: realmente no hay demasiadas técnicas únicas por ahí. Y todo el mundo tuvo que aprender su codificación de algún lado; solo me pregunto dónde está la línea con aprender a hacer algo con el código de alguien en lugar de arrancarlo.
Barry Franklin
Hay una línea muy clara. La intención de algunos es enseñarle una técnica y luego puede usar ese enfoque en su propio código con bastante seguridad. Si copia el código, entonces es código copiado, y no lo creó ni obtuvo la propiedad de los derechos de autor de su propietario actual
Michael Shaw,
1
Pero, ¿qué sucede si Bob me enseña algo y luego Bob le enseña a Joe lo mismo y Joe le enseña a Ron y Ron le enseña a Bill ... entonces Bill sale con un programa que funciona exactamente como el mío? ¿Quién gana allí? Ni Bill ni yo podemos saber que ambos aprendimos lo mismo de Bob ... y Bob podría ser cualquiera, o cualquier cosa (como un sitio web o un libro). ¿Cómo podría Bill decir que robé su código si no puede probar que no lo aprendí de la misma manera que él? ¿Cómo podría defenderme si no pudiera demostrar que lo aprendí? ¿Es Bob el dueño de todo el código que escribimos Bill, Joe y Ron?
Barry Franklin
1
Dependiendo del entorno, incluso la percepción de una posibilidad de incumplimiento de los derechos de autor puede ser perjudicial. Microsoft utilizó el reclamo de derechos de autor de sco linux hace unos años para impulsar las ventas de Windows CE
Michael Shaw
Hola Barry, en tu ejemplo, los derechos de autor del código serían propiedad de cada una de las personas que escribieron el código. Cada uno de ellos creó código de forma independiente utilizando el mismo enfoque. Cada uno tiene la propiedad de los derechos de autor de esas líneas de código, y si pudieran establecer que alguien copió sus líneas particulares, podrían reclamar una compensación por la violación del derecho de autor.
Michael Shaw
1

Depende de la licencia que esté usando el proyecto Open Source. Si se trata de una licencia GPL, si alguna vez tiene la intención de liberar sus binarios o fuente al público, debe usar una licencia que cumpla con la GPL. Eso significa que el código nunca será completamente tuyo.

Si la licencia es Free-As-In-Free-Beer, entonces puede hacer lo que quiera con ella y probablemente también la publique como su código, a menos que especifique lo contrario.

Dimme
fuente
2
incluso si obtiene el código con una licencia muy permisiva, todavía no es suyo, solo tiene licencia para hacer (casi) cualquier cosa con él
jk.
0

Como otros han descrito ya NO, al menos no con la GPL estándar como la conozco, así que no voy a vencer a un caballo muerto.

Suponiendo que falta este proyecto de código abierto y comienzas un proyecto completamente separado que UTILIZA los binarios del proyecto GPL en cuestión y proporciona su propio comportamiento para compensar el comportamiento que falta, entonces ese proyecto separado sería TU fuente.

Por ejemplo, "Crappy LGPL project llamado Bamboozle es bueno para hacer widgets, pero no procesa previamente RoughArgs primero. Creas un producto patentado llamado Flamboozle que pasas un OR RoughArgs normal y escupe Widgets. Detrás de escena usa Bamboozle , pero hace algo más y eso es lo que estás vendiendo.

Esto puede ser perfectamente legal suponiendo que no viola explícitamente el acuerdo de licencia y en una LGPL típica no estaría siempre y cuando incluya el acuerdo de licencia de Bamboozle con todas las copias distribuidas de Flamboozle.

maple_shaft
fuente
Hay muchas, muchas licencias de código abierto: GPL y LGPL son solo dos en un mar de licencias.
Bryan Oakley