6 votos

¿Es legal publicar el código de un algoritmo publicado?

Digamos que quiero implementar un algoritmo basado en un artículo o libro y publicarlo bajo una licencia no propietaria pero no necesariamente comercial (por ejemplo, en un blog).

¿Es legal hacer esto?

Sé que una respuesta general que cubra todo no puede ser ni sí ni no, por lo que quiero saber adicionalmente cómo averiguar rápidamente si esto es legal o no. Algunos ejemplos serían geniales. Aquí hay algunos ejemplos para la discusión

  • Apache Commons Math declaró en su guía del desarrollador que todos los desarrolladores deben comprobar si hay problemas de licencia antes de comprometerse y enlazar con Recetas numéricas como ejemplo. Es la primera vez que veo una advertencia de este tipo. No tengo acceso a este libro (ni en línea ni en formato de árbol muerto). ¿Qué aspecto tiene el aviso legal?
  • Los trabajos enlazados para su descarga en la página del autor no suelen contener un aviso legal. ¿Significa esto que los algoritmos son... gratuitos?
  • Según la wikipedia, Random Forest es un término registrado. ¿Significa eso que nadie puede implementar este algoritmo? Se le puede dar otro nombre (como Good-Luck-Forests), ya que reproducir el algoritmo exacto dado que no todos los detalles se publican en papel (normalmente) es casi imposible.
  • ¿Qué pasa con los documentos en los que el acceso está restringido y no lo está? Véase, por ejemplo, el documento "Alternativas a la desviación absoluta de la mediana" publicado en el Journal of the American Statistical Association, pero que puede ser comprado ahora a través de JSTOR o descargarse de esta página . ¿Infringió la ley Frank Masci, el autor de este artículo?

Se pueden encontrar muchos documentos con o sin acceso restringido en Internet.

Descargo de responsabilidad: Ninguna respuesta debe ser tratada como un consejo legal al que se pueda recurrir ante el tribunal.

0 votos

No conozco la ley exacta al respecto pero. En la ciencia, la mayoría de las veces se depende de otras publicaciones. Cuando se trata de tu resultado eres libre de publicar en el medio que prefieras. Por lo visto, debes escribir tu propia aplicación, no copiar y pegar. Por supuesto, se necesita una cita, de lo contrario es un plagio o una deshonestidad intelectual.

0 votos

@Piotr ¡La citación es obligatoria! Ciertamente respeto el trabajo de los autores y no quiero estafarlos. De ahí la pregunta...

0 votos

@steffan: Como está publicado en un libro/revista, yo no me molestaría y me limitaría a poner mi propia implementación en mi página web (a no ser que esté protegida por una patente). Supongo que el estado de la revista (es decir, acceso restringido/abierto) tiene un poco que ver con la cuestión. En otro orden de cosas, a veces las revistas te permiten publicar una copia en tu sitio web. Si no es así, normalmente la gente sigue haciéndolo, con un beneficio para la sociedad.

6voto

Nathan Long Puntos 30303

Como mencionó el OP, este no es probablemente el lugar adecuado para el asesoramiento de expertos en cuestiones legales, pero todos tenemos que vivir con cosas como las licencias de software y tratar de no meterse en problemas, así que aquí hay algunas cosas que he aprendido.

  • En la página de inicio de NR puede encontrar la información sobre la licencia y la información sobre redistribución . Esto es únicamente una derechos de autor cuestión relativa al código fuente proporcionado en los libros. Los algoritmos en sí no tienen derechos de autor y, a mi entender, no puedes meterte en problemas por implementar y compartir un algoritmo que resulta estar en NR a menos que tu implementación sea derivado del código fuente distribuido con NR.
  • Hmm, nada es gratis ... Casi siempre hay un titular de derechos de autor. Si el artículo se publica, los derechos de autor pueden ser transferidos a la revista, pero en algunos casos el autor conserva el derecho de distribuir el artículo a través de su página web, por ejemplo. La ley de patentes es un juego de pelota completamente diferente, pero en realidad no conozco ningún ejemplo relacionado con algoritmos estadísticos y de aprendizaje automático en el que la protección de la patente del algoritmo haya sido un problema. Por lo tanto, para mí, el aspecto más importante con respecto a los algoritmos en los artículos, ya sean publicados en revistas o en la página web del autor, es no violar los derechos de autor.
  • Una marca comercial es una tercera cosa. A mi entender, sólo protege el nombre o el símbolo. Así que no se puede implementar un programa y llamarlo "Random Forests", pero sí se puede implementar y distribuir el algoritmo del bosque aleatorio.
  • No tengo ni idea de si Frank Masci infringió la ley, pero es un problema de derechos de autor, tal y como yo lo veo. ¿Quién tiene los derechos de autor y qué derechos ha cedido el titular a otros?

