Betazeta Networks:BelelúBólidoCHWFayerWayerFW BrasilFerpleiLUPANiubieSaborizanteVeoVerdeWayerless MCUZimio Versión Movil

Temas Calientes

Columna: Oracle, Google y las Patentes de Software

73

Columna: Oracle, Google y las Patentes de Software

3772015_7a4a5c0b73Oracle 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, incluso dando 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.

73 Comentarios

Columna: Oracle, Google y las Patentes de Software

Páginas: 1 2 3
Ver Todos
Thumb up 0 Thumb down 0 avatar_Soonick Soonick dijo hace 2 años

Muy buen artículo. Por lo visto google estaba tratando de hacer lo que no le permitieron a Microsoft para forzar a los usuarios a usar Android...Eso no esta bien.

Responder
Thumb up 0 Thumb down 0 avatar_Franco Catrin Franco Catrin dijo hace 2 años

@José

La licencia es un contrato de uso del software, se refiere al código y los binarios generados a partir de ese código.

Google no usó el código licenciado de Sun, sino que hizo su propio código, y ahí no aplica la licencia.

Responder
Thumb up 0 Thumb down 0 avatar_Ramiro Ramiro dijo hace 2 años

Las patentes de software son un impedimento para el desarrollo de nuevas tecnologías muchos países estas tomando este tema mas en serio , desgraciadamente en Estados Unidos eso muy difícilmente ocurra.

Como tu dices @Franco Google nunca imagino que se llegara a reclamar por una infracción de patentes aun a sabiendas de que podría ocurrir, no creo que haya sido una decisión contraria a los ideales de libertad y compartición de conocimientos que tanto luchan los movimientos de Software Libre u los de Open Source.

Aun siendo la demanda un reclamo de patentes y no de licencias, y aun teniendo Oracle toda la razón en demandar muy distinto es que sea algo justo, la demanda no aporta nada a las nuevas invenciones solo causa trabas y solo se busca beneficios económicos pues es seguro que lo único que se busca es dinero.

PD: Corregime si me equivoco pero .Net no estaría infringiendo también alguna patente de Java?

Responder
Thumb up 0 Thumb down 0 avatar_Franco Catrin Franco Catrin dijo hace 2 años

@Ramiro

Seguramente que .NET también infringe patentes, pero para un movimiento de ese tipo, Oracle tendría que estar seguro de no estar violando patentes de Microsoft.

Nuevamente recomiendo ver el video de Miguel de Icaza que puse en el link.

Responder
Thumb up 0 Thumb down 0 avatar_freax freax dijo hace 2 años

@franco, entonces la confusión está en pensar que Dalvik es un fork de la vm de Java de Sun (ahora Oracle). Tomandolo por ese lado muchos proyectos de código abierto han reescrito software amparado bajo patentes; solo pensar en Samba y muchos otros. A este respecto recuerdo que Samba ganó un punto a su favor cuando la UE obligó a Microsoft a publicar las especificaciones del protocolo SMB, aunque era interesante que Samba tenía que comprometerse a desarrollar su software sin violar las patentes de Microsot (Cosa que a mi simple entender no le veo la vuelta, con lo ambiguas que suelen ser las patentes).

Me parece que con Oracle y Google estamos en lo mismo. Oracle tiene en sus manos un producto que puede llegar a crear un monopolio en el mercado de los móviles y demás y al igual que con Microsoft las entidades reguladoras tendrían que amparar a otros proyectos para que puedean interactuar con la tecnología de Oracle (java) para evitar la concentración económica que esto prodría traer aparejado. La gran diferencia aquí es que Google es millones de veces más grande que Samba.

Responder
Thumb up 0 Thumb down 0 avatar_batubn batubn dijo hace 2 años

Gracias Franco.

Hacian falta tus aclaraciones...

Responder
Thumb up 0 Thumb down 0 avatar_Chupamedia Chupamedia dijo hace 2 años

Franco, eres mas grande que Chuck Norris. Idolo.

Responder
Thumb up 0 Thumb down 0 avatar_Julitrox Julitrox dijo hace 2 años

Excelente me aclaro toda las dudas

Responder
Thumb up 0 Thumb down 0 avatar_Franco Catrin Franco Catrin dijo hace 2 años

Hoy Viernes 20 trataremos este tema y todo sobre OpenSolaris en Drunk Podcast Live:

http://drunkpodcast.codemonkey.cl
http://ustream.tv/channel/drunkpodcast

Responder
Thumb up 0 Thumb down 0 avatar_Jesus Jesus dijo hace 1 año

Muy buen artìculo. Cambiaste mucho mis perspectiva acerca del caso...

Responder
Thumb up 0 Thumb down 0 avatar_david david dijo hace 1 año

La DalvikVM de Google propone mejoras a la JavaVM de Oracle como permitir la ejecución de varias instancias en simultaneo, manejo de memoria mediante registros en lugar de pilas, permite gestionar que tareas se pueden delegar al sistema operativo, y otras mas; todo esto permite mejor desempeño...

A mi parecer Dalvik no es exactamente un fork de JavaVM ya que usa su propio bytecode, pero:
Traduce de JavaBytecode a su propio Bytecode, y NECESARIAMENTE usa tecnología patentada y desarrollada para Java.

