- 30 de julio de 2015

Oracle vs. Google: una batalla entre gigantes

Por Tomás Henseler* (foto) – Desde hace ya casi 5 años, dos de las compañías más grandes del mundo están enfrentadas en una batalla legal que promete sacudir las bases del desarrollo del software. En el centro de la escena está el sistema operativo Android y un panorama poco favorable.


Tomas HenselerGoogle adoptó el lenguaje de programación Java para el desarrollo de aplicaciones Android, utilizando su propia versión re implementada de la máquina Virtual de Java llamada Dalvnik. Esto quiere decir que hacer aplicaciones en Android y en Java es muy parecido.

Esta similitud fue a propósito: Google quería que fuese fácil la adaptación de los programadores Java al mundo Android (lo cual dicho sea de paso, hacerle la vida más fácil a los programadores era una de las misiones de Java con su “write once, run anywhere”).

La utilización de Java en Android y en particular el uso de su API (Application Program Interface o Interfaz de Programación de Aplicaciones) es lo que se debate actualmente en la Corte Suprema de Estados Unidos.

Una API es un conjunto estandarizado de interfaces que un desarrollador utiliza para comunicarse con otro sistema. Para un desarrollador, la utilización de APIs significa no tener que reinventar la rueda para acceder a funcionalidades ya realizadas.

Para aquellos que desarrollan APIs, hacerlas públicas y de libre acceso alienta a los programadores a usarlas y crear software compatible, lo que redunda en beneficios para el usuario final. Facebook, Twitter, MercadoLibre son algunos ejemplos de compañías que exponen sus APIs para que se puedan crear aplicaciones que interactúen con estos sistemas.

La Corte Suprema de Estados Unidos debate actualmente si las APIs están sujetas a Copyright. Para que quede claro, el Juicio no es porque Google copió código de Oracle sino porque el código que produjo “copia” lo que la Máquina Virtual de Java es capaz de hacer.

¿Se puede ser dueño de una API?

En Mayo del 2012, el juez William Alsup de California entendió que las API no pueden estar sujetas a CopyRight. Entenderlo de otra manera permitiría, inadmisible y peligrosamente, a Oracle controlar “un conjunto utilitario y funcional de símbolos” que provee las bases de la colaboración e innovación con la que contamos actualmente. El juez, para llegar a este dictamen, se convirtió en un experto en Java.

Oracle apela esa decisión y la Corte Federal de Apelaciones le da la razón en Octubre del 2014, revirtiendo el fallo de Juez Alsup. El argumento de Oracle sostiene que un código funcional está a la par que un trabajo creativo. De hecho, los abogados de Oracle citan específicamente a Harry Potter en argumentación ante la Corte Federal:

Google-vs-Oracle

Ann Droid quiere publicar un bestseller. Entonces se sienta con una copia avanzada de Harry Potter y la orden del Fenix, el quinto libro, y procede a transcribirlo”. Hace una copia literal de los títulos de todos los capítulos – Desde el capítulo 1 (Dudley, dementado) al capítulo 38 (Empieza la segunda guerra). Copia el tema de cada oración, desde el primero (muy descriptivo) hasta el último y simple (“Harry Potter asintió”). Luego parafrasea el resto de cada párrafo. Apura a publicar esta versión antes que el original bajo el titulo: Harry Potter 5.0 de Ann Droid.

La imitación vuela de los estantes. J.K Rowling demanda por violación de Copyright. La defensa de Ann Droid sostiene: “Pero escribí la mayoría de las palabras desde cero. Además, esto fue un uso justo, porque copié sólo las porciones necesarias para aprovechar la base de fans de Harry Potter”. Obviamente esta defensa fallaría.

El 6 de Octubre del 2014, Google pide a la Corte Suprema de EEUU la revisión de la decisión de la Corte Federal. Acompaña este pedido un informe amicus curiae. Argumentan allí que la naturaleza libre ( es decir, no sujetas a derecho de autor) de las API fueron esenciales para el desarrollo de la computación moderna e internet y citan algunos ejemplos:

‪1.‬‬ El BIOS en las PC-Compatibles: El acceso al BIOS, un programa que bootea la computadora y administra hardware básico como el teclado, monitor, disco rígido y la olvidada disquetera, es fundamental para la creación de software. En 1981 Compaq decide hacer una ingeniería inversa del BIOS de IBM creando su propia versión compatible (de alli el termino, “IBM compatible”). El monopolio de IBM en el Mercado de las PC se había abierto. ¿Qué hubiese pasado si IBM hubiese sido capaz de poner bajo copyright las llamadas al sistema?

‪2.‬‬ Muchos sistemas operativos modernos utilizan la API de UNGoogle vs OracleIX: El Proyecto GNU, junto con Linus
Torvalds, produjeron el Sistema operativo Linux, que comparte la API de UNIX – incluyendo su estructura, secuencia y organización– pero implementado enteramente con código original. Hoy decenas de millones de servidores utilizan Linux.

‪3.‬‬ La comunicación en internet se basa en la naturaleza libre de las APIs: Por ejemplo, el protocolo HTTP. Cuando un usuario de internet cliquea un link, su computadora envía un comando HTTP solicitando al servidor la página web requerida. Debido a que nadie ostenta derechos de autor sobre este protocolo, cualquiera es libre de implementar la interface de HTTP, haciendo que su programa pueda enviar y responder pedidos HTTP.

¿Cómo sigue la historia

En enero de 2015, la Corte Suprema pide al ejecutivo norteamericano su opinión al respecto. Lamentablemente, el Procurador General de los Estados Unidos, Donald Verrilli, expresó el mes pasado su apoyo al argumento de Oracle.

Todavía la Corte no se ha expedido, pero el panorama no parece alentador.

*Tomás es gerente de proyecto de Hexacta, una empresa argentina de consultoría y desarrollo de software.

Tags: Android, API, Copright, google, Hexacta, Oracle, programación, Tomás Henseler

Registrarse en el Newsletter de Portinos