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 --------
fuente
Respuestas:
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.
fuente
De acuerdo con Betsy Rosenblatt, de los Fundamentos del derecho de autor de la Facultad de Derecho de Harvard :
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.
fuente
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).
fuente
¿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:
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.
fuente
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.
fuente
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.
fuente
¿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 .
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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:
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 ...
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 ...
fuente
¡Dale al hombre un descanso!
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?
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?
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 ...;)
fuente