Desde mi punto de vista, aunque las violaciones de los derechos de patente pueden ser graves, la cuestión más importante para el estadístico medio es la de los derechos de autor. Si se implementa un algoritmo de un documento desde cero y se cita el documento, no veo ningún problema obvio con la distribución de la implementación, independientemente del medio. Pero podrías pensar en cuál es la mejor manera de utilizar tus derechos de autor sobre la implementación. No sé nada sobre cómo se protegen los derechos de autor en los blogs, pero si los derechos de autor se transfieren automáticamente al propietario del blog, podría ser, en principio, una mala idea publicar horas de valiosas implementaciones en un blog y, por tanto, ceder efectivamente los derechos de autor del trabajo a otra persona.

Si, por el contrario, modificas una implementación existente, podrías tener problemas con la licencia de copyright. Si la licencia de la implementación original es GPL La licencia de redistribución debe ser GPL. Por lo tanto, tiene que distribuir de manera que la distribución pueda estar bajo GPL. Esto también funciona a la inversa. Si quiere distribuir una implementación bajo GPL pero tiene que depender de una biblioteca que no se distribuye bajo la licencia GNU, entonces no podrá incluir la biblioteca en su distribución $-$ incluso si la biblioteca es de código abierto y "libre". La biblioteca podría distribuirse bajo una licencia de copyright incompatible con la GPL.

0 votos

+1 Muchos puntos buenos aquí. En cuanto a los algoritmos específicos, añadiría que me he encontrado con la incertidumbre respecto a C4.5 y C5.0. No utilizo ninguno de los dos, pero recuerdo haberme encontrado (hace muchos años) con personas que tenían dudas sobre si podrían reimplementar los algoritmos.

0 votos

@Iterator, gracias por poner este ejemplo. Tal vez deba señalar también que mi vida real transcurre en una jurisdicción en la que las patentes de software son esencialmente inexistentes.

0 votos

Vaya, ¿es eso factible? ¿Hay lugares a los que los abogados no pueden llegar? Un lugar con acceso a Internet pero sin patentes de software. ¿Cómo ha ocurrido eso? :)

4voto

Nikos Alexandris Puntos 764

El ejemplo clásico de un algoritmo patentado es RSA, por cierto. Las normas sobre patentes de algoritmos son bastante nebulosas y cambian bastante. En la práctica, las implementaciones están bien, pero la distribución (incluyendo la comercialización y la liberación libre) es donde uno tiende a entrar en conflicto con las cosas. Es más, la liberación puede estar limitada, independientemente de las patentes y los derechos de autor: los estadounidenses no pueden exportar el código fuente de los algoritmos criptográficos a ciertos países prohibidos, por ejemplo, y lo mismo puede ocurrir en muchos otros países.

Hay que distinguir entre derechos de autor y patentes. Es poco probable que los derechos de autor le afecten, y creo que lo primordial es considerar si puede aplicarse una patente (y no es necesario que ya esté patentado: algunos países conceden cierto tiempo después de la divulgación para que el innovador pueda patentar su obra). Los derechos de autor suelen afectar a los derechos de distribución de los materiales originales (así, no se puede volver a publicar un artículo: la revista o el autor son los propietarios de los derechos de autor), las patentes afectan a la distribución de la aplicación de la idea. Si no hay una patente y el tiempo para patentar ha transcurrido, entonces deberías estar bien.

He dicho que las patentes son nebulosas: en algunas jurisdicciones no es tan fácil patentar algoritmos. En otras sí lo es, pero las leyes y las interpretaciones de esas leyes están cambiando.

Espero que esto le ayude a enfocar su análisis. Yo no me preocuparía por el enfoque caso por caso (por ejemplo, si se publica en este tipo de revista o en aquel tipo), y en su lugar me centraría en quién tiene los derechos de patente y cómo están ejerciendo esos derechos.

También es cortés hablar con el innovador original. Si tienen intención de patentar o quieren colaborar, es mejor que trabaje con ellos. Pueden ayudar a sugerir ideas para implementaciones y pueden animar a otros a utilizar su implementación como referencia.

0voto

Tao Zhyn Puntos 1036

Tengo entendido que la publicación descalifica una invención para ser patentada. Por tanto, cualquier algoritmo que se haya publicado puede utilizarse libremente. Esto no se aplica al código en sí. Si aprendes el algoritmo, lo entiendes, se lo enseñas a otra persona sin dejarle ver el código en el original, y lo implementa, está completamente libre de cargas. Ese es el estándar de oro de la implementación en sala blanca (utilizada para la ingeniería inversa legalmente segura), pero si lees el documento y escribes tu propia versión, probablemente estés bien.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X