¿Es posible reescribir cada línea de un proyecto de código abierto de una manera ligeramente diferente y usarlo en un proyecto de código cerrado?

122

Hay un código que es GPL o LGPL que estoy considerando usar para un proyecto de iPhone.

Si tomo ese código (JavaScript) y lo reescribí en un idioma diferente para usarlo en el iPhone, ¿sería un problema legal?

En teoría, el proceso que ha sucedido es que he pasado por cada línea del proyecto, aprendí lo que está haciendo y luego volví a implementar las ideas en un nuevo idioma.

Para mí parece que esto es como aprender a implementar algo, pero luego volver a implementarlo por separado de la licencia original. Por lo tanto, solo ha copiado el algoritmo, que posiblemente podría haber aprendido de otro lugar que no sea el proyecto original.

¿La licencia cubre la implementación específica o el algoritmo también?

EDITAR------

Realmente me alegra ver este tema crear una buena conversación. Para dar un poco más de respaldo al proyecto, el código involucrado hace algún tipo de análisis de audio. Creo que no es trivial aprender o implementar, aunque estaba preparado para embarcarme en esta tarea (estoy en el nivel donde puedo implementar un algoritmo FFT , y esto iba a ir más allá de eso). Es bastante script LOC bajo , por lo que no pensé que sería demasiado difícil hacer un puerto directo.

Realmente me gusta la idea de volver a lanzar mi puerto y usarlo en la aplicación. No veo ningún problema con eso, y sería una excelente manera de devolver algo a la comunidad.

Iba a agregar una línea sobre no querer discutir los temas morales, pero estoy muy contento de no haberlo hecho, ya que parece haber disparado un poco el debate.

Todavía me siento un poco extraño sobre el uso del código fuente abierto para aprender. ¿Significa esto que todo lo que uno aprende de un proyecto de código abierto no puede usarse en un proyecto de código cerrado? ¿Y cuánto tiempo después o diferente debe ser una implementación para que no se considere una violación de la licencia? ¡Turbio!

EDITAR 2 --------

Siguiente pregunta

Chris Barry
fuente
27
Realmente me gustaría llegar al fondo de otra pregunta: "Si aprende un algoritmo de un programa de código abierto y vuelve a implementar el algoritmo, ¿ha violado la licencia?" Lo pregunto desde un punto de vista legal, no moral. Pero incluso desde el punto de vista moral, ¿no es esa una forma legítima de aprendizaje? ¿No se nos permite usar ningún aprendizaje obtenido de proyectos de código abierto? Esto parece ir en contra del punto de la propia GPL?
Chris Barry
8
@optician El problema es que desea traducirlo línea por línea, lo que claramente lo convierte en un trabajo derivado, como una traducción entre idiomas humanos. La idea en sí no está protegida por derechos de autor, sino que podría estar cubierta por una patente. Pero cuidado, IANAL.
Starblue
3
Comentaristas: los comentarios están destinados a buscar aclaraciones, no para una discusión prolongada. Si tiene una solución, deje una respuesta. Si su solución ya está publicada, favor de votarla. Si desea discutir esta cuestión con otros, por favor use el chat . Consulte las preguntas frecuentes para obtener más información.
2
@optician El sistema Stack Exchange no es un panel de discusión, donde cada publicación es un tema que puede cambiar de dirección con el tiempo: si tiene otra pregunta con la que desea obtener ayuda, haga otra pregunta. De lo contrario, no dude en editar su pregunta para aclarar si las respuestas que recibió no abordan completamente su problema original.
2
Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de asuntos legales.
Robert Harvey

Respuestas:

257

Yo no soy un abogado. Este no es un consejo legal.

Dicho esto, tomar cada línea de una aplicación y cambiarla ligeramente con el único propósito de eludir la ley de derechos de autor es descaradamente, obviamente, crear un trabajo derivado sin ninguna defensa plausible. Incluso el mejor juez y jurado definitivamente encontrará en su contra si alguna vez lo arrastran a la corte.

Solo como una comparación: las compañías que necesitan reescribir algo para la interoperabilidad generalmente contratan a diferentes grupos de personas para comprender la fuente y crear el puerto ("implementación de sala limpia"), de modo que nadie pueda acusarlos de crear un derivado trabajo. Lo que propones es exactamente lo contrario.

