Android est un système d’exploitation orienté principalement vers les téléphones portables. Il est constitué du noyau Linux (le noyau de Torvalds), plus quelques bibliothèques, une plateforme Java, et quelques applications. À part Linux, le logiciel des versions 1 et 2 d’Android a été conçu essentiellement par Google. Google l’a sorti sous la licence Apache 2.0, une licence libre laxiste, sans copyleft.
La version de Linux incluse dans Android n’est pas un logiciel entièrement libre puisque, tout comme la version de Torvalds de Linux, il contient des morceaux de code binaire [binary blobs]) non libres dont quelques-uns sont effectivement utilisés dans des machines tournant sous Android. Les plateformes Android utilisent aussi des micrologiciels [firmware] non libres, ainsi que des bibliothèques non libres. À part cela, le code source des versions 1 et 2 d’Android telles que publiées par Google sont libres, mais ce code est insuffisant pour faire tourner l’appareil. Quelques applications qui viennent généralement avec Android sont aussi non libres.
Android est très différent du système d’exploitation GNU/Linux, car il contient très peu de GNU. En effet, le seul élément commun entre Android et GNU/Linux se résume à peu près à Linux, le noyau. Les gens qui font l’erreur de croire que « Linux » fait référence à la totalité de l’écosystème GNU/Linux s’emmêlent les pinceaux, et font des affirmations paradoxales telles que « Android contient Linux, mais ce n’est pas Linux ». Si nous évitons cette confusion au départ, la situation est simple : Android contient Linux, mais pas GNU. Ainsi Android et GNU/Linux sont essentiellement différents.
À l’intérieur d’Android, le noyau Linux reste un programme séparé dont le code source est sous licence GNU GPL version 2. Combiner Linux avec du code sous licence Apache 2.0 représenterait une violation du copyright, puisque les licences GPL version 2.0 et Apache 2.0 sont incompatibles. Les rumeurs que Google a d’une manière ou d’une autre fait passer Linux sous licence Apache sont fausses. Google n’a aucun pouvoir pour changer la licence du code de Linux, et n’a pas essayé de le faire. Si les auteurs de Linux autorisaient son usage sous la version 3 de la licence GPL [en], ce code pourrait ensuite être combiné avec un code sous licence Apache, et la combinaison pourrait être publiée sous licence GPL version 3. Mais Linux n’a pas été publié ainsi.
Google a respecté les règles de la GNU GPL pour Linux, mais la licence Apache sur le reste d’Android n’oblige pas à montrer le code. Google a dit qu’ils n’allaient jamais publier le code d’Android 3.0 (à part Linux). Le code source d’Android 3.1 est caché également. Ainsi, Android 3, en dehors de Linux, est purement et simplement du logiciel non libre.
Source: GNU