Le logiciel libre

Introduction

Le projet GNU

La Free Software Foundation

Le logiciel libre

La licence GNU GPL

La licence GNU LGPL

La licence GNU FDL

Gagner de l'argent avec la GNU GPL

Placer un logiciel sous GNU GPL

Quelques liens...



Pour comprendre le concept de «logiciel libre», il convient de définir ce qu'est un logiciel (ou programme).

Du point de vue de l'utilisateur, un logiciel est une application qui répond à l'un de ses besoins (traitement de textes, jeu, explorateur de fichiers, lecteur audio,...). C'est une suite de petites instructions invisibles pour l'utilisateur, qui forme un tout cohérent.

Ces logiciels ont besoin d'un système d'exploitation pour fonctionner. Le système d'exploitation permet d'accéder aux ressources de la machine (lecteur de disquette, écran, clavier, ...). C'est aussi le système d'exploitation qui se charge d'exécuter les instructions du programme constituant le logiciel.

Les instructions d'un logiciel sont écrites dans un langage que l'ordinateur peut comprendre, le langage machine (ou langage binaire). En revanche, il est très difficile (voir impossible) à un humain de le comprendre (c'est de plus interdit dans de nombreux pays). La manière la plus courante de créer un logiciel est de l'écrire dans un langage informatique compréhensible par des humains, et ensuite de le traduire vers le langage binaire. Cette traduction est effectuée par un logiciel appelé compilateur. Le logiciel dans sa forme compréhensible est appelé source du logiciel, ou source du programme (celui-ci est aussi appelé "code source" par abus de langage), et dans sa version en langage machine, il est appelé "binaire".

Le «logiciel libre» se rapporte donc à la liberté pour les utilisateurs d'exécuter, de distribuer, d'étudier, de modifier et d'améliorer le logiciel. Plus précisément, cela réfère à quatre niveaux de libertés :

  • La liberté d'utiliser/exécuter le logiciel pour quelque usage que ce soit.
  • La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins.
  • La liberté de redistribuer des copies.
  • La liberté d'améliorer le programme, et de rendre publiques vos améliorations de telle sorte que la communauté toute entière en bénéficie. Par conséquent, l'accessibilité du code source est une condition requise pour un logiciel libre.
  • Voici quelques exemples de logiciel libre :

  • Le système d'exploitation GNU/Linux.

  • Les environnements de composition de textes, formés des outils TeX, LaTeX, Lyx, ainsi que groff.

  • Les environnements de traitement d'images Gimp (concurrent très sérieux de Photoshop), Gyve.

  • Les éditeurs GNU Emacs, ainsi que tous les autres logiciels GNU, dont gcc, g++, gawk, gmake, que vous pourrez retrouver sur le site de GNU.

  • L'environnement graphique multi-fenêtres XFree86 (bien que sa licence ne soit pas la GNU GPL).

  • Les différents langage de programmation Python, Scheme, Caml, MesaGL. Notons que la plupart de ces langages ne sont pas sous licence GPL mais sont bien des logiciels libres.

  • La base de données relationnelle MySQL.

  • Samba qui permet d'utiliser une machine Unix comme serveur de fichiers et d'imprimantes pour des clients sous Macintosh ou Windows, ainsi que d'accéder aux ressources partagées de ces machines.

  • VNC (Virtual Network Computer) qui permet d'utiliser un même bureau sur plusieurs machines d'architectures différentes.