Una de las noticias que ha estado dando vueltas por todos lados el día de hoy  entre “medios especializados”, blogs y demás, es que Google ha copiado, idéntico, parte del código de Java (de Oracle) en Android.

Todo empezó con cierto descubrimiento que Florian Mueller, de FOSS Patents, hizo sobre cierto código presente dentro de Android que, aparentemente, era una copia directa del código de Oracle, como pueden ver en la imagen de abajo (cortesía de engadget)

 

oracle.jpeg

Idénticos, verdad?


Pues resulta que no se trata de código que se usa o incluye en Android. De hecho, el responsable parece ser SoNiVox, una empresa que forma parte del Open Handset Alliance y que colabora con el desarrollo de Android.

Pero vamos  por partes.

 

Qué es código fuente?

Todo programa que utilizamos, incluso el sistema operativo, está creado en base a líneas de código, que pueden ser escritas en diferentes lenguajes de programación. La acción de cerrar una ventana al darle click a la X o al botón rojo? Líneas de código. Mover una ventana o cambiarla de tamaño? Líneas de código.

Lo que Mueller está acusando, es que cierta porción de estas líneas de código que forman parte de Java aparecen, idénticas, dentro de Android.

Google no es mi compañía favorita en estas últimas semanas debido a la decisión que tomó al abandonar .h264 en favor a su WebM (abandonando un open standard, por uno que ni siquiera es un standard), pero antes de publicar algo sobre este tema, me parecía necesario ver un poco al código en cuestión en contexto

Pero qué es lo que sucede realmente?

La noticia se difundió como la pólvora. Todos estaban ya dándole la razón a la demanda que hizo Oracle en Agosto del año pasado a Google, y por supuesto, mencionando  irónicamente el “Don’t be evil”, slogan favorito de Google. Augurando, por supuesto, las terribles consecuencias que tendría el acto e incluso llegando a aludirse que Android dejaría de estar abierto.


El asunto, es que no es cierto. Cuando ponemos las cosas en contexto, el problema pasa a ser prácticamente insignificante. O al menos, no tanto como para armar tremendo escándalo.

Como se menciona arriba, las líneas de código forman parte de un framework desarrollado por SONiVOX, llamado Embedded Audio Synthesis (EAS)

Cuando el EAS fue publicado en el repositorio de Android el 2008, uno de los archivos incluidos inicialmente fue MMAPI.zip, ubicado en un subdirectorio llamado “misc”. Este es el archivo que contiene el código que Mueller está acusando, ya que contiene una implementación del Java ME MObile Media API (MMAPI).

Ahora, este código es de Sun, y está públicamente disponible (puede ser descargado de manera gratuita). Lo que sí tiene, sin embargo, son restricciones en la distribución. La documentación incluida por SONiVOX claramente muestra a quién le pertenece el componente (de ahí la advertencia que también aparece en los documentos)

Resumiendo, pues, no queda claro en realidad cómo ese archivo llegó al repositorio, pero es obvio que ni se usa por Android por ningún lugar. Android sí usa el código EAS de SONiVOX, pero no necesita al MMAPI wrapper. Así que no, no se trata de un caso de Android robándole código de Sun (que es parte de Oracle), o algo por el estilo, ya que este archivo no se incluye, finalmente, en Android.

De hecho, ZDNet nos cuenta que algunos de los archivos denunciados han sido ya quitados, el 30 de octubre del 2010. Otros fueron borrados el 14 de enero de este año.

Cabe notar, por supuesto, que esto poco o nada tiene que ver con el juicio actual entre Oracle y Google por otras patentes. Podría tener algún efecto? Quizás, ya que serviría como cierto ejemplo de uso de código sin permisos. Pero eso, ya lo dejaremos para la corte.

En resumen? Otro escándalo que se forma en base a nada, lamentablemente.

 

via arstechnica / zdnet

  • No falta aquí hablar de los ficheros de unit testing? Esos son los que van a resultar problemáticos, no los MMAPI.

    Legalmente da igual por qué estuviesen los ficheros ahí. Legalmente no hay un “en contexto” que valga. Es por esos, no estos, por los que hay más riesgo.