Ahora que ha pasado más de una semana del suceso, los ánimos se han calmado y ya es fin de semana, puedo analizar con mayor tranquilidad el tema. Pero hay que decir que ha pasado de todo, desde decir que Oracle pretende destruir el Open Source , hasta… absolutamente lo contrario, y frente a todo ese caos de opiniones controvertidas, declaraciones y contra-declaraciones, no me queda más que llegar a la misma controvertida filosofía aplicada miles de veces por el «reconocido» doctor House: «el paciente siempre miente».
En primer lugar, la libertad de Java es indiscutible, y como mencionaba en un post anterior, es un tema de patentes. Por eso es vital entender la diferencia entre una y otra.
Una licencia se puede definir como un contrato en el cual se establecen los derechos que cede el propietario original sobre una tecnología. Así, la GPL establece las cuatro conocidas libertades para quienes quieran usar Software Libre, en tanto que otras licencias, las propietarias por ejemplo, establecen diversas limitaciones y generalmente el pago de un canon por el uso de tecnología.
Las patentes son distintas y originalmente tenían como objetivo principal proteger la innovación y al inventor para evitar que otra persona saque beneficios de un invento que no le corresponde. De esa forma instituciones y personas podrían desarrollar e invertir en sus inventos con mas tranquilidad, aunque el asunto se ha desvirtuado bastante con respecto a ese noble objetivo.
En base a eso, Google o cualquiera en el mundo, puede usar libremente Java y el código fuente. Las aplicaciones generadas con este lenguaje pueden ser libres y además se pueden usar en distintas plataformas. Pero para garantizar esa «portabilidad«, se crearon estándares, estándares que definió Sun y que quedaron integrados en el código genético de la maquina virtual Java.
Las patentes ayudaban a Sun a asegurarse de que nadie pudiera re-implementar Java y creara nuevos estándares incompatibles con la tecnología original de Sun. Esto me recuerda cuando hace algunos años Microsoft intentó crear su propia implementación de Java que funcionaba «de maravilla» …en Windows, lo cual se convirtió en un «escándalo» y que sólo tras una pequeña batalla, con indemnización de por medio, se logró que Microsoft desistiera de sus intentos por crear un «Microsoft Java».
Bueno, lo que hizo Google con Dalvik no es muy diferente de lo que intentó hacer Microsoft en su momento, una máquina independiente y distinta a la máquina original de Java, que eventualmente, sentaría un nuevo estándar. Por supuesto, Google no busca reemplazar la máquina Java «normal», pero la industria tiende a generar y adoptar sub-estándares fácilmente cuando hay dinero de por medio y no es poco el que hay en torno a Android.
Es difícil imaginar a Sun, con su decaída situación financiera, llevando a cabo un largo y duro juicio contra Google, sin embargo, tampoco es que estuviera «fuera de su código genético» hacerlo. La demanda contra Google era otra carta puesta en la mesa de negociaciones entre Oracle y Sun, como ya lo demostraba la declaración de James Glosing.
Entonces, finalmente no hay un ataque de Oracle hacia la comunidad Open Source, por lo menos no de la forma que Google lo plantea, sino que es un ataque sólo contra él, y eso lo saben bien en Mountain View. Oracle comienza a hacer lo que Sun, por más que lo niege, siempre quiso hacer (y no supo como): sacar dividendos directos de la tecnología Java usada en Android.
Esto nos deja con que Sun tampoco era ningún «santo» (o víctima como lo dicen algunos), y la demanda contra Google hubiera llegado de todas maneras. También nos muestra que Google no hizo las cosas bien al principio y probablemente le cueste muy caro su error.
Y por ultimo, Oracle… ¿tenía la necesidad de decir «Java»? Cuando tus «grandes» acciones relacionadas Open Source han sido escuetas, pocas y hasta malas (si consideramos lo de OpenSolaris), debes tener conciencia del cuidado que debes poner en tus palabras.
Oracle simplemente hizo lo que muchos «propietarios» hacen todas las semanas, pero pasando por alto el factor «comunidad Open Source«, un factor clave en la adopción de Java frente a .NET, por ejemplo, y que ahora lo deja un punto abajo en el marcador de esta dura batalla, donde precisamente Java tenia la «ventaja» de ser mas libre, abierto y «puro», si cabe decirlo.
¿Qué es lo peor de todo esto? Pues que se genera una suerte de FUD contra el Open Source, donde el mensaje vendría a ser: «el Open Source es vulnerable y su modelo de negocio no es seguro», haciendo que las miradas se concentren inevitablemente en MySQL, MariaDB y OpenOffice. Lamentablemente este mensaje no solo lo dirige Oracle, sino que también firman en él Google y Sun Microsystems.
Sin embargo nada de esto debiera servir para que repudiemos o rechacemos a los actores antes mencionados. Eso seria tan dañino como cerrar los proyectos (que, sea como sea, siguen adelante). Más bien debemos aprender las lecciones y no permitir que un par de «actuaciones» nos «revolucionen» y nos hagan caer en un juego de «FUD», comprendiendo que cuando hay de por medio, prestigio, apariencias, personas y muchísimo dinero, se hace evidente en el mundo empresarial una gran verdad: «Todos mienten».
PD: Aunque el post de por si, ya es demasiado largo, encuentro importante entregar como dato/experiencia final un comentario de Jonathan Schwartz, el ex-CEO de Sun, donde se muestra lo crudo que es el mundo empresarial con software Open Source de por medio y algunas cosas que ocurren tras bambalinas en el frío mundo de los negocios.