¿Ventaja de ser el primero en copiar un nuevo algoritmo? [cerrado]

18

Digamos que he creado un nuevo algoritmo (DSP). ¿Tendré alguna ventaja si abro el algoritmo de código abierto bajo licencia copyleft (GPL, etc.)? Por lo que sé acerca de las licencias, esto debería impedir que las personas usen exactamente el mismo código que el código cerrado, pero ¿podrían "reescribir" el algoritmo como código cerrado?

Nota: Realmente no sé si el algoritmo es nuevo, pero aún no se ha lanzado como código abierto. Como soy de la Unión Europea, ¿debo buscar patentes de software si quiero copiarlo a la izquierda?

Kozuch
fuente
21
Estoy votando para cerrar esta pregunta como fuera de tema porque está pidiendo asesoramiento legal. Solo puede ser respondido correctamente por un abogado de PI para una jurisdicción específica.
1
Recomiendo investigar la historia de la ingeniería inversa de caja negra. Si bien no es lo mismo que está preguntando, hay mucha información interesante sobre leyes de propiedad intelectual, contratos, ingeniería inversa, patentes, etc., que son relevantes.
2
@Snowman: como puede ver aquí, meta.programmers.stackexchange.com/questions/1655/… , no todas las preguntas sobre temas legales generalmente están fuera de tema. Supongo que, al menos para las partes esenciales de esta pregunta, nuestra comunidad tiene algunos conocimientos para compartir. Aunque estoy de acuerdo en que para una respuesta en profundidad probablemente se necesite un abogado.
Doc Brown
2
Esta pregunta se hizo hace 8 horas y ya tiene 1880 visitas. Esto parece una pregunta muy popular y necesaria. Me alegra que alguien lo haya preguntado.
Gabriel Fair
2
Si bien esta pregunta puede ser popular e interesante, las respuestas "discutibles" a continuación ilustran exactamente por qué este tipo de preguntas de legalidad no se ajustan bien al PSE y por qué están fuera de tema aquí.
Eric King

Respuestas:

27

Las restricciones en las licencias copyleft como la GPL se aplican a las versiones modificadas de su código, así como a su código original. Por lo tanto, no pueden modificar el espacio en blanco o el estilo de llaves y luego eliminar su declaración de licencia.

Sin embargo, no puede patentar / copyright / copyleft / lo que sea un "algoritmo" en su sentido más abstracto. Puede poner una licencia en su implementación favorita de quicksort, pero no puede obtener la licencia de quicksort en sí. Si alguien lee su código solo para aprender el algoritmo, y luego reescribe el algoritmo desde cero a su manera, está bien.

Hasta donde sé, no hay ninguna "ventaja" en ser el primero en publicar un algoritmo que no sea posiblemente algo de fama y reputación (en el mundo real) si es particularmente notable. Ser el primero en copyleft definitivamente no te aporta nada, pero el hecho de que alguien lo haya copiado será visto como un beneficio para la comunidad de software libre.

Ixrec
fuente
27
Esta respuesta contiene información correcta y discutible, así que tenga cuidado. AFAIK, las patentes se han intentado aplicar a piezas de software mucho menos importantes, y se han intentado con ideas abstractas, no solo implementaciones. Esto depende mucho de la ley local y es muy diferente incluso en diferentes estados de Europa. Publicar un nuevo algoritmo como el primero podría crear un caso para la "técnica anterior" ( en.wikipedia.org/wiki/Prior_art ) cuando alguien más tarde intenta patentar la misma idea en una implementación diferente.
Doc Brown
10
Oracle v Google no se trataba de la implementación de Java; todo lo contrario, se trataba de la API. Sería muy reacio a decir que los algoritmos no son patentables en general, especialmente en los Estados Unidos.
sapi
99
¿No se pueden patentar algoritmos? ¿Ya nos hemos olvidado de las patentes GIF y MP3?
Andrew Medico
2
@Bakuriu: perdiste el punto. Tanto los titulares de patentes GIF como MP3 demandaron a otras compañías por usar algoritmos (o al menos amenazaron con demandarlos), no porque esas otras compañías copiaron una implementación específica.
Doc Brown
44
@AbhinavGauniyal: patentar una forma de hacer algo es perfectamente normal. Se llama una patente de proceso / método. Por ejemplo, si tiene una nueva forma de fabricar parachoques, puede patentarlo. No parachoques de automóviles, el proceso de fabricación de parachoques de automóviles. El proceso de patentes es uno de los pilares de las patentes de software. Pero la idea de las patentes de software choca con otro aspecto de la ley de patentes: no se pueden patentar fórmulas matemáticas (al menos en los Estados Unidos). Y se puede argumentar que los algoritmos forman parte de las matemáticas puras que llamamos "informática".
slebetman
12

