Derechos de autor sobre la Interfaz de programación de aplicaciones por @CarLavigne

    Rate this post

    Por estos días surgió la noticia de que un Jurado de California dictaminó que Google ha infringido el derecho de autor por emplear el lenguaje de programación Java, cuya propiedad es de Oracle. De todas maneras, no se ha podido dilucidar si el uso de este lenguaje por parte de Google ha sido justo y si además Oracle se lo permitió.

    Analizando las declaraciones del fallo se mantiene la duda respecto a qué sucederá con el copyright por haberse usado el lenguaje Java para programar, ya que Google ha argumentado que el mismo no puede tener copyright ni derechos de autor – posición a la cual adhiero por lo que expresaré a continuación- y obviamente Oracle ha dicho todo lo contrario.

    La cuestión del “uso justo” -figura jurídica existente en la legislación anglosajona [1]– a entender del jurado, determinará si le corresponde a Google responder por los daños y perjuicios ocasionados. Si el uso de Google fuera justo, la empresa no sería responsable de los presuntos daños causados a Oracle, y ésta se quedaría sin parte de los millones de dólares que reclama, pues todavía queda pendiente de resolverse qué sucederá con las reivindicaciones de patentes entre ambas compañías.

    Ahora bien, para decidir si a través del uso de las API hubo violación de derechos autorales que deban resarcirse, resulta oportuno en primer lugar conocer de qué estamos hablando, o sea qué son las Application Programming Interfaces o API?.

    Según Wikipedia la Interfaz de programación de aplicaciones o API[2] es el conjunto de funciones, rutinas, protocolos, procedimientos y/o métodos en la programación que ofrece cierta biblioteca para ser utilizado por otro software como una capa de abstracción. Son usadas generalmente en las bibliotecas (también denominadas vulgarmente «librerías»).

    Una interfaz de programación representa la capacidad de comunicación entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa un método para conseguir abstracción en la programación, generalmente (aunque no necesariamente) entre los niveles o capas inferiores y los superiores del software. Uno de los principales propósitos de una API consiste en proporcionar un conjunto de funciones de uso general, por ejemplo, para dibujar ventanas o iconos en la pantalla. De esta forma, los programadores se benefician de las ventajas de la API haciendo uso de su funcionalidad [3], evitándose el trabajo de programar todo desde el principio. Las APIs asimismo son abstractas: el software que proporciona una cierta API generalmente es llamado la implementación de esa API.

    Sin ser un especialista en desarrollo o ingeniería de software, de las definiciones detalladas en los párrafos anteriores se desprende que las API son un conjunto de herramientas que los programadores utilizan de un determinado lenguaje, en este caso el Java, para poder implementar = desarrollar un nuevo programa de software, que obviamente está basado o sustentado en dicho lenguaje por distintas circunstancias: a) de costos para no tener que programar o diseñar desde un principio, b) comerciales si a su vez ese lenguaje se ha masificado=estandarizado y por ende será de mejor accesibilidad para el consumidor en general, etc.

    La segunda pregunta es si corresponde asignarle derechos de autor a este conjunto de funciones de uso general que nos permiten al implementarlas obtener un nuevo desarrollo original con características y funcionalidades propias?. Considero que para contestarla es necesario referirse o aplicar la doctrina de los derechos de autor de la fusión.

    La «doctrina de la fusión» sostiene que cuando la idea y la expresión son uno en el mismo, o sea cuando sólo hay un pequeño número de expresiones de una misma idea, la expresión no puede protegerse por derecho de autor. En este caso, el control sobre la expresión implicaría el control sobre una idea. En términos económicos, asignarle derechos de autor a una expresión que transmite sólo una misma idea representaría otorgarle el poder de un monopolio sobre dicha idea. De esta forma, “monopolizada” la idea inicial se correría el riesgo de limitar la capacidad de otros a construir en base a esa idea.

    En otras palabras y para entenderlo mejor lo explicaré a través del siguiente ejemplo aplicable a lo que se aprecia en la realidad con respecto a un sencillo programa de hoja de cálculo.

    Supongamos que a priori hay muchas maneras de desarrollar de manera eficiente un programa de software, como por ejemplo una hoja de cálculo, y que varias empresas se disponen a desarrollar un programa X. A su vez, en ese mercado determinado los consumidores tienen preferencias para un mejor uso en general de ese programa X -dado que se trata de computadoras o dispositivos móviles que funcionan en red- que el mismo se “normalice o estandarice”, esto es que sea ofrecido por todas las empresas de software, de modo que cualquier paquete de hoja de cálculo pueda ser adquirido por los consumidores posteriores gracias a esta estandarización del programa X. Luego, a posteriori, cualquier versión innovadora y mejorada de una hoja de cálculo debe ser compatible con el estándar establecido.

    Si se aplica el derecho de autor a las especificaciones de la interfaz con la que la hoja de cálculo interactúa con otro software o hardware al ser utilizado por los usuarios, se fomentaría la creación de un monopolio que “cubra” las interfaces para programar cualquier tipo de programas de hojas de cálculo; con lo cual esencialmente se estaría excluyendo o restringiendo la sana competencia entre quienes quieran desarrollar una innovación o mejora sobre dicho programa de hoja de cálculo y/o sus funciones.

    Para concluir, en tecnología y específicamente en el mercado del desarrollo del software; los efectos de “interactuar y desarrollarse en red” –del lado de la demanda- se corresponden a las economías de escala en el que se desempeñan, por lo que para que exista una sana competencia y se avance en Innovación y Desarrollo de nuevos “diseños” todo lo que se necesita es evitar la creación de monopolios, el cual se consigue en casos específicos como éste limitando el alcance de la protección de derechos de autor a aquellos desarrollos que realmente lo ameritan.

    Fuentes:

    [1] La figura legal del «uso justo» o Fair use consiste en que se puede incorporar material protegido, siempre y cuando no sea el motivo principal de la obra, sino algo sólo meramente circunstancial.

    [2] Ejemplos de interfaces de programación son: Microsoft WMI, Microsoft Win32 API, Microsoft Framework .NET, OpenGL, OpenCL, Java EE, API for SCSI device interfacing, The Carbon APIs for the Macintosh OS, Common Object Request Broker Architecture (CORBA), Symfony para PHP, Drupal API y Django para Python, entre los más conocidos lenguajes estándar existentes en el mercado.

    [3] Ejemplo de ello es el proyecto API que se realiza a través de Open Office, dicho API proporciona un punto de entrada en el mundo del Open Office desde la perspectiva de los desarrolladores. De esta forma; Open Office ofrece un lenguaje independiente de la interfaz de programación de aplicaciones (API) que permite programar en diferentes lenguajes de programación (por ejemplo C + +, Java, Python, CLI, StarBasic, JavaScript, OLE).