2. Les logiciels libres

2.1. Définition

Selon Wikipedia. Un logiciel est l'ensemble des éléments informatiques qui permettent d'assurer une tâche ou une fonction (exemple : logiciel de comptabilité, logiciel de gestion des prêts). Le terme logiciel est souvent employé pour programme informatique et inversement. Un logiciel peut être composé d'un seul et unique programme informatique, surtout en micro-informatique récente, où les performances des processeurs et les capacités mémoires bon marché permettent de faire de gros programmes exécutables.En général, un logiciel est principalement composé d'un ou de plusieurs programmes, mais également de données qui lui permettent de fonctionner. Les programmes peuvent être de différentes formes : exécutables, bibliothèques dynamiques (dll Windows ou so GNU/Linux), ou encore fichiers sources pour un interpréteur (par exemple des scripts Perl ou PHP).Les données peuvent également être de différents formats: fichiers classiques, bases de données (relationnelles, hiérarchiques, etc.). En micro-informatique, les images, notamment les icônes, sont souvent intégrées dans l'exécutable.

2.2. Définition générale de Logiciel

Mot inventé en 1967 par Philippe Renard pour remplacer le terme anglais "software". Le logiciel est composé d'instructions exécutées par un ordinateur, par opposition au dispositif physique sur lequel il fonctionne (le "hardware"). Le "programme" est composé de la liste d'instructions écrite par le programmeur en langage de programmation (Langage de programmation tel que le langage C, le langage C++, le langage Java, le langage Python, etc), souvent stockée dans un simple fichier, tandis que le "logiciel" est le nom décrivant un certain nombre d'instructions constituées d'un ou plusieurs programmes. Le programme est lisible par toute personne entrainée et il est nommé le code source, celui-ci constitue la recette du programme, il est jalousement conservé par les éditeurs de logiciels (seuls les logiciels dit libres ou Open-Source distribuent leur code source), les caractéristiques d'un logiciel sont clairement décrites dans le code source (suite binaire de 0 et de 1, seules instructions comprise par la machine). Puis celui-ci est transformé en langage machine par des compilateurs. Après transformation nous obtenons les binaires, interprétables par la machine, mais il faut encore l'adapter au logiciel système (Microsoft Windows, Mac OS, Linux, BSD, etc.) pour faire fonctionner notre logiciel. Une fois adapté à notre système le logiciel est prêt à être installé et exécuté.

