Beruflich Dokumente
Kultur Dokumente
Matthieu Aubry
Dossier réalisé dans le cadre du cours d'expression de Premier Cycle de l'INSA de Lyon
- Avril 2004 -
Bibliographie....................................................................................22
Les logiciels sont écrits par des êtes humains qui font effectuer des actions
à la machine via un langage pré-défini et limité, mais compréhensible et lisible.
Le programmeur (celui qui écrit des logiciels) développe des programmes dans
un langage que l'on peut qualifier d'universel. Chaque programmeur comprend
ce qu'un autre écrit (si leur niveau ne sont pas trop différents et si le style n'est
pas trop original ― ou particulièrement mauvais).
Voici ce que l'on appelle un code source (écrit ici dans un langage appelé
« langage C ») :
#include <stdio.h>
int main ()
{
int compteur;
for (compteur = 1; compteur <= 5; compteur = compteur + 1)
{
printf("Nous sommes au tour n°%d \n", compteur);
}
}
Le logiciel privé
Contrairement aux idées couramment admises, le logiciel privé représente
plus de 80% du marché. Il correspond aux logiciels développés au sein des
entreprises, et qui ne sont pas diffusés en dehors de cette entreprise. Ils
peuvent accompagner un éventuel service facturé ou non, mais la question de
la diffusion du code source ne se pose pas pour cette famille de logiciels. Il est
important de voir que la majorité des logiciels ne sont pas conçus dans le but
d'être diffusés.
Le logiciel propriétaire
La famille de logiciel propriétaire englobe tous les logiciels qui ne sont pas
Le logiciel libre
La solution proposée par certains développeurs est de mettre à disposition
de tous, en mêmes temps que le programme binaire compilé, le code source
lisible écrit par le programmeur : c'est le principe général du logiciel libre. Les
utilisateurs ont alors le droit de lire ce code source (cela semble évident), mais
surtout de le modifier et de pouvoir en profiter : ils ont alors le droit de « re-
compiler » pour eux mêmes le programme qui reprendra en compte les
modifications effectuées. Pour assurer une continuité de leur travail et pour
que le logiciel progresse d'une manière globale, les utilisateurs qui ont fait des
améliorations ont le droit de soumettre leur code source aux autres utilisateurs
du logiciel afin que chacun puisse en profiter. Dans la plupart des cas (pour ne
pas dire dans tous les cas) l'utilisateur en question (qui est aussi un
développeur, donc) transmettra ses améliorations au développeur initial du
logiciel qui se chargera de les intégrer et de distribuer son logiciel avec ces
améliorations. Le travail personnel d'un utilisateur-développeur profite alors à
l'entière communauté, et l'on peut imaginer que si ces personnes là sont
nombreuses, le développement peut atteindre une vitesse très importante et le
logiciel rencontrer un large succès.
En regard de cette méthode se situe le modèle « classique » de
développement dans lequel les utilisateurs se contentent de donner au(x)
développeur(s) les problèmes et bugs rencontrés (logiciel propriétaire énoncé
précédemment). Les développeurs doivent alors eux-mêmes chercher les
sources des erreurs, les corriger et re-transmettre leurs corrections. Cette
méthode est encore largement utilisée par certaines grandes entreprises de
développement informatique (Microsoft, Adobe, Macromedia, etc.).
Le processus de développement du logiciel libre conduit lui à une
suppression plus rapide des erreurs, et ainsi à une stabilisation (un logiciel est
stable lorsqu'il ne « bugge » plus) et amélioration certaine. Ce processus de
développement accéléré ne peut avoir lieu que si l'utilisateur a accès aux
codes sources.
Illustration 1 :
Philosophie
Les licences de type copyleft ne sont pas très nombreuses, la plus utilisée
étant la licence GNU GPL. Une licence s'applique aux logiciels qui déclarent
être régis par cette licence. Le choix de la licence est effectué par le
développeur avant la publication d'une version de son logiciel. Le développeur
a la possibilité d'écrire lui même sa propre licence pour son programme ; cela
est vivement déconseillé car les complications d'une licence mal écrite peuvent
être très importantes et entraîner des problèmes pendant de nombreuses
années pour le logiciel en question.
La licence GNU/GPL
Le texte de licence de la GPL n'est pas couvert lui même par la GPL car il
est évident que si chacun pouvait modifier la licence, elle n'offrirait plus de
protection juridique. Nous avons le droit de copier et de diffuser une exacte
copie de cette licence, mais sans aucune modification (comme un texte de loi
classique).
La licence GPL satisfait les 4 conditions de la liberté au sens de la FSF,
conditions énumérées précédemment et étant à la base de la définition d'un
logiciel libre. Elle interdit donc de rendre des modifications secrètes, elle
rendre libre l'utilisation, la modification et la distribution du logiciel. Elle interdit
La licence GNU/LGPL
Avec cette licence, conçue pour les bibliothèques de logiciels (c'est à dire
les programmes qui s'utilisent de manière externe, des programmes qu'il suffit
« d'appeler » et qui ne sont donc pas directement au sein même du logiciel), il
est autorisé pour un logiciel propriétaire d'inclure des morceaux de logiciels
libres sous licence LGPL. Cela a permis d'utiliser la bibliothèque du langage C
(qui définit en quelque sorte la base du langage que le programmeur utilisera
pour développer un logiciel) pour faire des logiciels commerciaux non libres. Si
cette bibliothèque n'avait pas été distribuée sous licence LGPL, elle n'aurait pu
servir qu'à développer des logiciels libres et n'aurait donc pas connu le succès
qu'elle a actuellement.
Les logiciels libres, comme nous venons de le voir, ont avant tout une
signification technique et idéologique. Nous pouvons nous questionner sur la
viabilité de ce modèle à différents niveaux : économiquement, produire du
logiciel libre peut il être rentable ? Utiliser du logiciel libre est il vraiment
bénéfique ? Humainement ensuite, comment expliquer l'engouement des
développeurs pour ce modèle ? Quelle est leur motivation ?
Vendre une licence propriétaire pour des clients non satisfaits par une
licence libre
Une entreprise ayant développé un logiciel libre qui connaît un grand
succès (succès bien entendu largement favorisé par la libre copie et la
disponibilité du code source) ne peut donc pas vivre de la vente directe de
licences propriétaires si celles ci sont en tout point identiques aux licences
Illustration 4 : Le GNU,
symbole du projet GNU
Voici les textes qui m'ont inspiré et permis de mener ma réflexion. Je n'ai
pas pris le temps de référer chaque citation (toutes les citations sont entre
guillemets) à son document d'origine, mais une simple recherche de cette
citation sur Google (moteur de recherche le plus utilisé et certainement le plus
pertinent : http://www.google.fr) donnera un lien vers le document d'origine,
car la plupart sont des articles tirés de livres mais publiés en parallèle sur
Internet.
Sites d'associations
• MySQL : http://www.mysql.com
• phpMyVisites : http://www.phpmyvisites.net
• LinuxFR : http://www.linuxfr.org
• Alinto : http://www.alinto.com