Un programme informatique, que ce soit un noyau ou un logiciel, est constitué de nombreuses lignes de code, écrites dans un langage de programmation (le langage C dans le cas du noyau Linux). Ce code n'est généralement pas utilisable en tant que tel. Il faut passer par la phase de compilation qui transforme le code source en programme exécutable, souvent appelé binaire. Il suffit d'avoir le binaire pour utiliser le programme ; on n'a pas besoin des sources du programme.
Il n'existe pas de moyen de remonter aux sources complètes du programme à partir du seul binaire. Quand on achète un logiciel (Microsoft Office par exemple) ou un système d'exploitation (Windows par exemple), on a un CD qui contient le binaire, mais pas les sources. Il est donc impossible de savoir comment le programme est conçu. Par conséquent, on ne peut pas modifier le programme. On peut seulement l'utiliser et éventuellement le copier à l'identique.
Les logiciels propriétaires sont donc les logiciels dont une licence, souvent payante, ne donne qu'un droit limité d'utilisation. On n'a la plupart du temps accès qu'aux binaires de ces logiciels. Certains logiciels propriétaires sont gratuits, on les appelle alors des freewares.
Les logiciels libres sont les logiciels que l'ont peut librement utiliser, échanger, étudier et redistribuer. Cela implique que l'on ait accès à leur code source (d'où le terme équivalent OpenSource).
unix est un système d'exploitation, créé en 1969 par Ken Thompson et Dennis Ritchie. Sa conception a été particulièrement soignée, et apportait plusieurs innovations, notamment le choix d'utiliser plusieurs outils simples et spécialisés, plutôt que des logiciels complexes à tout faire.
Ce système a été adapté par de nombreuses entreprises, qui ont ainsi développé des dérivés d'unix ou Unices, par exemple : xenix de Microsoft, AIX d'IBM ou Solaris de Sun Microsystems.
D'autres systèmes d'exploitation ont ensuite été conçus en s'inspirant des principes d'unix, voire même en recherchant une compatibilité complète avec unix. Le nom unix étant une marque de certification, on parle alors plutôt d'Unix-like. Parmi ces systèmes, les plus connus sont GNU/Linux, les systèmes BSD, Minix ou encore Mac OS X.
Scandalisé par les restrictions imposées par les logiciels propriétaires, Richard Stallman lance, en 1983, le projet GNU (logo Figure 1.1), qui a pour but de développer un système d'exploitation libre complet et inspiré d'unix, afin de contrer le développement croissant des logiciels propriétaires. L'histoire raconte que c'est une histoire de pilote d'imprimante qui lui a fait prendre conscience du danger de la logique propriétaire.
Il fonde alors une association, la Free Software Foundation, (Figure 1.2) et écrit le GNU Manifesto, dans lequel il décrit les quatre libertés fondamentales que doit respecter un logiciel pour être qualifié de logiciel libre (free software en anglais) :
la liberté d'exécution : tout le monde a le droit de lancer le programme, quel qu'en soit le but ;
la liberté de modification : tout le monde a le droit d'étudier le programme et de le modifier, ce qui implique un accès au code source ;
la liberté de redistribution : tout le monde a le droit de rediffuser le programme, gratuitement ou non ;
la liberté d'amélioration : tout le monde a le droit de redistribuer une version modifiée du programme.
Pour donner un cadre juridique aux logiciels du projet GNU, il écrit une licence, la GNU General Public License alias GPL (il existe une traduction française non officielle). Cette licence reprend les quatre libertés fondamentales citées précédemment et impose pour la liberté d'amélioration que les versions modifiées d'un logiciel sous licence GPL ne peuvent être redistribuées que sous cette même licence. Richard Stallman invite alors tous les logiciels libres à adopter la licence GPL (le logo de cette licence est présenté en Figure 1.3).
Très tôt, Linus Torvalds adopte la licence GPL pour son noyau Linux. Aujourd'hui, de très nombreux logiciels libres sont distribués sous Licence GPL (VLC media player par exemple). Mais la licence GPL n'est pas la seule licence utilisée pour les logiciels libres. Par exemple, il existe aussi la licence BSD, qui diffère de la licence GPL par le fait qu'une version modifiée d'un logiciel sous Licence BSD peut être redistribuée sous une autre licence, même propriétaire.
Linux désigne au sens strict un noyau de système d'exploitation.
Le noyau est la couche de base d'un système d'exploitation. C'est le noyau qui gère la mémoire, l'accès aux périphériques (disque dur, carte son, carte réseau, etc.), la circulation des données sur le bus, les droits d'accès, les multiples processus qui correspondent aux multiples tâches que l'ordinateur doit exécuter en même temps, etc.
Par contre, le noyau ne gère pas le mail, l'affichage des pages Web, ou encore le traitement du texte. Ce sont des programmes ou applications qui s'en chargent. Ces programmes viennent se greffer sur le noyau, et ils doivent être adaptés à celui-ci.
Ce noyau de système d'exploitation a l'originalité d'être multi-utilisateurs et multi-tâches et de fonctionner sur de nombreuses plates-formes (Intel, PowerPC, Sparc, etc.). Il est conforme à la norme posix et est distribué sous Licence GPL. Il a la réputation d'être fiable, stable et sécurisé. Son appartenance au monde du libre garantit une correction rapide des erreurs qui pourraient être découvertes.
Comme nous venons de le voir, Linux ne se suffit pas à lui-même. Avec un simple noyau, on ne peut rien faire ! Le noyau Linux vient donc à l'intérieur de distributions.
Une distribution GNU/Linux, c'est un ensemble cohérent de plusieurs choses :
un noyau Linux ;
un ensemble de logiciels de base issus du projet gnu ;
d'autres programmes, en libres (un navigateur Web, un lecteur de Mail, un serveur FTP, etc…), issus d'autres projets ;
éventuellement, quelques logiciels propriétaires ;
une méthode pour installer et désinstaller facilement ces programmes ;
un programme d'installation du système d'exploitation.
Le noyau Linux ne se suffit donc pas à lui-même, mais on fait souvent un abus de langage en désignant par le terme Linux ce qui est en fait une distribution GNU/Linux.
Il existe de nombreuses distributions GNU/Linux : comme par exemple Red Hat, Mandriva, SUSE, Ubuntu ou Debian (celle que je vous propose d'installer).
La plupart des distributions sont gratuites, car constituées exclusivement de logiciels libres ou de programmes propriétaires gratuits. On peut donc télécharger les images d'installation librement sur Internet. On peut également acheter des boîtes contenant les DVD dans le commerce. Les prix vont d'une dizaine d'euros pour couvrir les frais d'édition des DVD à plusieurs dizaines d'euros pour des produits comportant une documentation abondante et un support technique pour une certaine durée.
Linux naît en 1991 dans la chambre d'un étudiant finlandais, Linus Torvalds. Il développe un noyau en s'inspirant des principes du système d'exploitation unix. Son but initial est de s'amuser et d'apprendre les instructions Intel 386. Quand son noyau commence à marcher, il le met en libre téléchargement sur Internet en demandant aux gens de l'essayer et de lui dire ce qui ne marche pas chez eux.
De nombreuses personnes se montrent intéressées et l'aident à développer son noyau. Dès la version 0.12, il choisit de mettre Linux sous licence GPL. Quelques années plus tard, d'autres bénévoles commencent à créer des distributions Linux.
Aujourd'hui, le succès de Linux s'explique par la qualité technique du noyau, par la présence de nombreuses distributions Linux qui facilitent l'installation du système et des programmes, mais s'explique surtout par son appartenance au monde du Libre qui lui apporte une grande rapidité et qualité de développement. Le nombre d'utilisateurs de Linux est aujourd'hui estimé à plusieurs millions !
Si vous voulez en savoir plus sur l'histoire de Linux et de son père fondateur, Linus Torvalds, je vous conseille le livre qu'il a écrit intitulé Just for fun - History of an accidental revolution.