Kilian Foth
fuente
25
Desearía poder darte +10 ...
Marjan Venema
55
Eso es "si" alguna vez llegó a la corte.
QueueHammer
55
Si el software tiene éxito, lo más probable es que termine en la corte en algún momento.
Justin C
44
@optician: Depende de cuán cerca llegues a recrear el original, y esa es la clase de pregunta que necesitas un abogado para responder.
David Thornley
55
@DavidStone Lo tienes al revés. Debe comprender que un algoritmo lógico y una expresión particular de un algoritmo en código están legalmente separados; solo la expresión tiene derechos de autor. El grupo que realiza la reimplementación no tiene contacto con la expresión original del algoritmo (solo ven documentación interna sobre el algoritmo lógico) y su expresión escrita probablemente será diferente de la expresión original, por lo que es muy poco probable que puedan violar los derechos de autor. Sin embargo, pueden violar una patente fácilmente, ya que su algoritmo lógico es idéntico al original.
apsillers
72

De acuerdo con Betsy Rosenblatt, de los Fundamentos del derecho de autor de la Facultad de Derecho de Harvard :

¿Qué constituye una infracción de derechos de autor?

Sujeto a ciertas defensas, es una infracción de los derechos de autor que alguien que no sea el autor haga lo siguiente sin el permiso del autor:

  1. copiar o reproducir el trabajo
  2. crear un nuevo trabajo derivado del trabajo original (por ejemplo, traduciendo el trabajo a un nuevo idioma, copiando y distorsionando la imagen, o transfiriendo el trabajo a un nuevo medio de expresión)
  3. vender o regalar el trabajo, o una copia del trabajo, por primera vez (pero una vez que el autor lo ha hecho, el derecho de vender o regalar el artículo se transfiere al nuevo propietario. Esto se conoce como el "primer doctrina de "venta": una vez que el propietario de los derechos de autor ha vendido o regalado el trabajo o una copia del mismo, el destinatario o comprador puede hacer lo que quiera con lo que posee.) 17 USC §109 (a).
  4. realizar o mostrar el trabajo en público (este derecho no se aplica a las artes visuales) sin el permiso del propietario de los derechos de autor. 17 USC §106. También es una infracción de derechos de autor violar los "derechos morales" de un autor según lo definido en 17 USC 106A. Los derechos morales se discuten en esta ubicación.

Me parece que estarías violando el artículo # 2 anterior.

Sin embargo, creo que la terminología es un gran problema aquí. Usted dijo: "Si tomara ese código (javascript) y lo volviera a escribir en un idioma diferente para usarlo en el iPhone, ¿sería un problema legal?" (énfasis mío). Reescribir algo puede o no ser diferente a copiar. Por ejemplo, si miraste la Mona Lisa, luego entraste en tu propio estudio y pintaste lo que recuerdas, entonces me parece que estás creando un trabajo original que es tu expresión de cómo percibiste el original. Sin embargo, si tenía una copia de la Mona Lisa en su estudio, y pintó una copia de ella, en lugar de lo que recuerda, entonces creo que definitivamente está copiando.

De la misma manera, si usa MS Word, y tal vez incluso si mira algo del código, y luego va y escribe su propio procesador de texto que tiene similitudes funcionales, creo que hay casos en los que se decidió que "mire & feel "no tiene derechos de autor. (Esto no dice nada de patentes, por supuesto).

Probablemente debería preguntarle a un abogado (ya que yo no soy uno).

Mi opinión personal es que un "puerto" es un trabajo derivado, por lo que debe liberar el código portado en la misma licencia.

Scott Whitlock
fuente
1
También está la cuestión de probarlo. Si miraste el código fuente de Word, luego escribiste tu propio procesador de textos ... vas a tener dificultades para demostrar que no copiaste nada.
gbjbaanb
66
@gbjbaanb: Depende de Microsoft demostrar que lo hizo , y no al revés, en la mayoría de los países. No es que importe, porque si Microsoft lo demanda, está jodido a menos que pueda conseguir una gran empresa que lo lleve a pro bono. :-) Y si tuvieras acceso al código fuente de Word, las probabilidades son bastante buenas, ya has firmado algo diciendo que no escribirías nada para competir con él de todos modos ...
TJ Crowder
3
En lugar de escribir 'aquí' es mejor nombrar al autor: 'Betsy Rosenblatt, Harvard Law School'.
Nicolai Reuschling
3
@Nicolai Reuschling: lol :)
Scott Whitlock
44
@TRiG: "No sé por qué piensas que es gracioso". - Quizás eso es porque no tienes sentido de la ironía. ;)
Scott Whitlock
55

