Linux, open source et logiciel libre…retours d’expériences

« Ensemble pour une connaissance accessible à tous…partager la vôtre ! »

Bienvenue à tous !

Sommaire

Carnet de route d’un sysadmin

Si la nature a rendu une chose moins propre que toutes les autres à la propriété exclusive, c'est l'action de la puissance pensante appelée une idée,
qu'un individu possède seulement tant qu'il la garde pour soi; dès l'instant où elle est divulguée, elle s'impose à la possession de tous et celui qui la reçoit ne peut s'en défaire.
Ce qui en fait aussi sa particularité est que personne ne la possède moins, car chacun la possède en entier.
Celui qui reçoit une idée de moi, l'ajoute à son savoir sans diminuer le mien; de même que celui qui allume sa torche au feu de la mienne, reçoit la lumière sans me plonger dans les ténèbres.
Thomas Jefferson

A travers ce blog je souhaite partager mes passions. Pour l’informatique principalement et plus particulièrement pour le monde de l’Open Source, le système d’exploitation Linux et les logiciels libres  ( ͡~ ͜ʖ ͡°) .

Je souhaite aussi remercier toutes les personnes qui créent, ou ont créé, des systèmes d’exploitation mais aussi des logiciels et qui choisissent de les distribuer librement et sans contre-partie. Merci aussi à tous ceux et celles qui contribuent à la documentation et aux multiples « howto » que l’on peut trouver sur la Toile.

Mon activité professionnelle me permet d’étudier, de mettre en oeuvre et documenter des solutions techniques variées. Ce site est un moyen de vous faire profiter du résultat de ce travail, à travers des articles et retours d’expérience.
J’espère, grâce à ce blog, pouvoir modestement apporter ma petite pierre au bel édifice du logiciel libre.

Différence entre logiciel libre et logiciel propriétaire

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 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 du programme à partir du seul binaire. Quand on achète un logiciel (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 pour lesquels on n’a accès qu’aux binaires. Généralement, on doit acheter le logiciel, ce qui nous donne le droit d’utiliser les binaires dans la limite des termes du contrat de licence.

les quatre principes fondamentaux du projet GNU

gnu_vachebarbu_linux_image

Le projet GNU démarre en 1983 sous l’impulsion de Richard Stallman. Scandalisé par les restrictions de libertés imposées par les logiciels propriétaires, il lance ce projet pour accélérer le développement des logiciels libres, qui étaient très peu nombreux à l’époque. L’histoire raconte que c’est une histoire de driver d’imprimante qui lui a fait prendre conscience du danger de la logique propriétaire.

Il fonde alors une association, la Free Software Foundation (FSF), 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):

    • Nous sommes libre d’éxecuter le programme quel qu’en soit son usage.
    • Quels que soient nos besoin, nous sommes libres d’étudier et d’adapter le fonctionnement du programme.
    • Afin d’aider notre prochain, nous sommes libres de redistribuer des copies du programme.
    • Au profit de la communauté, nous sommes libres d’améliorer le programme et de publier ces améliorations.

