¿Las interfaces y las firmas de métodos están protegidas por derechos de autor?

12

Por ejemplo, ¿es una infracción de derechos de autor si escribo una clase llamada Random con exactamente el mismo propósito y firmas de método que la clase .Net System.Random de Microsoft? ¿Hace una diferencia en qué idioma está escrito? En este caso, quiero escribir una clase aleatoria para usar en ActionScript, que carece de una clase PRNG incorporada incorporada.

Si alguien tiene buenos enlaces o sugerencias de referencia para comprender qué aspectos del software están protegidos, eso también es genial. Y sí, sé que este no es el lugar para un asesoramiento legal "real". Si alguien va a la corte señalando un tablero de mensajes público como precendencia, avergüéntense.

    
pregunta Joshua Honig 30.09.2011 - 04:23

4 respuestas

11

Creo que mirar la relación entre Mono y Dotnet responde a esta pregunta. El equipo de Mono puede hacer uso de las definiciones de los métodos o la interfaz pública, pero tienen que volver a implementar los elementos internos. Sin embargo, el caso de Android v Oracle presenta otros puntos que hacen que esta distinción obvia sea un poco más confusa. En el caso AvO, la mayoría de los puntos que se llevan a juicio son patentes relacionadas con la máquina virtual, las interfaces de la biblioteca no han sido un punto de discusión. El único código que se ha resaltado son ejemplos en los que parece que, en cierta medida, se copiaron los elementos internos.

    
respondido por el mP01 30.09.2011 - 04:43
4

Hubo una pregunta similar sobre los esquemas de base de datos: ¿Copiando el esquema de la base de datos de un competidor? Respondí allí que copiar todo el esquema probablemente sería una infracción de derechos de autor, dependiendo de la escala de la copia, apreciado por un juez.

Incluso si su pregunta es similar, responderé todo lo contrario: usted puede copiar firmas de métodos. ¿Por qué?

De hecho, las firmas de métodos provienen del sentido común.

  • En primer lugar, si tomamos un ejemplo extremo, Microsoft no puede proteger el nombre Random y demandar a todos los que usarán la palabra Random en cualquier aplicación.

  • En segundo lugar, ¿qué estás tratando de hacer exactamente? Reimplementando .NET Framework? ¿Por qué? No hay necesidad de reinventar la rueda . Si sabe cómo hacerlo mejor, más intuitivo, etc., es probable que venga con mejores nombres de clases y métodos, una mejor organización, etc. Si intenta copiar la estructura de .NET Framework al puerto a otro idioma , entonces usted no es un competidor directo de Microsoft , por lo que no tienen motivos serios para demandarlo (dicho esto, lo demandarán si copia la fuente). código en sí). En realidad, incluso se beneficiarán de ti: copiar dicha estructura en otros marcos no solo mostrará el éxito de .NET Framework, sino que también facilitará que los desarrolladores de .NET trabajen con otros idiomas y que los desarrolladores de otros idiomas aprendan .NET.

  • En tercer lugar, tienen cosas más serias que hacer que demandar a todos los que copiarán los nombres de los métodos y clases de .NET Framework.

Ahora, si su intención es copiar todo el .NET Framework y hacer un producto que será utilizado por muchos desarrolladores, consulte a un abogado antes de tomar riesgos.

Un ejemplo:

Estaba totalmente infeliz con la vergonzosa limitación de 259 caracteres en las rutas de archivo en .NET Framework y la imposibilidad de utilizar transacciones de código en el nivel de archivo. Así que implementé mi propia clase File con los métodos que funcionarían como se esperaba para cualquier ruta, no solo las más pequeñas e implementé transacciones. En la primera versión, decidí clonar los nombres de los métodos en las clases File y Directory . ¿Me demandaría Microsoft por hacer eso? Lo dudo.

En todos los casos, en la segunda versión vine con una nueva sintaxis, new File(string fileName) , que me parece mucho más intuitiva . La clonación de nombres de métodos a veces es útil, pero hay que tener una buena razón para hacerlo.

    
respondido por el Arseni Mourzenko 30.09.2011 - 04:43
4

La protección de derechos de autor protege la "expresión artística" de una obra, no la forma técnica (para citar wikipedia ) .

La protección de derechos de autor no protege los hechos .

Entonces, la pregunta es: ¿es una API o una interfaz un "hecho" o una expresión artística? Para API simples que son solo una lista de formas de obtener números aleatorios y los diferentes tipos de números aleatorios, la API es probablemente más como un hecho. Pero, pude ver que hay una interfaz muy sofisticada (ya sabes, a las que miras fijamente por un minuto, y luego decir "¡Ahh! Eso es impresionante") podría considerarse una "expresión artística" digna de protección.

Aquí hay un artículo reciente sobre Oracle y Google se pelean por los derechos de propiedad intelectual de la API sobre este tema que se debate en los tribunales (de EE. UU.)

No soy abogado, y esta publicación no debe interpretarse como asesoramiento legal. Ni siquiera puedo escribir exenciones de responsabilidad muy bien.

    
respondido por el P.T. 30.09.2011 - 09:15
0

Puedes tomar los aspectos puramente funcionales, pero no puedes tomar los aspectos expresivos. El nombre de la clase, los nombres de los métodos y las firmas son puramente funcionales. Los necesitas para interoperar. Los nombres de parámetros y las macros de encabezado podrían considerarse expresivos. Por ejemplo, en su caso antimonopolio de Windows, Microsoft argumentó que nada le impedía a un competidor replicar las API de Windows y crear su propia plataforma en la que se ejecutarían las aplicaciones de Windows.

    
respondido por el David Schwartz 30.09.2011 - 09:51

Lea otras preguntas en las etiquetas