No soy abogado, este no es un consejo legal, y si confías en lo que digo en cualquier tipo de empresa dudosa (1) eres un idiota y (2) rechazo toda responsabilidad. Esto es lo que he escuchado y leído a lo largo de los años de personas que parecen saber.

Los jueces no juegan juegos "en teoría". No les gustan las personas que inventan formas de torcer la ley que tal vez sean aceptables en términos de análisis lógico, pero que son contrarias a la intención obvia y a cómo los jueces han dictaminado en el pasado. Nunca intentes ser demasiado inteligente con la ley si hay alguna posibilidad de que termines en un tribunal defendiendo tu interpretación.

En general, se acepta que tomar una novela y hacer una película de ella o traducirla a otro idioma está creando obras derivadas, y esas son transformaciones mucho mayores de las que estás hablando, y requieren mucha mayor creatividad. Mira esos como ejemplos; un juez ciertamente lo hará.

En los EE. UU., Ha habido casos en los que copiar un programa de forma más flexible de lo que se habla se ha considerado una infracción. En los Estados Unidos, espere que se usen como precedentes.

En otras palabras, comenzará una empresa comercial sobre una base que se considerará ilegal si alguien se molesta en mirar. No es Buena idea.

Además, si tiene algún respeto por la idea de los derechos de autor o cualquier control que un autor pueda tener sobre lo que publica, está siendo hipócrita. El código fuente estuvo disponible para su uso bajo ciertas condiciones. Estás violando la ley y la intención expresa del autor.

Ahora, los algoritmos no pueden tener derechos de autor. En los Estados Unidos, los tribunales han dictaminado que es imposible proteger una idea con derechos de autor, y cualquier cosa que normalmente tenga derechos de autor que es la única forma de expresar algo no es propiedad de derechos de autor. Por lo tanto, ciertamente puede usar el algoritmo.

Hay una manera de copiar un algoritmo a prueba de derechos de autor: el enfoque de "sala limpia", donde una persona o grupo estudia el código fuente y crea una descripción del algoritmo (con la menor cantidad posible de detalles de implementación), y otra persona o group escribe un nuevo código sin ninguna referencia a la fuente original. Cuanto más se acerque a eso, más seguro estará.

También es posible que desee considerar que, al publicar la pregunta aquí, ha publicado una posible intención de violar los derechos de autor, en una forma que probablemente se pueda rastrear hasta usted si alguien tiene el derecho legal de hacerlo (como el descubrimiento en un caso civil, o una simple investigación policial si resulta ser un caso criminal).

David Thornley
fuente
18
+1 para "También es posible que desee considerar que, al publicar la pregunta aquí, ha publicado una posible intención de violar los derechos de autor".
66
+1 Para el enfoque de "sala limpia": siempre me he preguntado cómo funcionaba.
DMan
Acabo de publicar en el foro de autores cuál es la situación y publicaré los resultados aquí.
Chris Barry
¿Cómo es un algoritmo una idea y un programa no es una idea? O, ¿cómo es un programa no una colección de algoritmos?
Scooter
16

¿Por qué no solo abrirías el código de tu puerto y dejarías que el resto de tu proyecto sea de código cerrado?

Para citar otra respuesta mía:

El código abierto funciona porque es una comunidad. Porque es mutuo. No obtienes dinero escribiendo código fuente abierto. Obtiene dinero al consumir código fuente abierto. Entonces, ¿por qué escribes código fuente abierto? Para devolver algo.

Pero desde un punto de vista más pragmático:
si el código que portó es realmente tan útil que cree que debería protegerlo para mantener una ventaja (que no tiene, porque las personas que usan Appcelerator pueden usarlo de inmediato), habrá sea ​​un puerto de código abierto tarde o temprano. Será mantenido por varias personas, será utilizado y, por lo tanto, probado por más personas y se perfeccionará aún más para incorporar los principios promovidos por el idioma de destino y para interactuar mejor con los marcos predominantes en su plataforma. Tarde o temprano, su código se verá como una mierda en comparación con él.
El código abierto es, de hecho, tu oportunidad de mantenerte al tanto. Es ganar-ganar. Si tiene suerte, incluso obtendrá mantenedores para ese código y puede centrarse en la lógica de su aplicación, que es lo que realmente hace que su producto sea único.