Ces notions de liberté sont protégées par une licence appelée GPL sous laquelle sont publiés les programmes respectant les critères du projet GNU.
Richard Stallman invite alors tous les logiciels libres à adopter la licence GPL. 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 (VideoLAN 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.

Qu’est ce qu’un logiciel libre ?

(Définition du site Wikipédia qui résume parfaitement le concept)

Un logiciel libre est un logiciel dont l’utilisation, l’étude, la modification et la duplication en vue de sa diffusion sont autorisées, techniquement et légalement. Ceci afin de garantir certaines libertés induites, dont le contrôle du programme par l’utilisateur et la possibilité de partage entre individus.

Ces droits peuvent être simplement disponibles (cas du domaine public) ou bien établis par une licence, dite « libre », basée sur le droit d’auteur. Les « licences copyleft » garantissent le maintien de ces droits aux utilisateurs même pour les travaux dérivés.

Les logiciels libres constituent une alternative à ceux qui ne le sont pas, qualifiés de « propriétaires » ou de « privateurs ». Ces derniers sont alors considérés par une partie de la communauté du logiciel libre comme étant l’instrument d’un pouvoir injuste, en permettant au développeur de contrôler l’utilisateur. Le logiciel libre est souvent confondu à tort avec :

  • les freewares (gratuiciels): un gratuiciel est un logiciel gratuit, alors qu’un logiciel libre se définit par les libertés accordées à l’utilisateur. Si la nature du logiciel libre facilite et encourage son partage, ce qui tend à le rendre gratuit, elle ne s’oppose pas pour autant à sa rentabilité principalement via des services associés. Les rémunérations sont liées par exemple aux travaux de création, de développement, de mise à disposition et de soutien technique. D’un autre coté les logiciels gratuits ne sont pas nécessairement libres, car leur code source n’est pas systématiquement accessible, et leur licence peut ne pas correspondre à la définition du logiciel libre.
  • l’Open Source: selon son initiateur, est un mouvement social qui repose sur les principes de Liberté, Égalité, Fraternité; l’open source, décrit pour la première fois dans La Cathédrale et le Bazar, s’attache aux avantages d’une méthode de développement au travers de la réutilisation du code source. Dans La Cathédrale et le Bazar, Eric Raymond relate le développement du système d’exploitation Linux et du logiciel Fetchmail et expose les différences fondamentales entre le processus de développement de ces logiciels open source et celui des logiciels Emacs et gcc. Une des conclusions partant de ce constat est le concept « Release early, release often » (« Publiez tôt, publiez souvent »). Mieux vaut publier un logiciel fonctionnel mais imparfait, dynamique et pouvant bénéficier des contributions de chacun (marché) que d’attendre un stade de développement avancé (cathédrale). L’auteur y décrit le modèle de développement de Linus Torvalds en le comparant à un bazar: cette manière de développer des logiciels, par la coopération d’une multitude de développeurs, se caractérise par une adaptabilité et une flexibilité dite hiérarchie « bazar » impossible dans une structure organisée dans la hiérarchie dite de « statut »; on peut y voir une analogie avec le principe de l’ordre spontané (Eric Raymond étant libertarien) ;

Le mouvement du logiciel libre et le mouvement open source sont comme deux partis politiques à l’intérieur de la communauté du logiciel libre.
La différence fondamentale entre les deux mouvements se situe dans leurs valeurs, leurs façons de voir le monde.

Pour le mouvement open source, la question de savoir si un logiciel devrait être open source est une question pratique, non éthique. Comme quelqu’un l’a dit : « le mouvement open source est une méthodologie de développement ; le mouvement du logiciel libre, un mouvement social ».
Pour le mouvement open source, un logiciel non libre est une solution sous-optimale.

Pour le mouvement du logiciel libre, le logiciel non libre est un problème social et le logiciel libre en est la solution. Les logiciels libres garantissent les quatre libertés fondamentales décrites ci-dessus, alors que les logiciels OpenSource ne garantissent a priori que le droit d’accès au code source. Dans la pratique, l’adjectif OpenSource est souvent employé à la place de libre.

Pourquoi mettre à disposition gratuitement des logiciels ou des systèmes d’exploitation ?

(Source: www.gnu.org)

Vous pourriez penser : Pourquoi est-ce que les gens passent des heures de leur temps libre à réaliser des logiciels, les empaqueter soigneusement et ensuite les donner ? Les réponses sont aussi variées que les gens qui contribuent. Certaines personnes aiment aider les autres. Beaucoup réalisent des programmes pour en savoir plus sur les ordinateurs. De plus en plus de gens cherchent à éviter l’inflation des prix des logiciels. Une foule de plus en plus nombreuse contribue en remerciement de tous les logiciels libres géniaux qu’ils ont reçus des autres. Dans le monde académique, de nombreuses personnes créent des logiciels libres pour aider à la diffusion de l’utilisation des résultats de leurs recherches. Des entreprises aident à maintenir des logiciels libres de façon à avoir leur mot à dire sur la façon dont ils sont développés : il n’y a pas de moyen plus rapide pour avoir une nouvelle fonctionnalité que de la développer soi-même ! Bien sûr, beaucoup d’entre nous trouvent simplement cela très amusant.

Qu’est ce que Linux ?

 Le noyau

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

440px-Linux_kernel_mapCouches de fonctions du Noyau Linux

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.

Distribution Linux

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 Linux, c’est un ensemble cohérent de plusieurs choses:

  • Un noyau Linux,
  • Des programmes, en majorité libre (un navigateur Web, un lecteur de Mail, un serveur FTP, etc),
  • Une méthode pour installer et désinstaller facilement ces programmes,
  • Un programme d’installation du système d’exploitation.

On fait souvent un abus de langage en désignant par le terme Linux ce qui est en fait une distribution Linux. Il existe de nombreuses distributions Linux; par exemple RedHat, Mandriva, SuSE, ou Debian. 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 CDs librement sur Internet. On peut également acheter des boîtes contenant les CDs dans le commerce. Les prix vont d’une dizaine d’euros pour couvrir les frais de presse des CDs à plusieurs dizaines d’euros quand il y a une documentation abondante et un support technique pendant une certaine durée.

Naissance de Linux

linustorvaldspinguin

Linux naît en 1991 dans la chambre d’un étudiant Finlandais, Linus Torvalds. Il développe un noyau en s’inspirant de la philosophie 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. C’est le 5 octobre 1991 qu’il présente, sur un forum, la seconde ébauche de son noyau en version 0.02 et fait appel à la contribution de développeurs. Voici son message traduit en français:

De: Linus Benedict Torvalds
Sujet: Sources d'un noyau libre(ou gratuit) de type minix 
pour 386-AT 
Newsgroups: comp.os.minix 
Date: 1991-10-05 08:53:28 PST 

Regrettez-vous avec nostalgie le bon vieux temps de minix-1.1, quand les hommes étaient des durs et écrivaient eux-mêmes les pilotes pour leur matériel ? Êtes-vous sans projet intéressant et avez-vous envie de mettre les mains dans le cambouis d'un OS que vous pouvez adapter à vos besoins ? 

Est-ce que ça vous énerve quand tout marche bien sous minix ? Ne passez-vous plus de nuits blanches à essayer de faire marcher un super programme ? Alors ce message est sûrement pour vous. 
Comme je l'ai dit il y a un mois, je travaille en ce moment sur une version libre (ou gratuite) d'un minix-like pour les machines de type AT-386. C'en est enfin à un stade où il est même utilisable (ou pas, ça dépend de ce que vous voulez), et j'ai envie de distribuer ces sources à une plus grande échelle. Il en est seulement à la version 0.02 (+1 avec déjà un (très petit) patch), mais j'ai réussi à exécuter bash/gcc/gnu-make/gnu-sed/compress etc. avec. 

Les sources de mon projet peuvent être trouvées à nic.funet.fi (12.214.6.100) dans le répertoire /pub/OS/Linux. Ce répertoire contient aussi un fichier README et quelques binaires pour travailler sous linux (bash, update et gcc, que demander de plus ?). Les sources complètes du noyau sont fournies, car rien du code de minix n'a été utilisé. Les sources des bibliothèques ne sont que partiellement libres, donc elles ne peuvent pas être redistribuées pour le moment. Le système peut être 
compilé tel quel et est censé fonctionner. Heh. 
Les sources des binaires (bash et gcc) sont situées au même endroit,dans /pub/gnu. 
ALERTE! AVERTISSEMENT! NOTE! Ces sources ont tout de même besoin de minix-386 (et gcc-1.40, peut-être même 1.37.1, je n'ai pas essayé) pour être compilées. 
En plus, vous avez besoin de minix pour le configurer et l'installer si vous voulez le lancer, donc ce n'est pas encore un système indépendant. Pour ceux qui n'ont pas minix, j'y travaille. Vous avez aussi besoin d'être un peu bidouilleur pour le configurer, donc ceux qui cherchent une alternative à minix-386, passez votre chemin. Il est pour l'instant destiné aux bidouilleurs qui sont intéressés par les systèmes d'exploitation et les 386 qui ont accès à minix. 

Le système a besoin d'un disque dur compatible AT (IDE est parfait) et EGA/VGA. 
Si vous êtes toujours intéressé, veuillez lire le README/RELNOTES sur le ftp, et/ou envoyez-moi un mail pour des infos supplémentaires. 
Je vous entends déjà (enfin, presque) vous demander "pourquoi ?". Le HURD va sortir dans un an (ou deux, ou un mois, qui sait), et j'ai déjà minix. Ceci est un système pour les bidouilleurs par un bidouilleur. Je me suis bien amusé à le faire, et ça plaira peut-être à quelqu'un d'y jeter un coup d'oeil et même de l'adapter à ses propres besoins. Il est suffisamment petit pour le comprendre, l'utiliser et le modifier, et j'attends impatiemment les commentaires que vous pourriez y apporter. 
Ca m'intéresserait aussi de prendre contact avec quelqu'un qui a écrit un(e) utilitaire/bibliothèque pour minix. Si le fruit de vos efforts est librement redistribuable (sous copyright ou même dans le domaine public), j'aimerais prendre contact avez vous, pour l'ajouter au système. J'utilise pour l'instant estdio de 
Earl Chews (merci pour ce système sympa et fonctionnel, Earl), et des travaux similaires sont les bienvenus. Vos (C) (copyrights) seront bien sûr laissés intacts. Envoyez-moi un message si vous désirez me laisser utiliser votre code.
Linus

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, mais aussi par la présence de nombreuses distributions Linux qui facilitent l’installation du système et des programmes. Il 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.

Les dates clés

  • 1983: Le projet GNU est officiellement crée par Richard Stallman le 27 septembre.
  • 1989: La licence GPL est publiée à sa version 1 par la FSF.
  • 1991: Linux Torvald annonce sur Internet la création de Linux version 0.01.
  • 1992: Grâce à un noyau aboutis (version 0.96), les premières distributions GNU/Linux voit le jour.
  • 1993: Ian Murdock crée la distribution Debian. Linux en ai à sa version 0.99 et plus de 100 développeurs y contribuent.
  • 1995: La première version officiel d’Apache apparait au mois d’Avril.
  • 1996: La version 2.0 de Linux sort le 8 juin. On estime à 1,5 millions le nombre d’utilisateurs.
  • 2004: Basé sous Debian, la distribution Ubuntu voit le jour au mois d’octobre.

Pourquoi changer pour une distribution basée sous Linux ?

Je propose souvent les distributions Linux comme système d’exploitation alternatif. Souvent dans le même contexte…une personne me sollicite car son pc est devenu trop lent, infecté par un ou plusieurs parasites ou bien une autre est paniquée de ne plus pouvoir accéder correctement à ces données, ou encore elle est frustrée de ne plus pouvoir surfer sur le Web sans être envahie de fenêtres indésirables.

Le plantage du système d’exploitation d’origine livré avec le PC ou encore l’infection par un virus, un malware, un trojan ou je ne sais quel autre parasite ont souvent été des occasions pour moi de faire découvrir à quelqu’un qu’il existe des systèmes d’exploitation alternatifs… autre que Microsoft Windows ou Apple Macintosh pour faire fonctionner des ordinateurs !

Je leur propose alors d’essayer une distribution Linux installée sur une clé USB ou disponible sur un Live CD. Elles sont étonnées de voir que l’on peut rapidement et efficacement retrouver l’usage de son PC (surfer sur Internet, lire ses mails, traiter ses documents, etc) et accéder à leurs données même si le système d’exploitation propriétaire installé est défaillant.
Et oui !  un des nombreux avantages des systèmes d’exploitation basés sous Linux est la « portabilité » de ceux-ci. Peu gourmand en ressource, ils peuvent être testés ou être utilisés sans installation depuis une clé USB ou un CD.

Au préalable Il faut graver la distribution Linux sur un CD/DVD ou créer une clé USB où sera copié la distribution. Voici quelques liens pour créer une clé USB bootable depuis Windows:

http://www.pendrivelinux.com/yumi-multiboot-usb-creator/
– https://dakeez.wordpress.com/2011/11/11/tuto-20-logiciels-pour-creer-une-cle-usb-bootable-sous-windowsmac-linux/

Ensuite, après avoir inséré le CD/DVD ou la clé USB, il faut lors du démarrage du PC appuyer sur la touche du clavier permettant de choisir l’unité de démarrage (disque dur, lecteur de CD, clé USB, etc.). Voir la documentation de son pc si besoin. Si cette option n’est pas disponible sur votre PC alors il faudra modifier l’ordre de démarrage depuis le BIOS (d’abord le lecteur de CD/DVD ou l’USB puis le disque dur). Là aussi, voir la documentation du PC afin de savoir quelle touche permet d’accéder au BIOS (généralement la touche « suppr », « del », F2 etc.).

Il suffira après de choisir de démarrer depuis le lecteur de CD/DVD interne ou depuis le support USB pour lancer la distribution.
Il existe pour cela plusieurs tutos qui expliquent comment installer une distribution Linux à côté, ou en remplacement, de Windows. On trouve de multiples vidéos sur Youtube qui indique comment faire cela. Un exemple avec la vidéo ci-dessous d’Antoine indiquant comment installer la distribution Ubuntu:

Aussi, la force des systèmes basés sous Linux et de la grande majorité des logiciels libres (et/ou Open Source) réside en partie dans l’alliance, la contribution autour d’un projet des multiples développeurs, traducteurs et utilisateurs à travers le monde. Contrairement à certains systèmes propriétaires qui diffusent des correctifs de leurs applications une fois par mois ! dès lors qu’un bug ou qu’une faille de sécurité à été découvert dans un projet communautaire, que la solution à été trouvée, celle-ci est rapidement diffusée. Une fois la publication effectuée les machines se voient immédiatement proposées des mises à jour, nous garantissant ainsi une meilleur stabilité et/ou sécurité du système d’exploitation ou de l’application concernée. Nous avons eu récemment la preuve avec la faille découverte dans bash (lire cet article: http://linuxfr.org/news/une-faille-nommee-shellshock).

De plus, même si certains projets de logiciels n’ont d’intérêt que pour certaines personnes, des communautés indépendantes et sans pressions financières, peuvent se réunir autour du projet, permettant ainsi au logiciel d’aboutir.
De nombreux logiciels qui manquaient d’intêrets financiers pour des éditeurs ont pû ainsi voir le jour grâce au travail d’une communauté de développeurs, traducteurs et d’utilisateurs issuent des quatres coins du monde.

Le modèle économique alternatif que propose linux et les logiciels Open Source ont convaincu de nombreux services au seins de plusieurs gouvernements (L’éducation national Français, Québec, Japon) et grandes entreprises (Google, la NASA, Amazon, etc): lire aussi cet article: http://www.techrepublic.com/article/five-big-names-that-use-linux-on-the-desktop/)

Les distributions basées sous Linux ont une même base…le noyau Linux. Pour moi, le choix d’une distribution dépend alors:

  • Des performances de notre ordinateur. Selon la capacité de notre poste, certaines distributions sont plus légères et conviendront mieux à des postes très anciens ou disposant de peu de ressource.
  • Des exigences esthétiques que nous avons envers l’environement de bureau (disposition des menus, « design » des fenêtres et thèmes de bureau disponibles, logiciels par défaut fournis, etc).
  • De notre faculté d’adaptation face aux changements. Notre « acclimatation » au monde du logiciel libre et de l’Open Source dépendra de notre ouverture d’esprit, de notre motivation, de l’envie de découvrir d’autres solutions informatiques proposées dans de multiples domaines tel que la bureautique, le multimédia, la communication, etc.

Liens

Correspondance entre logiciels libres et logiciels propriétaires

Débuter sur un système basé sous Linux


“La connaissance a plus de valeur et s’accroît rapidement lorsqu’elle est partagée et accessible librement…”

Ce document est publié sous licence Creative Commons
Attribution, Partage à l’identique, Contexte non commercial 3.0 : http://creativecommons.org/licenses/by-nc/3.0/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

“La connaissance a plus de valeur et s’accroît rapidement lorsqu’elle est partagée et accessible librement…”