On classe les logiciels d'après la disponibilité du code source et de la licence qui régit la distribution du programme:

  • Code ouvert: tout le monde peut lire le code source. Ce n'est pas synonyme de logiciel libre.

  • Code fermé: le code source n'est disponible que pour une minorité de personnes.

  • Logiciel libre: tout le monde peut étudier, copier, distribuer et modifier le logiciel (définition de la freesoftware foundation. Les logiciels libres sont protégés pour la plupart par une licence d'utilisation.

  • logiciel propriétaire: au moins un de ces droits n'est pas rempli pour les utilisateurs. La plupart du temps, acquérir une licence d'utilisation nécessite le paiement d'une certaine somme aux créateurs du logiciel.

  • logiciel commercial: logiciel destiné à la vente, il peut être libre ou propriétaire.

2.3. Présentation du logiciel libre

2.3.1. Un peu d'histoire ... la génèse

L'histoire commence au début des années 80 aux Etats-Unis d'Amérique, un chercheur du M.I.T.(Massachusetts Insitute of Technology) répondant au nom de Richard Matthew Stallman (RMS) se retrouva dans une impasse philosophique suite à l'arrêt de la section de recherche en informatique à laquelle il participait. En effet il travailla des années en partageant son savoir avec ses collègues et ce dans la plus grande confiance, alors quel dilemne pour lui de participer à l'enrichissement d'une société en vendant ses connaissances à la plus offrante, perdant ainsi l'occasion d'offrir au monde ses acquis. Pour rester en accord avec sa conscience, RMS décida de créer le principe du logiciel libre afin que ses connaissances profitent aux plus grand nombre, il définit les 4 principes élémentaires du logiciel libre:

  • 1° liberté 0: la liberté d'éxecuter le programme, pour tout les usages.

  • 2° liberté 1: la liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins. Pour ceci l'accès au code source est une condition requise.

  • 3° liberté 2: la liberté de redistribuer des copies, donc d'aider votre voisin.

  • 4° liberté 3: la liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toutela communauté. Pour ceci l'accès au code source est une condition requise.

2.3.1.1. Le projet GNU

A la suite de cette déclaration, il créa une fondation, la "Free Software Fondation" qui a pour objectif la promotion et le développement des logiciels libres, par cette fondation il commence à écrire les programmes essentiels à la création d'un système entièrement libre. Pour protéger les logiciels GNU des entreprises commerciales, Richard Stallamn décide de rédiger une licence qui lui permettera de protéger ses logiciels de l'avidité des entreprises, il rédige alors la "Gnu Public Licence". Celle-ci reprend les 4 principes élémentaires et lui adjoint tout l'arsenal juridique possible afin se protéger (Le baptème du feu de la GPL est venu d'Allemagne en 2004, 20 ans après !, où un juge a estimé qu'une entreprise violait la GPL.). Il baptisa l'ensemble, projet GNU, acronyme récursif de "GNU is Not Unix", il faut se souvenir qu'au début des années 80, Unix était LE système propriétaire par excellence.

2.3.1.2. L'Open Source Initiative

Une autre mouvance est apparue à la fin du siècle dernier, 1998 pour être plus précis. Ce courant de défenseurs du logiciels libres se considèrent plus "souple" que la FSF. Tout à commencé avec l'annonce que Netscape allait devenir logiciel libre, un groupe d'acteurs du libre ont voulu anticiper la venu au monde libre de Netscape, ils se sont alors inspirés des principes du logiciels libre selon Debian, définissant donc ce qui pour eux devait être un logiciel libre, voici les dix critères retenus: version original de la licence OSI (Version 1.9). Une définition en français est disponible pour la version 1.8.

2.3.2. Comprendre le libre ...

2.3.2.1. D'où vient le logiciel libre ?

Les premiers Logiciels Libres (nommé aprés LL) ont été développés par Richard Stallman lui-même, il créa les logiciels de développement indispensables pour démarrer son utopie, ce fût tout d'abord des logiciels de compilation et autres programmes pour créer des LL avec des outils libres. Après quelques temps, la base de développement des LL fût opérationnelle, il ne restait plus que le noyau baptisé Mach, le coeur de son système d'exploitation libre, qu'il decida de nommer Hurd, mais un choix technique extrèmement ambitieux (un système micro-noyaux) pour l'époque freina son ambition d'un système libre (Encore aujourd'hui en 2005, le système Hurd n'est pas exploitable en production). C'est alors qu'en 1991, un étudiant Finlandais du nom de Linus Torvald, décida d'étudier le fonctionnement des processeurs x386 et écrivit un programme compatible POSIX (norme des UNIXs) pour comprendre le fonctionnement du processeur. Il créa pour le plaisir un noyau basé sur les logiciels GNU pour Unix, comme les logiciels utilisé sont tous sous licence GPL, celui-ci distribua son noyau sous Licence GPL. Un engouement sans précédant s'empara de l'association des logiciels GNU et du noyau Linux, le développement s'accéléra à vitesse exponentielle grâce à l'aide de hackers (Le terme Hacker désigne un passionné d'informatique, non un pirate comme le veut la croyance populaire). A l'origine, le mot anglais "hacker" signifie:écrivain qui travaille dur, sans reconnaissance social, cf: "nègre" en français.) répartis à travers le monde. A sa sortie officielle (version 1.0 en mars 1994) le système Linux posséde déjà une solide réputation, bien qu'il soit encore réservé à une élite de hackers, le système semble devenir prometteur. Depuis décembre 2003, le noyau 2.6.x est opérationnel améliorant encore les compétences du système GNU/Linux. L'élément moteur du développement des logiciels libres est l'Internet, en effet la circulation de l'information est la source de vie de la communauté du libre, le système GNU/Linux en est l'exemple le plus frappant, celui n'aurait sûrement jamais vu le jour sans la circulation d'information entre les développeurs disséminés de part le monde. Par la suite la communauté du libre s'étoffe de logiciels aussi varié qu'efficace dans tout les domaines (bureautique, Dessin Assisté par Ordinateur -DAO-, navigateur internet, messagerie instantanée, etc). Tout d'abord réservé au système libre tel GNU/Linux et BSD, les logiciels les plus performants sont aujourd'hui disponibles sous Microsoft Windows et sous Mac OS, certains sont même supérieurs à leur homologue propriétaire. On peut nommer pour les plus connus et les plus efficaces, disponibles sur toutes les plateformes :

  • la suite bureautique OpenOffice.org qui remplace sans inconvénient le Pack Office de Microsoft

  • le navigateur internet Mozilla Firefox qui dépasse l'obsolète et dangereux Internet Explorer

  • l'excellent The Gimp qui traitera vos images aussi bien que le coûteux Photoshop

  • Avidemux,le couteau suisse de la vidéo peut allègrement remplacer VirtualDub

  • les logiciels de Messageries Instantanés tel que Gaim ou bien aMSN

  • pour le web, le serveur Apache et le langage PHP

  • bien d'autres encore, moins connus mais diablements efficaces

Les LL sont arrivés à maturité après 20 ans d'existance, la communauté du libre a muri, 2006 est l'année de la reconnaissance, le principe de développement est entré dans les moeurs, les plus sérieux LL ont une réputation sans faille et les plus grandes administrations s'équipent en logiciels libres.

2.3.3. Pourquoi devrais je utiliser un logiciel libre ?

2.3.3.1. Pour l'éthique

A l'heure de la sensibilisation citoyenne aux problèmes du renouvellement de l'énergie et de la gestion des déchets, il est souvent question du développement durable, le logiciel libre est dans la lignée du développement durable, selon la définition gouvernementale: "un développement qui répond au besoin du présent sans compromettre la capacité des générations futures à répondre aux leurs." (1987 - Mme Gro Harlem Bruntland ancienne Premier Ministre de Norvège).