back2dos
fuente
1
+1 Algunos de los mejores códigos disponibles son Open Source. Pero puedo ver cómo agregar código GPL a un proyecto comercial puede ser más un obstáculo cuando eso significa un código abierto de todo el producto.
Alex Jasmin
2
El código GPL está prohibido en las aplicaciones iOS por los términos de licencia de Apple, por lo que yo entiendo.
Andrey Tarantsov
2
Bueno, parece que una cláusula en Apple ToS contradice una cláusula en GPL, por lo que, aunque no están prohibidas, parecen ser incompatibles.
Vatine
1
Si el ToS de Apple contradice la GPL, tener los derechos de autor usted mismo le permitirá liberarlo bajo más licencias, una vez bajo una licencia compatible con Apple ToS pero también bajo la GPL.
Pieter B
8

No soy abogado, ni siquiera juego uno en la televisión.

Pero creo que el problema aquí es la derivación. Si su nuevo trabajo se deriva del trabajo GPL o LGPL, entonces ese trabajo debe cumplir con los requisitos de la GPL o LGPL. Su trabajo será claramente derivado, incluso si lo reescribe completamente línea por línea en otro idioma.

TJ Crowder
fuente
Sí, pero ¿significa eso que ya no se le permite usar ese algorthim nunca más? ¿El hecho de que lo haya visto implementado en otro proyecto le prohíbe usar ese algoritmo usted mismo, a menos que pueda probar que tenía el conocimiento para desarrollar el algoritmo usted mismo a través de otras rutas de aprendizaje?
Chris Barry
44
Tampoco soy abogado, así que solo estoy adivinando. No usaría las palabras "derivado de" si escribiera su propia implementación de un algoritmo en otro idioma. No creo que la GPL se haya creado como un sistema de patentes encubierto.
Capitán Sensible
1
@ Séptimo: debe marcar el término "Sistema de patentes encubiertas" y patentar el concepto.
Mayo
2
Los algoritmos no son derechos de autor. A los efectos de la ley de derechos de autor, repetir un algoritmo no es procesable. El punto es si su programa se deriva textualmente del original o no; eso significa nombres de variables, diseño de código, etc. (La ley de patentes, sin embargo, puede o no aplicarse incluso a los algoritmos.)
Kilian Foth
1
La licencia cubre la implementación, no el algoritmo en sí. Portar la implementación a otro idioma es un trabajo derivado de la misma manera que portar Harry Potter al español sería. Eres libre de implementar el algoritmo a tu manera. Recomendaría no copiar / pegar y aprender el algoritmo que desea implementar y escribir su propia versión desde cero. IANAL
Dave Rager
5

Como dicen otros, es probable que esto sea un trabajo derivado y, por lo tanto, infringe directamente los términos de la GPL si elige hacerlo "por separado de la licencia original" (supongo que eso significa que eliminaría la GPL y usaría otra cosa, incluso de código cerrado) .

Incluso si se desliza como "legal", es claramente inmoral . El autor de un software GPL eligió una licencia que extiende las libertades a trabajos derivados. Ya sea bueno o malo, es la intención del autor , y debe respetar eso . Le dieron el código para leer y modificar, bifurcar y lo que sea, solo pidiendo a cambio que no cambie las condiciones. También es probable que tampoco se espera que pague por el software en sí.

Sé que el dinero es difícil, pero de esta forma a medida que pintas tu idea, es un robo. Claro, podría haber aprendido ese algoritmo o cualquier detalle de implementación de otra fuente, pero no lo hizo, como lo dijo usted mismo.

Si la moralidad no le concierne, recuerde que dada la naturaleza gris de legalidad de lo que está haciendo (o por hacer), es muy posible que los autores originales se contacten con Apple debido a una infracción de los derechos de autor. Hasta ahora, Apple eliminó rápidamente el software que infringía GPL. Otra posibilidad es una demanda.

Si fuera usted, consideraría GPL-mi propio trabajo (¡eso no es tan malo!) U obtener el conocimiento por otros medios.