Yo creo que esta VM Forjada por google, coloca a Java en peligro de ser desplazado por un software no-tan-libre que terminara haciendo menos relevante a Java. Finalmente los archivos .class no se usarían mas y se codificaría directamente en .dex, cuando esto ocurra las tecnologías dominantes de VM estarán bajo el control de Google en lugar de Oracle

------------

Parecido ocurre con Chrome, donde Google basándose en WebKit, hizo mejoras que permiten instancias separadas para cada ventana, y procesamiento en paralelo. El problema es que estas mejoras se implementaron de forma que solo pueden ser aprovechadas en el marco de Chrome, ¡tendrías que hacer un fork del navegador para beneficiarte de ellas! quedando atado a la estructura impuesta por Google.

Afortunadamente Apple esta forjando el Webkit de forma tal que se podría hacer uso de mejoras como las mencionadas introducidas por Chrome incluso en otros proyectos.

-----

COCLUSIONES: Oracle esta defendiendo su recién adquirido dominio en el ámbito de las Maquinas Virtuales, de una jugada no muy honorable por parte de Google, que intenta lograr una posición de dominio para arbitrar todas las tecnologías claves relacionado con la Internet.

El objetivo de toda la plataforma .NET es tambien sustituir a Java como tecnologia dominante para que sea Microsoft quien capitalise esta posicion, solo que Dalvik aprovechando el estado actual de las licencias toma mas cosas prestadas de la tecnología Java que Java++; Microsoft pudiera espetarle a Google: "DON'T BE EVIL!".

No es cierto de ninguna manera que liberar el código, para lograr una gran base de usuarios genere siempre beneficios económicos a sus desarrolladores, esta era la base de la estrategia de negocios de SUN y al no poder capitalizar su dominio de las VM y otras tecnologías ya no existe mas.

Sin embargo que la comunidad tenga un papel relevante en el desarrollo de las tecnologías, es siempre algo positivo. Este punto de vista no lo comparten ni Oracle ni Google, que no estan dispuestas a correr un riesgo tan grande como lo es permitir que la comunidad tenga un papel demasiado importante sobre que aspectos de la tecnología van a invertir, pretenden seguir un modelo mas tradicional imponiéndonos (gracias a un férreo control de tecnologías claves), los caminos que sean económicamente mas redituables para la corporación.

Responder
Thumb up 0 Thumb down 0 avatar_Así nomás Así nomás dijo hace 1 año

@Franco está bueno el artículo, esclarecedor incluso, aunque deja entrever mucha subjetividad, pero por lo menos está bien fundamentado. Mejor es escribir cosas buenas aunque sea de vez en cuando que puros updates de aplicaciones open-source acompañadas de pantallazos sin mayor valor agregado.

Responder
Thumb up 0 Thumb down 0 avatar_rolando José Torres rolando José Torres dijo hace 1 año

Google nunca debió construir la plataforma Android sobre Java porque por mas GPLv2 que fuera eso fue muy irresponsable de su parte pensar que Java seria libre como lo eran otros lenguajes como C, C++, python, perl que ya pueden ser considerados completamente libres.

Google NUNCA busco que Android fuera libre, queria que su plataforma y todos los desarrollos para su plataforma solo corrieran en su plataforma, en ningún momento pensó en usar una VM de Java compatible con otras plataformas de forma que las aplicaciones para Android corrieran también en Windows, Linux, Mac, o Symbian que para ese entonces ya tenían aplicaciones Java.

Trataron de hacer lo mismo que hizo apple pero usando un lenguaje y una tecnología que aunque era bien difundida y aceptada NUNCA sera libre y por ende el software tampoco lo sera.

Porque usar JAVA, porque necesitaban alcanzar a apple en el numero de aplicaciones desarrolladas para la plataforma, ya programabamos para JAVA fue fácil programar para Android, ahora esperemos que nos nos toque pagar licencias a Oracle por cada una de las aplicaciones de Android por cada usuario o por cada procesador como lo hacen con Oracle.

No le queda mas que 2 caminos:
1. negociar con Oracle y permitir que aplicaciones de Java Sun corran en Android y a cambio aplicaciones de Android corran en Windows, Linux, Mac, Symbian, IOS y en cualquier plataforma sin restricciones siguiendo la licencia de JAVA cumpliendo con la filosofía de la tecnología JAVA.

2. Entregar el desarrollo de Android y traducir las mas de 100.000 aplicaciones que ya tienen a python, C++, o a Go y montar otro entorno Gráfico compatible en los dispositivos que ya tiene y pagar a Oracle por las patentes violadas.

Responder
Páginas: 1 2 3
Ver Todos

Deja tu Comentario

La opción de comentar está abierta a todos los usuarios, pero te pedimos por favor mantenerte dentro del tema del artículo y no publicar comentarios ofensivos o publicidad basura. Nos reservamos el derecho de eliminar cualquier comentario que no cumpla estas reglas.

Para que aparezca tu foto en vez del icono genérico en tu comentario, el email con el que comentas debe estar inscrito en Gravatar.