Si desea evitar que una cosa patentable sea patentada y luego "cerrada" por la comunidad en general, puede hacer una revelación defensiva. Cuis Smalltalk, por ejemplo, hizo esto con algunas nuevas técnicas anti-aliasing:

Frank Shearar
fuente
3
Si libera algo, de jure ya no se puede patentar porque existe la técnica anterior. De hecho, las oficinas de patentes en todo el mundo generalmente no se preocupan lo suficiente como para investigar esto (porque no obtendrán dinero para eso) y permiten casi todas las patentes que no parecen demasiado sospechosas. Si el titular de la patente demanda a alguien, la patente no se mantendrá en los tribunales (si hay un proceso judicial. Cuestan mucho dinero ...)
Josef
2
@Josef No es del todo cierto, la mayoría de las oficinas de patentes (ciertamente cierto en los EE. UU. Y la UE) ahora son las primeras en presentar su solicitud, pero esto solo es importante para las invenciones que ocurren juntas. Si alguien publica (pero no patenta) un algoritmo, otra persona podría patentarlo al día siguiente y posiblemente salirse con la suya. Los problemas legales específicos que lo rodean son complejos, y definitivamente se debe consultar con un abogado de propiedad intelectual si se trata de lograrlo.
@Snowman para evitar la patente al día siguiente, ¿ayudaría publicar en forma encriptada y luego publicar la clave unos meses más tarde?
trichoplax
1
@trichoplax No sé para ser honesto. Intento mantenerme al día con estas leyes, pero este es un cambio reciente en los EE. UU. Donde vivo. Si intentara hacer esto, consultaría con un abogado de propiedad intelectual que sepa más. Según tengo entendido, hay una gran área gris y alguien que se especialice en la ley necesitaría guiarme.
Solo para aclarar, tenía la intención de que mi respuesta hablara específicamente sobre ideas, algoritmos, etc., porque muchas personas comenzaron a hablar sobre el código fuente mientras el OP preguntaba sobre algoritmos . Si tiene dudas (y debería estarlo), consulte a un abogado de PI.
Frank Shearar
9

Veo información valiosa en las otras respuestas y los comentarios, pero también información errónea, así que trato de dar un resumen y agregar algunas cosas adicionales.

¿Tendré alguna ventaja si abro el algoritmo de código abierto bajo licencia copyleft (GPL, etc.)?

Al publicar el código fuente de una implementación de su algoritmo bajo GPL (supongo que eso es lo que quiso decir), obtiene la ventaja de demostrar que su algoritmo funciona según lo previsto, y todos pueden inspeccionar su código fuente para asegurarse de que no contenga nada "inusual" como errores graves o malware. Tal vez obtendrá algunos contribuyentes para mejoras adicionales. Y dado que usted es el titular de los derechos de autor, aún puede publicar o vender su implementación a otros bajo una licencia diferente.

Una pregunta diferente es si le ofrece alguna ventaja ser el primero en publicar ese algoritmo. Al ser el primero, podría intentar evitar que otra persona obtenga una patente sobre ese algoritmo, ya que su implementación servirá como una especie de prueba de que usted es el inventor. Pero como @Snowman ha señalado correctamente en un comentario, debido a la política de primero en presentar (en lugar de primero en inventar) de muchas regulaciones de patentes europeas, puede que en realidad no funcione.

Por lo que sé acerca de las licencias, esto debería impedir que las personas usen exactamente el mismo código que el código cerrado, pero ¿podrían "reescribir" el algoritmo como código cerrado?

Bloqueas a las personas para que no publiquen tu código fuente o modificaciones de este en código cerrado, no para usarlo dentro de una organización comercial. Impide que las personas lo publiquen como código abierto o cerrado con una licencia diferente a la GPL. Sin embargo, no impide que las personas publiquen una nueva implementación de "sala limpia" de su algoritmo bajo una licencia arbitraria, que es una implementación realizada solo a partir de su descripción del algoritmo, sin mirar realmente el código fuente.

Como soy de la Unión Europea, ¿debo buscar patentes de software si quiero copiarlo a la izquierda?

Aunque las leyes de muchos países europeos prohíben formalmente las patentes de algoritmos puros, muchas empresas han eludido esas leyes en el pasado al declarar algoritmos específicos como "invenciones implementadas en computadora". AFAIK, las oficinas de patentes europeas no aceptaron tantas patentes algorítmicas como las oficinas de patentes de EE. UU. En el pasado, sin embargo, han aceptado miles de patentes a lo largo de los años que pueden interpretarse como patentes de algoritmos. Si esas patentes realmente se mantendrían en los tribunales es una cuestión diferente, pero alguien que quiera averiguarlo generalmente tendrá que poner esto a prueba, con todos los riesgos relacionados. Dos de los grupos de ejemplos más populares se mencionaron en los comentarios, las patentes relacionadas con la compresión de imágenes GIF y las patentes relacionadas con la compresión / descompresión de MP3, ver aquí para mas ejemplos