Tamás Szelei
fuente
Parece que hay aplicaciones que son GPL (¿aplicación de WordPress?). ¿Estás diciendo que no está bien usar un proyecto de código abierto para aprender un algoritmo?
Chris Barry
No, no estoy diciendo eso. Me refería a la idea de OP de traducir las mismas líneas a un lenguaje de programación diferente. Ahora, ¿dónde termina la derivación y dónde comienza el trabajo original? Esta no es una pregunta fácil, pero estoy bastante seguro de que simplemente volver a implementar el mismo algoritmo sin modificaciones es un trabajo derivado.
Tamás Szelei
Sí, no es una pregunta fácil. También sería interesante saber cuánto cambio sería suficiente para no ser ilegal. ¿Cambiar nombres viables, espacios en blanco? Se siente un poco tonto ya que esas cosas serían muy fáciles de cambiar, especialmente si entiendes el código y puedes hacer buenos nombres alternativos.
Chris Barry
Por cierto, el código está bien comentado, por lo que es realmente fácil captar lo que está haciendo.
Chris Barry
Bueno, solo usa el sentido común. ¿Usted, como programador, piensa que cambiar los espacios en blanco y los nombres de las variables es un cambio suficiente? En última instancia (en casos realistas) el tribunal decidiría sobre la legalidad.
Tamás Szelei
5

¿Qué tal intentar hacer lo correcto y no robar las ideas de alguien? Simplemente puede enviar un correo electrónico al creador del código y preguntar si puede basar partes de su proyecto fuera de las suyas. Muchas personas no tendrían ningún problema con eso. Si tienen un problema, incluso dejando de lado los problemas legales, ¿por qué querrías manchar tu reputación como profesional en la comunidad? El hecho de que esta pregunta se expresó más o menos como "¿Qué puedo hacer?", En lugar de "¿Qué debo hacer?" Es un poco preocupante.

En pocas palabras, pregunte a la persona (o personas) que escribió el código .

Morgan Herlocker
fuente
2
Se ha preguntado al autor y publicaré los resultados aquí.
Chris Barry
5

Yo tampoco soy abogado. Si le preocupa si este es un problema legal, entonces probablemente ni siquiera debería hacer esta pregunta y solo escribir la suya.

Mi opinión personal al respecto:

Si está tomando el código de JavaScript y reescribiéndolo en un idioma diferente, eso se llama portabilidad y se considera un trabajo derivado. Si está escribiendo su propia versión del software y está utilizando el código javascript como referencia para aprender cómo funcionan ciertos algoritmos, entonces probablemente esté bien.

Me equivocaría al preguntarle a un abogado.

Como anexo , la ley de derechos de autor le permite básicamente NO HACER NADA [*] con el código fuente publicado que no sea leerlo. La licencia bajo la cual lo ha liberado el propietario de los derechos de autor le permite ciertos privilegios adicionales que la ley de derechos de autor no otorga. Tomar y usar el código de maneras distintas a las permitidas en la licencia no es diferente a tomar y usar cualquier obra protegida por derechos de autor protegida por la ley de derechos de autor sin obtener el permiso del autor.

[*] Con excepciones para uso justo.

Dave Rager
fuente
1
Si es GPL, puede hacer más que leerlo. Puede hacer trabajos derivados siempre que esos derivados también sean GPL.
Zhehao Mao
Sí, eso es correcto.
Dave Rager
4

No. No es ético. Es casi seguro que es ilegal. Y si alguna vez revisara una aplicación de trabajo de alguien que lo hubiera hecho, se presentaría con prejuicios extremos.

Paul Nathan
fuente
Entonces, ¿estás diciendo que no es ético aprender cómo implementar algo de un proyecto de código abierto?
Chris Barry
44
@ Chris: No es ético crear un trabajo derivado de un proyecto de código abierto y lanzarlo a la venta, en contra de la intención del autor como lo demuestra la licencia. Si no puede adherirse a la licencia y, en cambio, la rodea ... ew.
Paul Nathan
1
No estoy tratando de evitar la licencia (por qué hice la pregunta), pero me preguntaba cuál era la situación con respecto a cuestiones como esta. ¿Existe un límite de tiempo o una cantidad de diferencia entre dos piezas de trabajo que evitarán que sea un trabajo derivado? De lo contrario, ¿parece que uno no puede usar el conocimiento que se aprende al estudiar el código fuente abierto?
Chris Barry
no hay impedimento para que vendas una aplicación basada en código fuente abierto. De hecho, la definición de código abierto (dada por la Open Source Initiative) lo permite explícitamente. Pero debe cumplir con la licencia, que es el dilema del OP. Los términos de la App Store y la GPL entran en conflicto, que es el problema aquí.
Martin Vilcans
2

