Un saludo a todos los lectores de Desde Linux. Este es mi primer post en este interesante blog, y espero que sea de su agrado. Actualmente tengo instalado Ubuntu en mi computadora de escritorio, y hace poco que participo en la comunidad de desarrolladores y control de calidad.
Mi primer post será un artĂculo de «opiniĂłn», aunque no serán tanto opiniones mĂas, sino que les mostrarĂ© la evidencia tĂ©cnica sobre la que sustento mis afirmaciones.
Puede que el tĂtulo les parezca risueño a varios lectores; sin embargo, entre muchos usuarios y desarrolladores de Android y sus pares en Linux, consideran al sistema operativo de Google como una distro más, o en su defecto, algo «muy» cercano a una distribuciĂłn de Linux.
Basan esta idea sobre el hecho que Android usa el kernel Linux (actualmente de la familia 3.3, ver aquĂ). Pero existen importantes diferencias entre el robotito verde, y cualquier distro basada en nuestro amigo Tux.
A continuaciĂłn, varias caracterĂsticas de Android que de cierto modo, evitan que pueda ser considerado una distro.
1) La VM de Android
Como es de esperarse, Linux funciona como cualquier kernel: está entre el hardware, y la capa de aplicaciones (este gráfico lo ilustra bien). Diversas herramientas nos permiten interaccionar con él en nuestras distros, como el compilador GCC, las shells, y algunos editores de texto como Vi/Vim.
Pero en Android esto no es asĂ. En su arquitectura, las aplicaciones son corridas en una máquina virtual llamada Dalvik (ver: JAVA y Android, una relaciĂłn de amor-odio).
Esto le permite a Android ser compatible con una amplia gama de hardware de celulares, a costa de perder rendimiento. Esto hace que iOS de Apple supere a Android en todos los test benchs, y de esta forma Ubuntu Touch tendrá un mejor performance cuando aparezca su versión final en las tablets y teléfonos móviles.
Nada de recursos derrochados en una máquina virtual, sino un sistema operativo customizado para cada modelo.
Windows 8 es un caso aparte, y su poca popularidad es por culpa de la falta de visiĂłn de Microsoft, que bien podrĂa  aprovecharse de esta ventaja por defecto que tienen sus celulares.
2) No todo es GPL!!
Si bien hay distros más o menos «libres», es decir, con más o menos software privativo, la gran mayorĂa de las aplicaciones y librerĂas están bajo la licencia GPL (aquĂ están explicados los tipos de licencia usados en el open source).
Por su parte, Android tiene un uso más extenso de la licencia Apache. Esta, al igual que la licencia BSD, no exige que el software desarrollado a partir de códigos fuentes libres modificados deban ser copyleft, por lo que cualquier desarrollador puede hacer software privativo a partir de códigos bajo la licencia Apache.
Google se ve muy beneficiado con esta licencia, pues puede obtener todos los beneficios de software libre, sin contraer la responsabilidad de compartir sus desarrollos.
Lo controvertido es lo que hace Google con lo que sĂ es GPL. Para los que saben inglĂ©s, aquĂ hay un artĂculo de Florian Muller, especialista en patentes FOSS (free-and-open-source-software).
Sostiene que Google ha estado «lavando» (manipulando) los archivos header de los módulos BlueZ, Bionic y el sistema de archivos ext4 para zafarse de la licencia GPL.
En Internet hay muchas discusiones sobre este tema (mucho material lamentablemente en inglĂ©s), si buscan «GPL laundering» obtendrán muchos artĂculos donde se ejemplifican estás supuestas prácticas de Google.
Sin embargo, Linus Torvalds sostiene que estas denuncias son «basura», a pesar que reconoce «que no se ha fijado sobre lo que exactamente Google hace sobre los headers de Linux».
Pero la controversia continĂşa entre los defensores de software libre. Torvalds sigue rechazando esas crĂticas, y para sus detractores simplemente le está haciendo la contra a la FSF, y está promocionando su kernel por encima de los principios sobre los que se sostiene GNU/Linux.
3) Mucho software privativo
No es necesario explayarme mucho sobre este punto. Muchas aplicaciones de los teléfonos celulares y tablets son software privativo.
Con respecto a Android, posee muchos binarios que no son libres, al igual que varias bibliotecas y firmware, y una parte importante de Cyanogen….
Por sobre todo, el cĂłdigo fuente de Android 3.0 en sĂ (todo lo que no es importado de Linux y los proyectos open source y libre) no fue publicado. Google tampoco planea publicar el cĂłdigo de la versiĂłn 3.1.
Para ver más : ¿Es Android software libre? Richard Stallman dice que no
Si bien las posturas de Stallman a  veces me parece extremas, lo cierto es que Google solamente se aprovecha de los beneficios del software libre, pero no aporta a las comunidades liberando el código de Android.
4) ¿Dónde está la consola? ¿Y los editores de texto? ¿Y Gnome? ¿KDE? ¿XFCE?….
Como ya les dije, entre el kernel y el resto del SO hay una máquina virtual, asà que para correr la terminal hay que usar un emulador (Android Terminal Emulator).
Por su parte, los famoso editores de texto de GNU (Vim, gedit) no vienen instalados por defecto, y hay que buscarlos en el Appstore de Google. Y Android tiene su propio entorno gráfico, nada de Gnome, KDE, XFCE…. Aunque hay proyectos de usuarios para poder instalar estos entornos de Linux en un dispositivo Android.
Estas son las principales razones por las que Android no puede ser considerado una distro, algunas más poderosas que otras. Espero que les guste mi post, y espero sus comentarios. Al igual que recomendaciones para futuros post.
Nos vemos, amigos de Desde Linux!!!