Oracle
debe ser una de las empresas más odiadas en este minuto, algunos
de los temores existentes respecto a la adquisición de Sun se
están haciendo realidad o al menos eso parece. Una demanda
contra Google por Android y la cancelación de OpenSolaris da
para muchas artículos, puntos de vista, rabias, enojos e
interpretaciones, como lo que viene a continuación.
Para entender lo que está pasando
hay que tener claros los conceptos que están en juego,
confundirlos es fácil y hace que rápidamente se puedan sacar
conclusiones equivocadas: Un dato por aquí, desconocimiento por
allá, sumado a experiencias personales, grandes dosis de
suposición y Salfateismo están causando más tormenta de lo que
el caso se merece. Aunque no niego que sea entretenido.
Los dos pilares fundamentales de
todo este asunto son las licencias y las patentes: Una licencia
es un contrato entre el poseedor de los derechos sobre una
tecnología y quien la va a utilizar. En esta licencia se
establecen los limites de los derechos cedidos por el
propietario original. Cualquiera puede inventar una licencia,
pero hacerla valer es otra historia, sobre todo si estamos
hablando de hacerla valer en una corte. Ya que se trata de un
contrato, si uno se pone creativo y no tiene los conocimientos
de derecho suficientes, es muy probable que termine con una
licencia inútil, igual que un contrato con vacíos legales. Para
evitar este problema, existen
licencias que uno puede reutilizar, licencias que ya se han
probado en la corte y son bastante conocidas, lo que ayuda a
entender qué tipo de contrato se está estableciendo. En el
mundo del software libre tenemos licencias como la famosa GPL,
pero también se han creado casos especiales como MPL (Mozilla
Public License) y MS-PL (Microsoft Public License).
El otro aspecto en juego son las
patentes. Básicamente una patente es una protección sobre una
idea. Se trata de una constancia de que una persona u
organización ha inventado algo. La idea original era proteger
la innovación, para que aquellos que invirtieran en
investigación lograran tener el privilegio de usar su invención
sin que otro la copiara y le quitara los beneficios a su
creador. Hasta ahí todo bien, pero el problema es que las
patentes pueden ser muy ambiguas y quien las registra en la
práctica no necesariamente es quien ha creado la idea. Es así
como encontramos patentes por ideas obvias, o patentes que
cubren invenciones que no pertenecen a quien hizo el registro de
esa patente.
El licenciamiento de Java
El caso de Oracle contra Google
es una combinación de ambos factores. Aunque el lado legal se
ha llevado a través de las patentes, hay un problema de
licenciamiento histórico sobre la tecnología Java. La idea de
Java es permitir que el código fuente y el código compilado se
pueda usar en cualquier dispositivo que implemente una máquina
virtual de Java. Para garantizar esta portabilidad, tanto el
código fuente como el código compilado debe seguir un estándar,
y en este caso era Sun quien definía ese estándar.
Para poder usar el nombre de Java
(licencia), Sun tenía que dar su aprobación sobre las distintas
implementaciones de la tecnología. Algo parecido a lo que vemos
hoy con Google sucedió en los ‘90 cuando Microsoft comenzó a
crear una versión divergente de Java. Se trataba de una
implementación que generaba una dependencia con Windows, el
viejo truco de torcer un estándar para que los las aplicaciones
y usuarios quedaran dependientes de una plataforma,
convirtiéndose en un estándar de facto. En esa oportunidad, Sun
hizo valer sus licencias y Microsoft tuvo que retirar su
implementación de Java y pagar
una buena compensación.
Lo que hizo Google no se aleja
tanto de lo que hizo Microsoft en su momento, sólo cambia el
tipo de licenciamiento establecido para la tecnología Java. En
los tiempos del conflicto con Microsoft, el licenciamiento de
Java era bastante restringido, con penas del infierno a quien se
alejara de la linea de Sun. Pero a partir del 2006, Sun
cambia el licenciamiento del código de Java a GPLv2, lo que
facilitó la inclusión de Java en sistemas operativos de código
abierto, pero complicó el entendimiento de los derechos de Sun
sobre la tecnología.
El licenciamiento de Software
Libre/Código abierto como GPL no significa que el poseedor de
los derechos sobre el software los pierda, sólo da libertades de
uso suficientes para que el software evolucione y se propague
libremente. No siquiera esto tiene que ver con un tema de
precios, de hecho licencias como GPL están pensadas para que se
puedan usar comercialmente. Son varios los productos que hoy
utilizan software con licencias GPL, si lo quiere confirmar,
revise la documentación incluida con los aparatos que compra.
Google y las patentes sobre Java
Si Google hubiese usado el código
de Sun para Android no estaríamos discutiendo este tema, ya que
la licencia GPL lo permite. El problema es que Google utilizó
la tecnología de Sun a su propio antojo, se trata de una
tecnología propia, compatible con Java pero que en realidad no
es Java, o al menos no es lo que Sun establecía como Java, y es
ahí donde entramos al terreno de la violación de patentes.
Google no está usando el código de Sun, lo que está haciendo es
crear un producto propio que hace cosas similares a lo creado
por Sun, en otras palabras está aprovechándose de una invención
que Sun ya tiene patentada.
Esto no tiene nada que ver con
que Java sea o no de código abierto ¿Entonces por qué Google
dice que están atacando al código abierto? Basta darse una
vuelta por blogs y foros para ver el efecto de las palabras de
Google en la comunidad.
El lío en que está metido Google
es complejo, Oracle está pidiendo nada menos que la destrucción
de todo lo que tenga que ver con Android. El problema es que
Google es sólo el creador de la tecnología, y ésta hace rato que
traspasó los límites de la compañía. Para quienes crean que
Oracle es malvado, deben saber que este es un tema que Sun ya
tenía en sus manos, pero no estaba en una situación de enredarse
en un lío judicial con otro gigante. Una vez traspasada la
propiedad a Oracle, los bolsillos son mucho más holgados.
Durante las negociaciones entre
Oracle y Sun, uno de los atractivos era justamente la
posibilidad de llevar un juicio contra Google, hecho
confirmado por James Gosling el creador de Java, por lo que
no es de extrañar que sabiendo esto haya dejado la compañía
rápidamente tras la adquisición:
Oracle finalmente inicia una acción legal por patentes contra
Google. No es de sorprender. Durante las reuniones de fusión
entre Sun y Oracle, donde se discutió el tema de la situación de
patentes entre Sun y Google, pudimos ver brillar los ojitos de
los abogados de Oracle. Establecer jucios por patentes nunca
estuvo en el código genético de Sun.
Las patentes y el código abierto, o no tanto
El problema de las patentes no es
menor. Normalmente no sucede nada porque existen tantas
patentes que las grandes empresas tienen un gran arsenal, y la
respuesta puede ser igual de contundente. Se puede decir que
cualquier tecnología puede estar violando patentes, ya lo vimos
recientemente con el caso de VP8 y los codificadores de video.
Uno de los que seguramente no se
sorprendió con este tema es Miguel de Icaza, fundador del
proyecto GNOME y Mono, la implementación libre de .NET. A
principios de la década, hubo una gran discusión respecto a la
introducción de tecnologías de Microsoft cubiertas por patentes,
y uno
de los argumentos en contra era que Java estaba libre de este
problema. En ese entonces Miguel básicamente decía que
pensar eso era iluso y que el riesgo estaba en todos lados.
Irónicamente Microsoft nunca ha aplicado sus patentes contra
Mono, o al menos no en la corte, y fue Oracle quien lanzó la
primera bomba.
El código abierto no está en
peligro, para eso tendría que morir mucha gente. El problema
está en la confianza o inocencia de Google para jugar con fuego
sin sospechar que la propiedad de Java caería en manos
poderosas. Lo que está haciendo Oracle parece ser de matones,
pero sólo está reclamando lo que el sistema legal norteamericano
le permite. Por mientras, Oracle sigue usando y produciendo
código abierto, inclusodando
productos gratuitos aunque
sean cerrados, eso contradice cualquier argumento de que el tema
está relacionado con el código abierto.
Cuando inicié este artículo
pensaba incluir el caso de OpenSolaris, pero creo que ya hay
suficiente material para llevar la discusión a donde
corresponde, o al menos entretenerse durante el día. Los invito
a comentar!
Nota: Sé que varios se
preguntan por qué no he escrito en Fayerwayer. Decidí tomarme
un tiempo para trabajar en algunos proyectos personales, por lo
que mi tiempo para leer y escribir noticias se ha reducido
bastante. Antes de que pregunten respondo: Tiene que ver con
tecnología? Sí. Tiene que ver con Linux? Sí. Creanme que soy
uno de los más interesados en poder contarles de qué se trata, y
así lo haré en su momento, pero por ahora hay que trabajar en
hacerlo realidad.