Siempre codifique como si el tipo que termina manteniendo su código sea un psicópata violento que sabe dónde vive. ~ Martin Golding

No soy abogado, así que no voy a responder como tal. Además, muchas otras personas que no son abogados ya han ofrecido sus opiniones sobre las ramificaciones legales de su idea. Y me saltearé el debate de moralización / ética.

Si yo fuera usted, estaría más preocupado con las ramificaciones como desarrollador. Es una cosa de respeto. Autoestima, especialmente.

Claro, todos buscamos "¿Cómo d'ya {implementación} en {especificación}?" de vez en cuando. ¿De ahí vino Stack, amirita? Y así es como todos nosotros encontramos aquí, ¿verdad? Eso no es de lo que estoy hablando porque no es de lo que estás hablando.

Si combino el golpe de genio + esfuerzo heroico = resultado que vale la pena presentar a la comunidad de desarrolladores como una oferta de código abierto en primer lugar, y a la gente le gustó lo suficiente como para usarlo, me caería en la adulación. Estaría a lo grande. Como John Reisig o Mark Story. Pequeño yo. ¿Y luego apareció un tonto y repitió mi contribución en línea para que puedan ofrecerla comercialmente o nativa en su aplicación comercial? Caer muerto.

El código es como escribir a mano. No puede cambiar una aplicación más grande que una caja de fósforos lo suficientemente significativa como para que otro desarrollador legítimo no pueda diferenciar los dos lado a lado y decir "Espere un minuto ..." Como desarrollador, me avergonzaría demasiado la posibilidad de que mis compañeros , mis colegas, personas a las que respeto y cuyo respeto anhelo, alguna vez descubrirían que he sacado el código de alguien. Sería un hazmerreír. Porque esa es una copia épica del script de pasta kiddie bs. ¿Realmente quieres deslegitimarte a los ojos de tus compañeros? Jacking code es una buena manera de comenzar.

Y como desarrollador, considera esto: si esa era mi aplicación, y descubrí que la usaste de tal manera que te preocuparía ser demandado, ¿qué pasa si decido al demonio demandarte, estás haciendo un montón de dinero? gracias a mi código de todos modos, ¿por qué no debería golpearte donde duele, tal vez recuperar algo de eso? ¿Cómo SABES que no soy un adolescente o poseo un temperamento y un conjunto de habilidades aterradoras? Sal de mi camino a pwn r00 [en ur b0xen, por así decirlo. Dado que el uso de mi aplicación me mostraría que yo> tú (base: podría escribir lo que solo puedes conectar). No sería la primera vez.

OpenSorceress
fuente
2
Realmente me gusta esta respuesta. Creo que el problema es si puedes usar el código como un punto de aprendizaje y luego volver a implementarlo. Creo que se trata de un script de 200 ~ LOC, por lo que no es tan complicado. Realmente quería comenzar con un ejemplo de trabajo para mis aprendizajes, por lo que parecía tener sentido comenzar desde allí. Si escribiera todo en psudocódigo y GPL, ¿mi puerto me pondría en una posición razonable? Realmente creo que el título de la publicación ha provocado el debate más de lo que esperaba.
Chris Barry
Re: provocando debate, considere la naturaleza de la pregunta: un desarrollador profesional vierte su corazón y alma en su oficio, lo quiera o no. Horas de mi tiempo, cubos de sangre, sudor y lágrimas porque la naturaleza del software es ser una bestia. Y además de eso, nuestro trabajo es tan difícil que las contribuciones realmente excelentes al código abierto (js libs, frameworks php, etc.), en este punto, ¿quién de nosotros no confía en el código abierto para mantener nuestras cabezas fuera del agua, profesionalmente? ? Entonces, esta pregunta como esta es profundamente personal para todos nosotros, nos demos cuenta o no.
OpenSorceress
Dicho esto, aprendí la mayor parte de lo que sé de los magos de código abierto como John Reisig y Mark Story y su pandilla de niños genios. JQuery es mi pequeño amigo. CakePHP es mi pan y mantequilla. No hay nada de malo en esto. De ahí la diferencia entre jacking y portado. De esto es de lo que estamos hablando cuando decimos que nos paramos sobre los hombros de gigantes.
OpenSorceress
0

No puede hacer trabajo derivado de trabajo derivado de trabajo derivado ... y esperar que no sea trabajo derivado. Puede volverse irreconocible, pero eso es otra cosa. Y puede comenzar desde cualquier texto y, por serie de cambios, obtener cualquier texto (por ejemplo, eliminar el primero, insertar el segundo), de modo que sea posible no significa que se haya realizado. Por lo tanto, no es importante si algo es posible, sino si realmente sucedió (solo imposible, obviamente, no sucedió)

Moraly hablando: Aprender de cualquier cosa que puedas (legalmente) está bien, pero debes reconocer las fuentes. el descanso es legalidad.

IANAL, pero no creo que haya hecho nada malo si: 1) Aprendí de la implementación de código abierto 2) Implemente el mismo algoritmo (incluso en el mismo idioma) al hacer esto, grandes porciones naturalmente se volverán totalmente diferentes, y algunas lo harán ser realmente similar Si esas partes similares son cosas en las que ambos lados siguieron la misma práctica de codificación y, por lo tanto, no pueden ser diferentes, entonces estas partes no son, por lo tanto, no con derechos de autor. P.ej. si la clase tiene dos campos de Cadena privados y tienen captadores y definidores, lo único interesante es que esta clase tiene dos propiedades de lectura / escritura, no implementaciones de captadores y definidores.

