gulum/argumentaire_faecum/Logiciels_Libres.tex

424 lines
20 KiB
TeX

\section{Logiciels libres}
%Definir ce qu'est un logiciel libre
\subsection{Qu'est-ce que c'est?}
De façon générale, un \emph{logiciel} est un ensemble de données, de
programmes et de documents destinés à accomplir une certaine tâche. Il
existe des logiciels pour traiter du texte, gérer des tableaux de
données, dessiner par ordinateur, etc.
Plusieurs de ces logiciels sont développés par des entreprises qui les
rendent accessibles aux utilisateurs sous des licences restrictives et
moyennant le paiement de sommes parfois très élevées.
D'autres logiciels sont disponibles gratuitement pour le grand public.
Il existe plusieurs types de logiciels, dont les applications, les
utilitaires et les
systèmes d'exploitation. Une \emph{application} permet de manipuler ou
de produire des documents.
Par exemple, cela inclut les traitements de texte, les tableurs, les
logiciels de dessin, etc.
Un \emph{utilitaire} permet quant à lui de manipuler des données et
d'aider à la maintenance de l'ordinateur.
Par exemple, un logiciel permettant de compresser des fichiers ou de
réparer des documents endommagés peut être considéré comme un
utilitaire au même titre qu'un défragmenteur de disque.
Un \emph{système d'exploitation} fournit finalement un environnement
dans lequel les logiciels peuvent cohabiter et s'exécuter.
Il existe quatre catégories de logiciels en fonction de la license
sous laquelle ils sont distribués.
\begin{description}
\item[Commercial] Pour utiliser un logiciel commercial, le client doit
en faire l'achat. Le fournisseur d'un tel logiciel offre des
informations générales à propos de son produit, des vidéos montrant
ses fonctions de base mais aucune version d'essai.
\msw\ et \mso\ sont des exemples de logiciels
commerciaux.
\item[Partagiciel] Aussi appelé \angl{shareware} en Anglais, un
partagiciel est un logiciel qui peut être librement distribué mais
qui n'offre qu'un nombre limité de fonctionnalités ou ne fonctionne
que pendant un temps limité.
L'utilisateur d'un partagiciel a la possibilité, après la période
d'essai, d'acheter la version complète du logiciel.
\soft{Paint Shop Prop}\texttrademark\ de \soft{Jasc}\textregistered\
et
\soft{WinZip}\texttrademark\ sont des exemples de
partagiciels.
\item[Gratuiciel] Aussi appelé \angl{freeware} en Anglais, le
gratuiciel est offert gratuitement sous certaines conditions, par
exemple pour usage personnel seulement.
L'anti-virus \soft{AVG Free}\texttrademark\ de
\soft{Grisoft}\textregistered\ est
un exemple de gratuiciel.
\item[Libre] Aussi eppelé \angl{free} en Anglais, le logiciel libre,
que nous allons étudier plus en profondeur ici, peut être utilisé et
distribué sans restriction.
Comme nous allons le voir, c'est beaucoup plus qu'un logiciel gratuit!
\end{description}
Plus précisément,
un logiciel \emph{libre} répond aux quatre
caractéristiques suivantes.
\begin{enumerate}
\item Il peut être utilisé par toute personne ou organisme, sans
restriction. En particulier, un logiciel libre peut être employé autant
pour un usage personnel que commercial.
\item L'utilisateur d'un logiciel libre dispose du droit de le
distribuer à tout autre personne ou organisme.
\item Le code source du logiciel, c'est-à-dire les documents lisibles
par l'être humain à partir
desquels une
version définitive et exécutable est produite, est disponible pour tout
utilisateur désirant le consulter.
Habituellement, le code pourra être téléchargé depuis Internet.
\item Tout utilisateur peut se procurer et modifier le code source
pour ensuite distribuer des versions modifiées du
logiciel. Idéalement, les modifications seront bien entendu
propagées dans le code source original du logiciel.
\end{enumerate}
Cette définition s'inspire de celle donnée par Roberto Di Cosmo
\cite{dicosmo} lors de
sa conférence sur les logiciels libres donnée en avril 2007,
au Département
d'Informatique et de Recherche Opérationnelle (DIRO) de l'Université
de Montréal.
Parmi les logiciels libres figurent des applications, des utilitaires
et même des systèmes d'exploitation.
%Presenter la philosophie du libre
\subsection{Avantages des logiciels libres}
Le bénéfice le plus évident des logiciels libres est sans nul doute
leur coût minime de mise en place et d'utilisation. Il suffit en effet
de télécharger le produit
souhaité et de l'utiliser, sans devoir payer de redevances à son
fabricant ou se soumettre à un contrat de licence long et restrictif.
Par contre, les avantages des logiciels libres vont bien au-delà de la
simple réduction des coûts \cite{PFA07}: une plus grande robustesse,
une meilleure sécurité, un soutien technique simplifié, etc.
\paragraph*{Robustesse.}
Puisque le code source du logiciel peut être librement téléchargé et
consulté, plusieurs personnes sont susceptibles de l'examiner. Cela
permet de mieux cerner les bogues et ainsi d'améliorer la robustesse
du produit.
Cette accessibilité du code source est sans nul doute à l'origine de
la grande robustesse du système d'exploitation \linux\ qui s'exécute de
nos jours sur un grand nombre de serveurs hébergeant des sites Web
importants sur Internet, par exemple Google.
\paragraph*{Sécurité.}
Souvent,
des failles de sécurité permettent à des personnes malveillantes de
s'introduire sur un serveur et d'en perturber le fonctionnement, par
exemple en modifiant des pages Web hébergées, en surchargeant
volontairement la machine ou en manipulant des données sensibles (statut
d'utilisateurs, comptabilité, etc.).
Une faille de sécurité permet aussi à un virus de s'incruster
dans un ordinateur et de causer divers problèmes pour l'utilisateur,
allant du simple agacement à de lourdes pertes de données.
Dans un logiciel libre, de telles failles sont plus facilement
visibles puisque n'importe qui peut consulter le code source.
Cela semble à première vue
faciliter la vie aux personnes malveillantes, mais il n'en
est rien puisque les failles détectées peuvent être corrigées par les
développeurs du logiciel et que les utilisateurs peuvent mettre les
logiciels à jour sans contraintes de licence.
En bref,
l'accessibilité du code source fait en sorte que la sécurité doit se
fonder sur des hypothèses plus fortes que le secret, ce qui accroît la
sécurité.
\paragraph*{Pérennité du logiciel.}
L'utilisateur peut continuer à employer un logiciel libre, même si ce
dernier n'est
plus développé par son fabricant. Un logiciel libre ne \og meurt\fg\
pas; il continue toujours d'exister et son développement peut être
repris par toute personne désireuse de le faire.
Par opposition, si une entreprise cesse de développer un logiciel dont
elle détient jalousement le code source, plus personne ne peut
poursuivre le développement si bien que l'utilisateur est contraint de
changer de logiciel si l'entreprise cesse de le maintenir.
\paragraph*{Liberté de mise à jour.}
Si la version actuelle de son logiciel préféré lui convient
parfaitement, l'utilisateur n'est pas obligé, lorsqu'une nouvelle
version voit le jour, de l'adopter.
D'un autre côté, l'utilisateur désireux de suivre l'évolution de son
logiciel préféré peut le faire sans autre coût que le téléchargement
et l'installation de mises à jour.
Dans le cas de logiciels commerciaux, l'utilisateur est tenu d'adopter
les nouvelles versions et de
faire évoluer son matériel en conséquence, mais son refus de le faire
ne lui cause que des désagréments.
Les organismes qui paient des coûts annuels pour renouveler des
licences peuvent quant à eux être forcés de faire la mise à jour si le
concepteur décide de ne plus renouveler leur contrat de licence.
%Prenons par exemple le système d'exploitation \msw.
%L'utilisateur particulier disposant d'une copie de Windows~98 peut
%certes continuer de l'utiliser, mais se voit privé de toute
%possibilité de mise à jour de sécurité.
%Le nombre de logiciels auxquels il a accès diminue de jour en jour et
%il ne peut s'attendre qu'à peu de soutien technique de la part de
%\ms.
%Son seul recours est alors de mettre son système d'exploitation à
%jour.
Avec les logiciels libres, l'utilisateur met son produit à jour
\emph{au besoin}, il est \emph{libre} de le faire à sa convenance.
\paragraph{Égalité des chances en éducation.}
Du côté scolaire, il est avantageux d'utiliser des logiciels libres
pour permettre à tout étudiant d'y avoir accès.
Toute personne disposant chez elle d'un ordinateur peut alors
télécharger et installer les logiciels dont elle a besoin pour sa
formation.
Cela évite des coûts pour les étudiants, mais aussi pour l'université
qui n'a pas à établir d'entente avec les fournisseurs pour la
distribution de logiciels aux étudiants.
Cela libère aussi des postes à l'université puisque davantage
d'étudiants peuvent travailler chez eux ou avec leur ordinateur
portable.
\paragraph{Support technique.}
Les logiciels libres diminuent également le coût du support technique.
D'abord, la robustesse de ces logiciels diminue les coûts de
maintenance, permettant aux techniciens de se consacrer à des tâches
plus intéressantes telles que l'apprentissage de nouvelles
technologies et l'assistance aux employés et aux étudiants.
De plus, les techniciens ont moins besoin de traiter les détails
spécifiques de chaque version d'un même produit. En cas de problème
technique avec une ancienne version, une mise à jour vers la plus
récente version, toujours possible sans coût, permet soit de résoudre
la difficulté, soit de donner aux technien les outils pour la traiter.
\subsection{Philosophie du Libre}
Beaucoup de gens se demandent comment \og vit\fg\ un logiciel
libre. Il existe en fait plusieurs processus de développement pour un
tel produit.
Dans le mode le plus simple et à première vue
le moins prometteur, un programmeur
amateur construit un logiciel pour résoudre un problème précis et
décide de le mettre à la disposition de tous les utilisateurs en le
publiant sur Internet.
Souvent, un tel logiciel évolue peu.
Par contre, une personne ou un organisme désireux de faire évoluer le
logiciel peut le télécharger et le modifier.
Le système d'exploitation \linux\ a par exemple débuté de cette façon.
D'autres logiciels libres proviennent de produits commerciaux que
leurs concepteurs ont rendus disponibles pour la communauté. Par
exemple, le navigateur Web \firefox est un descendant du navigateur
\soft{Netscape}, mais il a beaucoup évolué depuis que le code source
original
est devenu libre.
Une entreprise rendant un logiciel libre de cette façon se réserve
habituellement le droit d'en faire des versions non libres plus
étendues, mais la version libre demeurera toujours disponible.
Maintenant, comment un informaticien peut-il faire de l'argent avec un
logiciel libre? À première vue, cela semble difficile.
Par contre, supposons qu'une entreprise éprouve un besoin particulier
qu'aucun produit sur le marché ne puisse combler.
Cette entreprise engagera alors un informaticien pour développer une
solution.
Cet informaticien pourrait fort bien partir d'un logiciel libre existant,
lui ajouter la fonctionnalité requise et rendre cette fonctionnalité
disponible pour qu'elle soit intégrée à la version officielle du
logiciel.
L'entreprise qui a engagé l'informaticien a, dans ce cas, non seulement
comblé son besoin initial, mais a en plus permis à la communauté
entière de
bénéficier de la solution.
Ceci contribue à enrichir le logiciel en question et encourage
d'autres entreprises à procéder de même pour développer de nouvelles
fonctionnalités.
%Recoupe un peu avec ce qui devrait aller dans la section
%Rétrocession.
% Peut-être faudra-t-il déplacer des choses d'ici vers là ou faire des
% liens...
\subsection{Exemples de logiciels libres}
Il existe un très grand nombre de logiciels dont voici quelques
exemples.
Tous les logiciels présentés ici comportent l'avantage de la
portabilité, c'est-à-dire qu'ils sont disponibles autant pour
\msw, \applemac\ que \linux.
\begin{description}
\item[\firefox] \cite{Mozilla}
Navigateur Web semblable à \msie\
doté de plusieurs fonctionnalités intéressantes telles que la
navigation par onglets et le blocage des fenêtres \textsl{popup}.
Contrairement à \msie,
ce navigateur ne prend pas en charge ActiveX qui est une source
importante de problèmes de sécurité.
Son apparence peut être
personnalisée par des thèmes et un système de composantes
enfichables permet d'y ajouter une foule de fonctionnalités.
\item[\soft{Mozilla Thunderbird}] \cite{Mozilla}
Client de messagerie électronique
semblable à \ms\ \soft{Outlook Express}.
Comme son complément \soft{Firefox}\texttrademark, \thunderbird procure une
grande
sécurité, permettant par exemple de filtrer les messages
indésirables, de ne pas afficher les images des courriers
électroniques et dispose lui aussi d'un système d'extensions
permettant de greffer des nouvelles fonctionnalités.
\item[\ooo] \ooo
Suite bureautique comportant un traitement de
texte, un tableur, un concepteur de diaporamas, etc., et
utilisant un format de documents ouvert appelé
OpenDocument (voir section~\ref{sec:ofmtex}), mais il peut également
lire et écrire des fichiers
dans le format de \mso\ 95/97/2000/XP/2003.
\item[\soft{The GIMP}] \cite{Gimp}
Logiciel d'édition d'images permettant entre autres la
retouche de photographies.
\soft{The Gimp} prend en charge plusieurs formats d'images courants et
possède des fonctionnalités rivalisant avec le logiciel commercial
\soft{PhotoShop}\texttrademark\ de la firme \soft{Adobe}\textregistered.
\item[\soft{Inkscape}] \cite{Inkscape} Logiciel de dessin vectoriel
utilisant principalement le format SVG (voir
section~\ref{sec:ofmtex}).
\item[\soft{7-Zip}] \cite{7zip} Logiciel de compression de données
permettant de stocker des fichiers dans des archives au
format 7z. 7-Zip prend aussi en charge le format ZIP plus courant
ainsi que la décompression d'archives dans d'autres formats tels
que RAR, CAB, etc.
\end{description}
\proposition{Que l'Université de Montréal
installe les logiciels \firefox,
\thunderbird et \ooo\ sur
tous ses postes informatiques afin que tout étudiant
ou employé
ait la possibilité de les découvrir.}
\proposition{Que l'Université de Montréal favorise
la distribution massive aux étudiants
de disques
compacts regroupant des logiciels libres. Des disques tels que The
Open CD \cite{TheOpenCD} ou des distributions de \linux\ pourraient
par exemple être
offerts à faible coût dans les librairies de l'Université et aux
comptoirs multiservices de la FAÉCUM.}
Évidemment, le système d'exploitation \linux\ est un autre exemple
important de logiciel libre.
Ce système permet d'accomplir à peu près les mêmes tâches que son
homologue \msw tout en étant affranchi des contraintes
de licences.
Son architecture le rend moins vulnérable aux virus et l'utilisateur a
accès à une interface semblable à celle de \msw.
L'installation de \linux a été grandement simplifiée ces
dernières années et des logiciels sont disponibles pour exploiter
presque tous les types de fichiers, même certains formats
propriétaires.
Nous croyons qu'une personne utilisant son ordinateur pour des
fonctions de base telles que naviguer sur Internet, consulter sa
messagerie électronique et se servir d'un traitement de texte pourrait
sans trop de difficulté migrer vers \linux.
\proposition{Que l'Université de Montréal
Incite les étudiants à découvrir \linux\
et à l'utiliser. Ceci peut se faire entre autres
en installant \linux\ sur
quelques postes de l'Université, en offrant aux étudiants des
distributions de \linux\ sur disques compacts,
en offrant du soutien technique
pour ce système, etc.}
%Quelques succès du libre dans université/organisations gouvernementales
\subsection{Exemples de succès du libre}
Plusieurs écoles et gouvernements ont migré avec succès vers des
logiciels libres, permettant dans bien des cas une réduction des coûts,
mais aussi l'accroissement de la fiabilité des systèmes.
Par exemple, dans la commission scolaire de Kamloops, en
Colombie-Britannique,
les écoles primaires et secondaires ont troqué leurs solutions
logiciels à base de Novell pour un système fondé sur \linux\
\cite{BYF07}.
Initialement, ils ont rencontré de la résistance de la part des
professeurs qui ne souhaitaient pas adapter leurs cours aux nouveaux
logiciels et des techniciens formés pour les logiciels propriétaires.
Par contre, lorsque les techniciens ont été formés pour administrer
les logiciels libres, ils ont vu leur charge de travail diminuer en
raison de la réduction du travail de maintenance nécessaire et ont pu
venir en aide aux professeurs.
Lors de sa conférence au DIRO, en avril 2007, Roberto Di Cosmo a
mentionné
l'implantation de \ooo\ au sein du ministère français, un
projet qui fut fructueux. \ms\ ne voulait plus renouveler leur
contrat de
licence annuel pour \soft{Office}~97 si bien qu'ils devaient passer à
la
version~2003. Cela occasionnait des coûts de formation en plus de la
licence. Au
lieu de former les employés à \soft{Office}~2003, ils les ont formés à
\ooo, ce qui a donné des résultats fructueux.
Dans le cas du ministère
des Finances, l'objectif n'était pas de sauver de l'argent et
pourtant, ils en ont sauvé malgré tout!
\subsection{Le problème de la formation}
La nécessité de former les employés est un argument fréquemment
utilisé contre la migration vers une nouvelle solution logicielle.
Par exemple,
plusieurs personnes pensent que passer de \mso\ vers
\ooo\ nécessitera un long apprentissage, que la formation à
\ooo\ sera aussi longue que celle à \soft{Office} et qu'elle sera
coûteuse.
Il n'en est rien, car les mêmes concepts généraux reviennent d'un
logiciel à l'autre.
L'utilisateur devra certes prendre quelques minutes pour s'y
retrouver, mais il réussira sans trop de mal à faire fonctionner le
nouveau logiciel.
Nous croyons que passer de \msie à \firefox
ou de \mso\
vers \ooo\ est à peu près aussi facile que migrer vers
une nouvelle version du produit de la même entreprise.
Idéalement, il faudrait aider les étudiants et les employés à se
libérer de ce mythe selon lequel il est nécessaire d'apprendre et
utiliser les logiciels propriétaires puisqu'ils sont employés partout
dans l'industrie.
La formation ne devrait pas cibler un logiciel particulier, mais plutôt
des concepts généraux: comment utiliser un traitement de texte, comment
maîtriser un tableur, etc.?
Le logiciel employé pour la formation ne devrait être qu'un exemple
appuyant le concept, pas le concept lui-même.
Par contre, il ne faut pas tomber dans l'autre extrême en remplaçant
tous les logiciels propriétaires par des logiciels libres du jour au
lendemain.
L'idée ici ne consiste pas à bannir les produits \mso\ mais plutôt à
en faire une solution parmi tant d'autres plutôt que \emph{la}
seule et unique solution.
Mais l'utilisateur choisissant un logiciel propriétaire doit le faire
uniquement si le produit satisfait ses besoins.
\proposition{Que l'Université de Montréal
Installe plusieurs logiciels différents sur les postes à
la disposition du personnel et des étudiants. Toute personne devrait
pouvoir choisir le logiciel qu'elle désire employer.}
À première vue, cela peut causer des problèmes de communication entre
usagers, mais les formats de fichiers ouverts (voir section
précédente) résolvent la question.
\proposition{Que l'Université de Montréal
diversifie les systèmes d'exploitation installés sur ses
postes de travail. L'Université devrait offrir aussi bien des postes
\msw\ que des postes \applemac\ et \linux.}
\proposition{Que l'Université de Montréal
offre aux étudiants de la formation pour les logiciels
libres afin de leur faire découvrir qu'ils peuvent facilement migrer
vers ces derniers.}