sábado, 25 de junio de 2011

Android es software libre, estamos en lo cierto?



Android es un sistema operativo libre. Esto es lo que muchos cometan y lo que casi todos/as conocemos de Android y parece que muchos mal asocian la palabra libre con gratuito y además no se conoce exactamente que tipo de libertad es la que tiene Android. Puede que la clase de libertad que posee Android no sea la que muchos esperan o piensan y puede que incluso estemos equivocados y Android no sea software libre.

Las distintas distribuciones de sistemas operativos basadas en Linux, al igual que Android, son la mayoría gratuitas y se distribuyen bajo ciertas licencias que siendo sinceros nadie lee y casi nadie las tiene en cuenta, pero que las tiene. Es muy común asociar software libre con gratuito pero no es así y no tiene porqué serlo.

Vamos a empezar a definir una serie de conceptos que nos ayudarán a diferenciar lo que significa la libertad de Android.

¿Qué es software libre? Según GNU, “es una cuestión de la libertad de los usuarios de ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software.” Los usuarios de los programas tienen libertad de ejecutar el programa para cualquier propósito, libertad de estudiar como funciona y cambiarlo para que realice lo que queramos nosotros, por tanto hay que tener acceso al código fuente, libertad de distribuir copias y libertad de distribuir copias una vez modificado por nosotros, por tanto también debemos de facilitar nuestro código fuente modificado. El software libre debe de ser gratuito o al precio de costo de la distribución, aunque no es obligatorio que sea así.

Además de sotfware libre existe otro tipo de software que posiblemente confundamos con este y que pensemos que es lo mismo, el código abierto. A continuación veremos que se parecen pero no son la misma cosa.



El código abierto al igual que el software libre requiere de una serie de condiciones o requisitos para que se englobe dentro de este movimiento y que las tenéis aquí. Las condiciones son prácticamente las mismas y aparentemente podríamos decir que la diferencia más notable es ética y filosófica. El código abierto entiende este movimiento como un bien para el propio código, al ser modificado y repasado por muchas personas en teoría debe de mejorarse más y el software libre ve la distribución de software de esta manera como algo beneficioso para los usuarios y no tanto para el código.

Además de esta anterior diferencia existe una que lo hace ser muy diferente y es que el software libre garantiza siempre la libertad de acceso al código mientras que el código abierto no, esta última sólo lo garantiza hasta la versión actual que exista libre pero no en el futuro. Además un software puede ser de código libre y tener partes implementadas a posteriori que no lo sean y por tanto no accesibles para todos.

Ahora bien, tanto el software libre como el código abierto van asociados a unos tipos de licencias que son las autorizaciones con carácter contractual que existen entre el creador y el usuario final. Existen muchos tipos de licencias entre ellas algunas muy conocidas y otras menos como las licencias GPL, Apache, Creative Common, etc… aquí tenéis una lista bastante completa.

Ahora vamos a ir definiendo algo más que es Android. Android es un software de código abierto que se distribuye bajo la licencia Apache V2.

Por tanto nos quedaría entender qué nos dice la licencia Apache para terminar de dar forma al concepto de Android como software libre. La licencia Apache V2 da permiso para:
utilizar el software para cualquier propósito, distribuirlo, modificarlo y distribuir las modificaciones
no tiene copyleft por lo que las versiones modificadas no tienen que ser distribuidas como software libre
compatible con GPL3 pero no con las anteriores
incluye provisiones de protección respecto a patente.

Con todo esto tenemos en pocas palabras que Android es un software de código abierto con el cual ahora mismo tenemos acceso al código fuente del mismo, pero terceras partes, como por ejemplo fabricantes, pueden modificarlo o añadirle código y este no tiene porqué ser liberado. Como sabemos esto es lo que hacen tanto Htc, como Samsung o Sony Ericsson o el resto de fabricantes al crear las distintas interfaces y drivers para sus dispositivos los cuales son propiedad de esas empresas y no tienen la obligación de compartirlo.

Realmente Android es como lo hemos definido anteriormente pero sin contar su núcleo o kernel de Linux el cual posee licencia GPL y que hace el núcleo de Android si sea software libre pero el resto de la plataforma sea de código abierto.

Espero haber dejado algo claro lo que es Android y que podemos esperar de él y hasta donde llegan las atribuciones de Google en cuanto a código y donde empiezan la de las operadoras o fabricantes. Android es libre pero no tan libre como algunos quisiéramos aunque puede que sea la opción más interesante que exista actualmente en el terreno de los sistemas operativos para teléfonos móviles, si bien esto de teléfonos móviles ya se queda algo corto al ver en la cantidad de dispositivos distintos en los que es posible instalar Android.

Android aún sin ser software libre es la antítesis de otros sistemas tales como IOS 4, Windows Mobile o Symbian, sistemas en donde brilla por su ausencia palabras tales como libertad, cooperación, adaptación, código fuente, mejoras públicas o beneficio de la comunidad.

NOTA: Symbian fue liberado como código abierto el pasado 4 de febrero de 2010 y se distribuye bajo la licencia Eclipse Public License (EPL) la cual no es compatible con GPL.

Gracias a bgtanet embajador de OpenSuse y a ramonramon por aclararme algunos conceptos.

No hay comentarios:

Publicar un comentario