user470365
fuente
0

Si reescribe cada línea individualmente, puede o no estar "copiando" las líneas.

Pero está copiando textualmente el orden, la estructuración general y la inclusión de las líneas. En otras palabras, el tipo de cosas que hacen que el trabajo sea un "todo".

Estás copiando la parte que dice "esta línea debería ir aquí, esta línea debería ir allí". Esta es una gran parte del algoritmo general.

Además, cuando se inicia un proyecto, nadie sabe qué incluir, qué cosas deben considerarse más o menos importantes, cómo estructurar y componer los algoritmos. Esta información necesita ser producida y diseñada en algún momento. Pero no lo necesitarías, porque lo estarías "copiando".


Como ejemplo:

Si tengo un conjunto {a, b, c, d, e, f}.

Puedo crear una lista ordenada de ellos, [f, e, c, b, d, a]. Debe decir que he agregado alguna información a la lista, conocida como pedidos , que no estaba presente en el conjunto desordenado. Dependiendo del tamaño de la lista, esta información puede ser muy específica y difícil de encontrar.

Ben Jones
fuente
-1

Es como cualquier otra cosa: no puedes desaprender lo que has aprendido, visto, leído ... pero lo que puedes controlar es cómo lo usas ...

Dos cosas sobre este asunto:

  1. Al igual que la mayoría de las estipulaciones de licencias para Open Source Code ... hacer un centavo en él es totalmente genial, hacerlo "pseudo" cerrado es genial, pero el problema es 'crédito'. He comprado MUCHAS secuencias de comandos que tienen 'créditos' (URL del blog, código del sistema operativo utilizado ..., etc.), pero el problema es que usted está abiertamente (sin esconderse) dando los créditos / felicitaciones a las creaciones de alguien (de nuevo, a la gente no le importa si lo hace ... muchas veces las personas NO dan crédito (violando así las estipulaciones de tipo GPL) por temor a que las personas se den cuenta de que pueden obtenerlo en otro lugar ... pero si su código es abiertamente dar crédito y aún puede estar solo (ya sea que la contribución de SU código sea cerrada / abierta), entonces a la gente no le importará.

Lo que encuentro como desarrollador es que la gente no quiere dar crédito, cerrarlo para imitar a un gran desarrollador / codificador, con el pretexto de ganar dinero con los esfuerzos de otra persona ...

así que me estoy desviando del # 2 ...

  1. "intención" es casi (virtualmente) siempre el caso ... ¿puede pararse frente a un juez (digamos que fue demandado, llevado a la corte o se le pidió que explicara sus acciones al respecto) y declarar claramente sin murmurar y con distinción posición sobre el tema: por qué tomó la decisión de ocultar / cerrar la parte de 'código abierto' de su código, entonces esto no debería ser un problema.

mis 2 peniques :)

