Android es por lejos el sistema operativo móvil más utilizado del mundo. Si bien se promociona como un proyecto de código abierto dentro del Android Open Source Project (AOSP), la plataforma tiene algunas porciones de su código cerrado (las Google Apps, como Play y Gmail, requieren una licencia), al igual que el firmware que utilizan los fabricantes en sus equipos.
Por ello fueron naciendo versiones “comunitarias” de Android que se enfocan en ofrecer una alternativa 100% libre y una de ellas es Replicant. RedUSERS se comunicó con Paul Kocialkowski, uno de los encargados de mantenerla, para que nos cuente todo sobre este fork de Android que es apoyado por Richard Stallman y la Fundación del Software Libre que preside.
¿Qué elementos propietarios de Android fueron “abiertos” para desarrollar Replicant?
Como cualquier otro sistema operativo, posee diferentes sistemas que tienen mucho de su código en común. Primero, tenemos la versión de Android que es desarrollada internamente en Google, que no es software libre per-se hasta que es lanzada a los repositorios del Android Open Source Project (AOSP), donde se convierte en software libre.
Si ese paso no ocurre, como sucedió con Android 3 HoneyComb, entonces se mantiene como software propietario. Los fabricantes usualmente usan la base de código de Google y suman sus modificaciones, que son mayoritariamente propietarias al tiempo que no lanzan el código fuente de tales cambios. Más importante, para añadir soporte para sus dispositivos, los fabricantes incluyen librerías propietarias relacionadas con el hardware de sus teléfonos, como el módem, audio, camara, GPS, aceleración gráfica, etc.
Cuando una versión de Android de la comunidad basada en AOSP intenta correr en algunos dispositivos OEM, debe incluir esas librerías propietarias para que el sistema pueda funcionar y hacer uso del hardware. Incluso para los equipos de Google hay soporte parcial en AOSP, hay muchas piezas no libres que son requeridas para hacer que el sistema funcione en el equipo. Esas son las partes con las que trabajamos para reemplazarlas con software libre.
Mientras que AOSP está cerca de ser software totalmente libre, no puede correr en equipos sin los blobs propietarios relacionados al hardware, pues no son parte de AOSP pero se lanzan por separado por Google para los teléfonos de Google. Sin embargo, Replicant está hecho totalmente de software libre y no viene con ningún componente no libre, con el costo de perder características de hardware cuando no podemos reemplazar los componentes no libres.
De todas maneras, Replicant no trata de “abrir” software, sino de liberar software y a sus usuarios. No compartimos la visión del movimiento Open Source: somos un proyecto de software libre y ponemos el énfasis en la libertad del software y nada más.
¿Es fácil de migrar a Replicant?
Hay guías de instalación detalladas para cada uno de los equipos que soporta Replicant. El procedimiento de instalación no siempre es simple y requiere cierto conocimiento, así que es probable que no sea fácil para todos, pero sí para algunos. Con conocimientos decentes en el uso de GNU/Linux y el uso de la línea de comandos se estaría capacitado para completar los pasos correctamente. Obviamente, sólo apuntamos a usuarios de GNU/Linux y no proveemos ninguna instrucción para otros sistemas operativos.
¿Existe el riesgo de dejar el teléfono inservible?
Siempre hay una posibilidad de dejar al celular temporalmente inusable, pero nuestras instrucciones no llevan a convertir al teléfono en un “ladrillo” para siempre. Siempre hay maneras de recuperarse de una mala instalación y le indicamos a los usuarios que sigan las instrucciones y no hagan nada más que lo que dice la guía.
Una de las ventajas de Android es su catálogo de aplicaciones. Replicant ofrece su propia tienda, pero se pueden instalar otras apps como las GApps?
F-Droid, si bien es la tienda de aplicaciones que viene preinstalada en Replicant, no es exactamente la tienda propia de Replicant: puede ser instalada en cualquier versión de Android, como CyanogenMod. El punto de F-Droid es que provee aplicaciones libres fácilmente a los usuarios, ya que no tiene sentido tener un sistema operativo libre y correr aplicaciones propietarias en él. No obstante, es técnicamente posible instalar las Google Apps en Replicant, aunque sea probablemente ilegal y se pierda el objetivo de Replicant y del Software libre.
¿Entonces, los APK de Android son 100% compatibles?
Si, lo son. Replicant es actualmente una versión levemente modificada de CyanogenMod, no hay un cambio grande y profundo que se le haya hecho a la interfaz o al core del sistema. Simplemente añadimos nuestros reemplazos de software libre, algunas cosas de branding y nos aseguramos de que todo se ajuste bien. Así que en este sentido, Replicant es más o menos lo mismo que CyanogenMod.
Sólo hay una docena de equipos compatibles con Replicant, ¿esto se debe a que igual que pasa con el software, también hay una fragmentación de hardware en Android?
No entiendo qué significa la fragmentación de Android en términos concretos. Si la idea es resaltar que hay muchos dispositivos de Android, eso es muy cierto y obviamente no podemos soportarlos a todos, especialmente porque sólo somos dos desarrolladores muy ocupados trabajando en el proyecto. Tratamos de seleccionar los objetivos más fáciles de soportar y también miramos cuánto del modelo que corre un firmware no libre puede controlar el resto del teléfono, lo que es crucial para la seguridad.
Un gran problema entre los usuarios de Android es que sus dispositivos pueden no ser compatibles con versiones futuras del sistema operativo, ¿cómo manejan este tema en Replicant?
Nuestro problema con las nuevas versiones de Android es la creciente dependencia de la aceleración de gráficos, que no la podemos proveer con software libre. Esto significa que es cada vez más difícil para nosotros brindar gráficos de alta velocidad, especialmente en equipos “viejos”.
La mayoría del tiempo, el portar los viejos equipos a las últimas versiones de Android cuesta a los fabricantes algún tiempo de desarrollo para ninguna ganancia real, desde el momento en el que los teléfonos ya fueron vendidos y funcionan con sus versiones actuales de Android. No porque no sean compatibles o sean muy lentos, sino porque el fabricante no tiene el interés real de hacerlo. No obstante, ahí es donde las versiones comunitarias de Android pueden avanzar porque pueden hacer el traspaso ellas mismas a las nuevas versiones de Android. Pero es sólo posible si pueden adaptar ciertas partes a las nuevas APIS y cuando esas partes son software propietario, no hay un buen modo de hacerlo.
Esta es la razón por la cual algunos equipos son descartados en las versiones comunitarias de Android: el software propietario es un gran obstáculo en el camino de “portar” hacia una nueva versión de Android. Por el contrario, los reemplazos de software libre para esas partes específicas del hardware hacen que sea fácil llevar equipos a nuevas versiones de Android, entonces esas versiones comunitarias de Android no tienen que esperar o pedir por nuevos blobs a los fabricantes: pueden cocinar toda la última versión por ellos mismos. Pero en la práctica, las partes de aceleración de gráficos son siempre no libres y son un gran inconveniente en el proceso.
En Replicant, podemos portar en teoría todos los dispositivos soportados a cualquier versión nueva de Android, siempre que la falta de aceleración gráfica lo haga usable, pues todas las partes relacionadas con el hardware son software libre. Pero decidimos seguir la decisión de CyanogenMod de abandonar equipos como el HTC Dream y el Nexus One, porque se están volviendo muy lentos para las nuevas versiones y no vale la pena nuestro tiempo, pues encontramos mejores dispositivos que respetan más la libertad del usuario.
El tema de la seguridad de la información es importante en cualquier plataforma, ¿Cómo garantizan la seguridad de la información?
No garantizamos la seguridad de la información personal. Si realmente cuidas tu información, no deberías usar un teléfono. Como Replicant es un sistema completamente libre, no puede garantizar que todo el teléfono esté bajo tu control ni sea seguro. Usando Replicant y apps libres se garantiza que ningún componente del sistema contenga backdoors o funcionalidades maliciosas, mientras otras versiones de Android con código propietario pueden tener partes maliciosas como CarrierIQ.
Pero esa no es la única amenaza de seguridad en un teléfono: el modem corre software propietario que se conecta a la red del operador y permite que sea controlado remotamente. Es sabido que el modem puede proveer información del teléfono bajo demanda, como la locación del GPS, y también puede convertir al teléfono en una máquina de escuchar remota cuando tiene acceso al micrófono.
También puede tener acceso al almacenamiento principal, la memoria RAM, etc. Esta es la razón por la que evaluamos cuidadosamente a qué puede acceder el modem en los teléfonos. Replicant soporta y trata de ser informativo sobre esto. Pero eso no es todo: el propio operador puede espiar las comunicaciones, mensajes de texto y conexiones a Internet, sin la necesidad de cooperación por parte del modem. Encima de todo, los protocolos GSM son conocidos por ser débiles y fáciles de quebrar. Por lo tanto, los teléfonos móviles son malos en cuanto a seguridad.
Ustedes conocen el código de Android, ¿qué aspectos pueden resaltar y cuáles criticar sobre él desde el punto de vista de su programación?
No tengo comentarios acerca de la calidad del código y del sistema operativo en sí mismo desde un punto de vista técnico. Lo que puede decir acerca de la actitud de Google es que tiende a reemplazar cada vez más aplicaciones base de AOSP con versiones propietarias de Google, descartando el desarrollo de las versiones AOSP de esos programas. Esto es una vergüenza porque tiende a hacer de AOSP un sistema que no está dirigido a ser utilizado realmente.
De todas formas, la gente de CyanogenMod está trabajando duro para escribir aplicaciones de software libre de calidad para solucionarlo, como el administrador de archivos, Apollo, Focal, etc. Pero la situación de CyanogenMod dista de ser perfecta desde su reciente decisión de convertirse en una compañía que obliga a las aplicaciones de CyanogenMod a tener una doble licencia, con una licencia propietaria. Entonces tememos que las versiones libres de esas aplicaciones se convertirán en copias obsoletas y deprecadas de las propietarias, tal como ocurre con AOSP actualmente.
Android se está convirtiendo en un sistema operativo de alto consumo de recursos y requiere cada vez más hardware en comparación con otras plataformas para correr fluidadmente. ¿Cuál es el enfoque de Replicant para mejorar la performance?
Estás en lo cierto. Android se está volviendo cada vez más un devorador de recursos. Seguimos pensando que Android es nuestra mejor oportunidad de tener un sistema operativo móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android, aún cuando los requerimientos de hardware hagan cada vez más difícil brindar una experiencia de usuario fluida en Replicant pues no tenemos aceleración de hardware gráfico.
De todas formas, los últimos dispositivos con Android tienen CPU más rápidas que pueden cubrir esos temas, pero quizás a cierto punto se volverá muy difícil mantenerlo. En todo caso, no brindaremos mejores performances comparadas con otras versiones de Android. Usar Android sin aceleración gráfica se suponía como imposible en la versión 4.0 y tuvimos que trabajar duro todo el tiempo para llegar a algo que sea lo suficientemente bueno para ser usado. No hacemos magia, sólo ajustamos las opciones de configuración correctas aquí y allá para hacerlo menos demandante de aceleración gráfica.
¿Están trabajando con fabricantes de equipos con hardware, firmwares y software libre (como Yeelong y sus notebooks) para ofrecer teléfonos con Replicant?
No estamos trabajando con ningún fabricante para incluir Replicant en nungún dispositivo, pero nos vienen con esa idea, deberemos considerar cuidadosamente temas de patentes para hacerlo. Es mucho más fácil para nosotros mantener una versión comunitaria de Android sin ataduras a un fabricante o compañía particular: preferimos mantener desarrolladores amateurs y voluntarios. A pesar de que comenzamos una campaña de donaciones gracias a la Fundación de Software Libre (FSF), no estamos pagando por el desarrollo y el dinero es utilizado para comprar equipos y ayudarnos a asistir a eventos de software libre para presentar a Replicant.
Gracias 🙂
Que se libere el codigo genera trabajo en cuanto a soporte. Y eso de que no genera compromiso para que el soft tenga continuidad es falso, es mas fijate la gran cantidad de programas para Linux que todavia se desarrollan desde los años ’90 -.-
La verdad que no sé bien por qué stallman quiere que todo el software sea libre. Está bien que sea libre para que cualquier usuario con conocimientos pueda controlar que no haya un código malicioso oculto, pero aparte de eso no veo cual es la gran ganancia de los usuarios y de la industria. El desarrollo libre por lo general es ad-honorem y por lo tanto no genera mucho compromiso para que el software tenga una continuidad ni sea libre de errores.
Concuerdo con stallman en que no existe software comercial que no pueda ser crackeado, pero de ahí a que es mejor que sea libre porque no tiene sentido portegerlo, hay un largo trecho.
Excelente nota. Clara y con muchos datos técnicos. Aprendí mucho con solo leerla.
Aclaremos otra cosa más, a esta discusión:
El Open Source y Free Software, no son lo mismo, es más son como al-qaeda y el Opus Dei
El FSF(Free Software Foundation) son gente que pregona que ningún tipo de software (y hace unos años joden con el hardware tmb) debe tener propiedad de derecho intelectual.
Justamente debe ser “libre” desde la definición de que no debe tener trabas de acceso.
Para esto mismo, su Bin Laden ( Richard Stallman ), pregona que todo software debe publicar su código de forma abierta y este mismo debe ser accesible al 100% para todos y cada quién es “libre” de hacer lo que quiera con él a excepción de coartar el uso de sus productos.
El Open Source, es un grupo más moderado que simplemente pregona que debe haber una “fuente” gratuita para quién desee usar la fuente.
Por eso está el Open Soruce – Fuente Abierta.
La idea es que si alguien por ejemplo, desarolla un motor nuevo y sin necesidad de combustible (sé que lo hay pero no voy a discutir esto ahora). Ese know-how sea abierto y público en el siguiente sentido.
A vos te lo dan (pago o gratuito, no todo es gratis en FSF y OS) y con ellos te pueden dar o no los planos de cómo se hizo ese motor. Vos tenés derecho a pedirlo y a que te den acceso a esos planos sin ningún pero, así hayas pagado.
El FSF pretende que te den sí o sí el paso a paso, el inventario, los manuales, como capacitar a la gente para usar los elementos, etc todo y todo de cómo se hace ese motor. No importa si el usuario no lo quiere y sólo quiere el producto final (en el caso del software serían los ‘binarios’)
Ahora, yo puedo hacer un auto con ese motor. Para el FSF como yo usé el motor (y a punta de pistola me dieron todo el know how) yo debo liberar el know how de cómo hice mi auto, en eso debo incluir hasta el más mínimo detalle, no se puede omitir hasta siquiera que el pintor del auto usa la mano izquierda en vez de la derecha.
El Open Source, te dice que si vos querés podés publicar la info (los fuentes) de tu auto, o si querés no. Pero sí o sí le tenés que facilitar a tu cliente o comprador, los planos del motor que usaste (y que vos conseguiste de un primer Open Source) en el caso que él te lo solicite.
A mi modo de ver el Open Source es el más moderado y lógico para funcionar en un mundo capitalista y también un poco de caridad y cooperativo.
El FSF pretende una especie de patentamiento comunistas que destruirían la industria del software como negocio y eso haría que muchos se dedicaran a otra cosa.
_———————————-
En el caso del software – Si por ejemplo el DirectX fuera Open Source, vos desarrollas un juego.
Entonces vos tenés que permitirle acceso a tus clientes para todo lo que es DirectX, sin ningún pero.
Pero los fuentes del resto de las casas, que no incluyan al DirectX, como Models, Skins, Diseños, etc. Lo podés hacer Open Source o guardartelos y dales sólo el binario a tus usuarios.
Con el FSF, si el DirectX fuera “free software”, entonces al desarrollar un juego vos deberías dar sí o sí todos los fuentes y binarios del DirectX al usuario final, así el usuario final no quiera y tenga la orden de un juez de no recibir eso.
Además, todo lo que no tenga que ver con el DirectX queda afectado y debés hacerlo “free software”, como por ejemplo Models, Diseños, Historia del Juego e inclusive hasta los diálogos y libretos de los personajes que poco tienen que ver con algún software deben ser “free software” es decir, de acceso sin restricciones para el cliente.
Además, el cliente puede hacer lo que quiera con ello.
Qué quiere decir? En el FSF vos Hacés el Assasin’s Creed 1 y es un exitazo, Bueno otra empresa compra una copia del Assassin’s Creed y accede a todos los fuentes y además de eso a la historia, dialogos y demás del personaje.
Se pone manos a la Obra y lanza el Assasin’s Creed 2 y te roba la idea.
Es como que Ubisoft haga un “Juego 1” y Activision Compre una copia del Juego y haga el “Juego 2”, ahorrándose miles de dólares en guionistas y diseñadores ya que Ubisoft desarrolló la historia, te hizo propaganda y vos sólo tenés que complementarle una secuela y esperar a que la guita te llueva.
————————————————————————-
Este muchachito de la nota no es de Open Source, es del FSF y es un miembro de Al-Qaeda básicamente
[…] ……móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android…) Como todos pueden leer, todos…… Reading… […]
[…] …móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android…) Como todos pueden leer, todos… Reading… […]
Pensar que las mayores trabas para este tipo de dispositivos son los fabricantes de GPUs como nVidia que no liberan sus drivers. Deberia darles verguenza a esos HDPs perjudicando a la gente.
(…Seguimos pensando que Android es nuestra mejor oportunidad de tener un
sistema operativo móvil libre, por lo que no lo dejaremos para migrar a
otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen
los mismos problemas de libertad que Android…)
Como todos pueden leer, todos los sistemas opensource tienen los mismo problemas de copyright con sus drivers. Es todo un problema mientras el mercado de los GPUs este monopolizado por unas pocas empresas.
[…] …………móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android, aún cuando los requerimientos………… Reading… […]
[…] ………móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android, aún cuando los requerimientos……… Reading… […]
[…] ……móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android, aún cuando los requerimientos…… Reading… […]
[…] …móvil libre, por lo que no lo dejaremos para migrar a otros como Firefox OS, Tizen o Ubuntu Touch, que por cierto todos tienen los mismos problemas de libertad que Android, aún cuando los requerimientos… Reading… […]
Excelente nota! Felicitaciones!
Esta buena la idea pero si siguen sin implementar el software para el gpu (o por lo menos eso entendi) en un futuro cercano van a estar complicados. La diferencia entre un Android que usa la GPU para mover la interfaz y otro que no la usar va a ser abismal. Ojala los fabricantes de gpu liberen codigo o les den una mano, aunque lo veo inviable :s
saludos!