Entonces, si desea reducir el riesgo de ser demandado, antes de publicar un software que contenga un algoritmo específico, probablemente debería ver si hay alguien que tenga una patente sobre él, incluso en la UE.

Doc Brown
fuente
Muy buena respuesta integral. Solo tengo algunos problemas con el último párrafo: ¿Cómo se supone que buscaré patentes que podría estar infringiendo? Yo, por mi parte, no puedo deducir de su título si podrían aplicarse a mi código. Tampoco sé de un índice temático completo para ellos. La búsqueda de palabras clave no es suficiente, por lo que incluso Google es inútil, la redacción podría ser completamente inimaginable para mí. Y dadas las miles de patentes, no puedo verificarlas todas. Afaik es simplemente imposible buscar una patente que podría estar infringiendo, solo puedo esperar y ver si alguien me demanda :-(
cmaster - restablecer monica
1
@cmaster: su mejor oportunidad en Europa es probablemente el motor de búsqueda de la oficina europea de patentes, visite epo.org/searching.html
Doc Brown
1
@cmaster: se supone que debes gastar millones en abogados haciendo una revisión de patentes, al leer las patentes. Entiendo que esto incluso funciona en grandes proyectos fuera del software (imagine un auto nuevo), porque se desarrollan de una manera más "en cascada" y tienen menos ideas. Pero, por supuesto, eso no es práctico para el software, por lo que las grandes empresas a menudo solo tienen patentes con licencias cruzadas, y las pequeñas no pueden protegerse.
Blaisorblade
5

No puede "copyleft" un algoritmo. "Copyleft" se basa en la protección de derechos de autor para su exigibilidad, pero los algoritmos no tienen derechos de autor, por lo que no puede "copyleft" un algoritmo. En otras palabras, su pregunta podría basarse en una premisa defectuosa.

Los derechos de autor solo se pueden usar para proteger una implementación específica, no la idea del algoritmo. Por lo tanto, podría proteger una implementación específica de un algoritmo utilizando licencias basadas en derechos de autor (como una licencia de estilo "copyleft"), pero no evitaría que nadie más construya una implementación diferente del mismo algoritmo. En consecuencia, no hay forma de "copyleft un algoritmo".

En particular, la licencia GPL está construida sobre la base de la ley de derechos de autor. La ley de derechos de autor dice (aproximadamente): nadie puede copiar su contenido protegido por derechos de autor sin su permiso. La licencia GPL dice: Doy permiso para copiar el contenido protegido por derechos de autor (el código) bajo ciertas condiciones (las condiciones de la licencia "copyleft"). Entonces, para las cosas que tienen derechos de autor, esto permite arrancar la licencia de "copyleft" según la ley de derechos de autor existente. Pero, para cosas que no tienen derechos de autor, este enfoque es inútil. La ley de derechos de autor solo protege la expresión creativa, no las ideas. En particular, no protege los algoritmos.


El derecho de patentes es un asunto diferente. En algunas jurisdicciones, podría ser posible obtener una patente para un algoritmo. Esto dependerá en gran medida de la jurisdicción legal y posiblemente de los detalles de su situación. En términos generales, publicar su algoritmo podría ayudar a establecer la técnica anterior que impide que otros patenten el algoritmo, pero los detalles de esto son difíciles y es mejor consultar a un abogado. En general, si desea un asesoramiento sólido sobre cualquier cosa relacionada con las patentes de algoritmos, le sugiero que se ponga en contacto con un abogado de propiedad intelectual, ya que es demasiado amplio para responder en general sin conocer esa información.

DW
fuente
En mi humilde opinión la pregunta no se basa en una "premisa defectuosa", simplemente no está redactada con precisión. Estoy bastante seguro de que el OP realmente tenía la intención de abrir una implementación de su algoritmo.
Doc Brown
1
@DocBrown: El OP también está interesado en hacer cumplir una Licencia contra cualquier implementación de sala limpia de sus algoritmos (reescribir). Entonces, la interpretación de DW de la pregunta es correcta.
slebetman
3

Copyleft no tiene nada que ver con los derechos de autor o la protección de patentes. No le brinda ninguna protección a usted, el titular de los derechos de autor, que de otro modo no tendría.

Sin embargo , tiene todo que ver con la distribución . Copyleft protege a los usuarios de su código al exigirle a usted y a cualquier otra persona que use su código que distribuya el código fuente completo de su trabajo colectivo y cualquier cambio que le hagan. No tiene nada que decir sobre las protecciones de derechos de autor o patentes, aparte de otorgarle a su usuario ciertos derechos específicos que de otro modo no tendrían, como la libertad de realizar ingeniería inversa DRM en GPL3.

Robert Harvey
fuente