Lo curioso es que la mayoría de las personas piensan que han inventado una "idea específica", cuando de hecho, la "idea" probablemente ya ha sido lanzada en forma de servilletas, papel, codificación, internet, blog, etc ...

Entonces, si bien puede ser nuevo para usted, especialmente porque lo ha visto en el sistema operativo de otra persona, probablemente se use en otros trabajos del sistema operativo del que derivaron su trabajo del sistema operativo ... y, en última instancia, probablemente se use en otro lugar en línea ... . eso ni siquiera tiene un problema de licencia / copyright declarado ... en cuyo caso puede copiar de esa fuente ... modificar, cambiar, eliminar, agregar ... (aunque copiaría / url para rastrear dónde lo tienes para demostrar que lo tienes legítimamente) al código como quieras.

Creo que es sorprendente en 'code-land', especialmente cuántas veces he llegado a encontrar que mi código 'astuto' ya estaba escrito (aunque no tan bien ... eso sí, lol) en 2003 en la búsqueda de Google de alguna persona geek rango # 1,239, sitio web que hicieron cuando estaban en la escuela de posgrado, simplemente creando funciones para diversión y uso gratuito. :)

El punto es ... dar crédito, no eludir el problema, y ​​cuando todo lo demás falla ... o en caso de duda, PREGUNTE al OS original por derechos de uso ... ¡sí! ¿Cuándo nos volvimos tan arrogantes que no podemos simplemente pedirle a alguien que use su desmalezadora, cizalla, cortacésped, ... y, oh sí, una función genial que hicieron!

Ok, fueron 3 peniques ...

William Ortell II
fuente
1
El problema es que está tratando de evadir los términos de la licencia original.
Paul Nathan
-4

¡Dale al hombre un descanso!

  1. Si se presentara una queja legal sobre él, eso significaría que alguien tendría que tener acceso al código y LEERlo. ¿Qué pasa si el software está compilado?

  2. Siempre podrá recurrir a su ignorancia en el momento de los hechos. ¿No se supone que uno tiene buena fe antes de ser juzgado culpable?

  3. Aprender no es copiar. Encontrar inspiración en algunos trabajos existentes definitivamente tampoco es copiar. Entonces, ¿qué pasaría si aprendiera de una pieza de software la función de cada línea de código y decidiera usar los principios de los resultados para mejorar eso y hacer un software que sea mejor, más simple y más ágil? No estoy copiando en mi humilde opinión.

Esos fueron mis 2 centavos. Ahora es el turno del primer pecador que tira la piedra ...;)

Breakerfall
fuente
3
Para el n. ° 1: hasta que el juez cite su código fuente y usted sonríe tímidamente ante el jurado cuando vean su "reescritura".
Jarrod Nettles
2
Para el n. ° 2: la infracción de derechos de autor es normalmente un asunto civil, por lo que legalmente no existe tal cosa como "culpable". Si la preponderancia de la evidencia indica que se infringió el OP, eso es todo lo que se necesita. Para el n. ° 3: Eso no es lo que decía la pregunta original.
David Thornley
1
(1) No es difícil detectar un plagio flagrante sin ver el código fuente. Además, aquí no tenemos la costumbre de aconsejar a las personas sobre cómo salirse con la suya con actos ilegales y poco éticos. (2) Ignorantia juris non excusat (la ignorancia no es una defensa ) (3) Reescribir línea por línea no es aprender. Reescribir línea por línea definitivamente no es solo encontrar inspiración tampoco. Es un plagio flagrante, simple y llanamente. No voy a repetirlo todo aquí, pero hay un montón de documentos legales y precedentes que respaldan esto.
Greg Jackson
Bien, si no reescribí línea por línea, pero entendí el algoritmo y luego lo volví a implementar a mi manera. Es decir, una operación de sala limpia de un solo hombre. ¿Eso es diferente? Si no es así, ¿no tengo permitido aprender de ningún proyecto de código abierto?
Chris Barry
44
@Chris El objetivo de una operación de sala limpia es que las personas que implementan el algoritmo no han visto el código fuente original en absoluto. No existe una "habitación limpia de un solo hombre".
Adam Lear