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.
Excelente, gracias por las definiciones.
Symbian fue liberado al poco de ser totalmente adquirido por Nokia, por lo demás, excelente artículo.
Cierto, se me pasó. Ya corregido, gracias.
Hasta que punto pueden los fabricantes impedir instalar un nuevo kernel, si este es GPL?
Hablo de Motorola y su bootloader.
Buen artículo, aunque un poco confuso con el termino «código abierto», al que citas también como «código libre». En realidad el matiz en la concepción de libertad no se da en exclusiva en Android. El «enfretamiento» entre los defensores del «software libre» vs «Open Source» o «código abierto» viene de lejos. Como dices, es más una discusión filosófica.
En realidad yo ni siquiera habría entrado a generar un debate sobre esto. Android es Open Source o Software Libre y punto. Google pone a disposición de la comunidad el código de cada versión, desde su núcleo hasta las partes básicas del sistema (las que le interesan), pero no las aplicaciones, que son propietarias de sus dueños. Pasa lo mismo que en cualquier distribución Linux. Que el núcleo sea libre no quiere decir que toda la distribución completa lo sea. De hecho lo normal es que no lo sea. Incluso el núcleo viene compilado con drivers propietarios. ¿Esto es bueno? No. Pero tiene una importancia relativa.
Puedes tomar nota que incluso el núcleo de Mac OSX es «libre» bajo licencia BSD y está a disposición de la «comunidad». Lo mismo pasa con desarrollos de aplicaciones importantes como gecko y webkit en el ámbito de los navegadores de internet. El primero para Firefox y el segundo para Safari y Chrome.
El mundo del software libre es fantástico y permite un nivel de cooperación entre desarrolladores de diferentres empresas imposible si no existieran este tipo de licencias.
Gracias, perdón por lo de nombrar mal de dos formas distintas lo mismo, no me había dado cuenta. Realmente yo no pretendo generar debate solo puntualizar lo que realmente significa ser software open source como lo es Android, ya que viendo algunos otros medios me doy cuenta que tienen una idea equivocada de lo que significa. Esperan de sistema Android y de Google una serie de cosas que no serán porque no tienen porqué serlo.
Respecto a que OpenSource y Software libre son lo mismo a excepción de la manera filosófica de entenderlo, yo no soy experto en esto pero me han asesorado personas que sí lo son , y me dicen que no son lo mismo tal como indico en el post.
Yo creo al igual que mencionas que las empresas no pondrían de sus parte si no viesen una parte económica en esto, y para eso están las licencias que le dan poder a las empresas para legalmente añadir cosas y que estas sean cerradas. Pero por eso mismo, y me reitero, creí conveniente explicar estos aspectos de la «libertad en Android» ya que muchos piensan que todo es libre y Google o los fabricantes están obligados a dar el código.
Un saludo
Te estás armando un lío bastante gordo con lo de «código abierto»…
Open Source es exactamente lo mismo que Software Libre. Las únicas diferencias son filosóficas.
Los del OS dicen que la libertad del software lo hace superior técnicamente y están más abiertos a las empresas.
Y los del SL dicen que la libertad del software lo hace superior éticamente y miran con más recelo a las empresas.
Lo de que el software libre da «siempre la libertad de acceso al código» no tiene que ver con el Open Source, si no con el Copyleft.
El Copyleft no es una licencia, como erróneamente indicas más abajo. Tampoco existe la licencia «Creative Commons», las licencias CC son varias y bastante diferentes entre sí.
El Copyleft es un TIPO de licencia de Software Libre/Open Source que indica que si modificas el código, debes liberar el código modificado bajo la misma licencia que el original. Es la famosa «cláusula vírica».
Hay SL/OS que es Copyleft y hay SL/OS que no es Copyleft. Pero sea o no sea Copyleft, todo es Software Libre porque cumple las 4 libertades. El Copyleft solo es un subconjunto del Software Libre.
Ejemplos de licencias libres no copyleft: BSD, Apache, Creative Commons Attribution (CC-by)
Ejemplos de licencias libres copyleft: GPL, Creative Commons Attribution ShareAlike (CC-by-sa)
Que algunas partes de Android no tengan una licencia con Copyleft no hace que dejen de ser Software Libre.
Hola @Hass. Tú dices que el SL es igual al OS y que lo único que lo diferencia es la filosofía, eso pensaba yo también. Personas como el que fue Vicepresidente de Hispalinux, la mayor asociación de habla hispana del mundo, me ha comentado que no es así y que las diferencias son las que expongo en el post. Además de esta persona también me lo han comentado otras personas más.
El CC es una licencia que engloba a otras como el CC by, el CC by sa nc, etc… . En tu exposición me dices que el copyleft no es una licencia pero en un párrafo posterior dices que el copyleft es un TIPO de licencia. ¿es o no es?. Android no es software libre es Open Source como bien deja especificado la propia Google.
Yo no soy experto en este tipo de materias pero por eso pedía consejo a personas que creo que sí lo son y puede que la razón la tengas tú, pero sin saber más de tí en principio voy a confiar más en estas personas que se quienes son.
Hola @juanjux. El cobrar, como indico en el post, no está reñido con que sea software libre por lo que da igual que cobre como que no.La licencia Apache no es software libre ni codigo obierto es una licencia que como tal lo único que es un contrato donde se especifican las condiciones de uso.
Un saludo
Bueno, estaría bien que aclararas que los términos que has usado los has aplicado según tu opinión. Como dice Hass, da la impresión de que te has liado un poco (te lo dice uno que lleva haciendo software libre desde 1996, a veces cobrando por ello). Realmente estaría bien que incorporases las aclaraciones de Hass porque tiene más razón que un santo en lo que dice.
Decir que la licencia Apache es código libre pero no software libre es mucho decir. Android es una base que es software libre, sobre la cual se pueden poner partes propietarias. Pero por ejemplo el AOSP (Android Open Source Project), que es la base del famoso CyanogenROM, es totalmente software libre.
Y las distribuciones de Linux no tienen licencia; tienen licencia los paquetes que las componen (distintas licencias).
@antocara: la licencia Apache en sí lógicamente no es software libre, pero (creo que se entendía), el software bajo esa lciencia es software libre.
El software libre es open source y el open source es software libre, la única diferencia de términos es si hablas con un pragmático (como yo) o un purista que lo pueden llamar de una forma u otra, pero no son cosas distintas, son sinónimos. No se si el de hispalinux te lo explicó diferente, pero igual no te enteraste muy bien de la explicación, creemé 🙂 Si no, invítale a esta conversación y lo discutimos entre todos.
Hass tiene razón con lo las licencias CC. Realmente son varias licencias, y muy distintas entre sí, algunas se pueden llamar libres y otras definitivamente no. Es una confusión muy común entre bloggers no tan metidos en temas de licencias. Por ejemplo Enrique Dans publica su libro bajo una licencia CC NO libre y luego cita a Stallman para celebrar su publicación (olé sus huevos).
Cuando Hass te dice que el copyleft no es una licencia sino un TIPO de licencia creo que está bastante claro y seguro que así lo entiendes: «pantalón» no es una prenda específica (no hay un objeto marca pantalón modelo pantalón), es un TIPO de prenda. Lo mismo con copyleft, es una categorización, pero no una licencia específica como das a entender en el artículo cuando la enumeras junto a otras licencias (también copyleft).
Un saludo.
El problema de la licencia Apache es que el código que tu le añadas si quieres lo puedes cerrar, no te obliga abrirlo. Lo de las CC ya digo que son varias, utilice un termino genérico.
Ahora con tu explicación ya he entendido lo de Copyleft 🙂 Sinceramente no lo había pillado antes. Modifico eso.
Respecto a que Software libre y OS es lo mismo, como te digo yo creía que eran iguales pero voy a comentarlo otra vez con la persona que me lo dijo. Un saludo
A los que dicen que OS y SL son lo mismo: intentar decirselo a Richard Stallman xDDDD
De acuerdo con tal definición, el software es «libre» si garantiza las siguientes libertades:
0-la libertad de usar el programa, con cualquier propósito.
1-la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
2-la libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
3-la libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.
El SL defiende estas libertades y las hace posibles siempre. El OS, al poder ser cerrado en algún punto del desarrollo rompería estas libertades.
antocara dice «Vicepresidente de Hispalinux»
Quiero pensar que le has entendido mal y que no ha soltado semejante burrada.
Me gustaría leer su comentario para ver si tengo que echarme las manos a la cabeza o no…
[^BgTA^] dice «El SL defiende estas libertades y las hace posibles siempre. El OS, al poder ser cerrado en algún punto del desarrollo rompería estas libertades.»
No sé de donde sacas tal burrada. Por favor, infórmate un poco antes de decir tales burradas en forma de consejos.
Tanto el SL como el OS puede ser cerrado en algún punto del desarrollo por el autor (que puede cambiar la licencia cuando quiera).
Creo suponer que confundes «Open Source» con «licencia sin cláusula de copyleft». Pero eso no tiene sentido: las licencias típicas sin copyleft: BSD, Apache, CC-by, están aprobadas tanto por la FSF como por la OSI. Y la FSF las considera licencias de software libre.
http://www.gnu.org/licenses/license-list.html#ModifiedBSD
«This is the original BSD license, modified by removal of the advertising clause. It is a simple, permissive non-copyleft free software license, compatible with the GNU GPL»
http://www.gnu.org/licenses/license-list.html#apache2
«This is a free software license, compatible with version 3 of the GPL»
http://www.gnu.org/licenses/license-list.html#ccby
«This is a non-copyleft free license»
Estáis diciendo la burrada de que Android, por estar bajo licencia Apache 2, no es software libre. Cuando el proyecto GNU (la FSF) pone clarísimamente que la licencia Apache 2 es SOFTWARE LIBRE:
«This is a free software license, compatible with version 3 of the GPL»
Te recomiendo leer:
http://www.gnu.org/philosophy/free-software-for-freedom.html
http://www.gnu.org/philosophy/open-source-misses-the-point.html
«Nearly all open source software is free software. The two terms describe almost the same category of software, but they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement. For the free software movement, free software is an ethical imperative, because only free software respects the users’ freedom. By contrast, the philosophy of open source considers issues in terms of how to make software “better”—in a practical sense only. It says that nonfree software is an inferior solution to the practical problem at hand. For the free software movement, however, nonfree software is a social problem, and the solution is to stop using it and move to free software.
“Free software.” “Open source.” If it’s the same software, does it matter which name you use? Yes, because different words convey different ideas.»
Y para el resto de licencias:
http://www.opensource.org/licenses/alphabetical
http://www.gnu.org/licenses/license-list.html#SoftwareLicenses
antocara, esa página dice lo que te he puesto antes. Que el SL y el OS solo tienen diferencias filosóficas.
De la fuente que cita ese artículo, primeras dos líneas:
«Aunque en la práctica el software de código abierto y el software libre comparten muchas de sus licencias, la FSF opina que el movimiento de código abierto es filosóficamente diferente del movimiento del software libre.»
Fíjate en lo de «comparten muchas de sus licencias» y «filosóficamente diferente» y cómparalo con lo que he puesto arriba. Es lo mismo.
En la práctica (el uso de las liencias) son lo mismo. La única diferencia es la filosofía de la gente que está detrás de cada movimiento.
también dice «La fuentes abiertas en cambio es más bien una estrategia de la industria tecnológica: compartir el código (compartir esfuerzos y gastos hasta cierto punto) pero permitiendo que cualquiera puede “derivar” un programa y cerrarlo completamente»
Según lo expresado por Jordi Mas i Hernàndez en su liibro Softwre Libre Tecnicamente Viable Economicamente Sostenible y Socialmente justo, Software libre y Open source son terminos similares Aca dejo la definicion que hace del open source.
«Durante el año 1998, Eric S. Raymond, Bruce Perens y otros hackers involucrados en el desarrollo de software libre lanzaron la Open Software Initiative y propusieron el uso de término open source (código abierto) en contraposición al término free software (software libre) como término más atractivo al entorno empresarial.
El término free software en el mundo anglófono creaba una situación incómoda debido a la doble acepción que en inglés tiene el término free (que puede significar gratuito o libre). La gran mayoría de empresas en Estados Unidos usan principalmente el término código abierto para evitar dar la percepción que el software libre es un recurso totalmente gratuito y para poner énfasis en valor diferencial que representa el hecho de que el código fuente está disponible.»