Introduction à Linux pour le CENIM Christophe Chisogne Mercredi 6 juin 2001 Introduction

Depuis 1999 environ, la presse informatique semble s'intéresser de plus en plus près à Linux. Certaines revues sont livrées avec un ou plusieurs CDs d'installation d'une distribution Linux. Même le grand public commence à en entendre parler. Mais qu'est-ce exactement que Linux : une alternative à Windows, un système par et pour des informaticiens spécialisés, le système idéal pour un serveur, juste un phénomène de mode passager ?

A chacun de se faire son opinion. Mais les tenants et aboutissants ne sont pas toujours présentés, ni forcément bien compris. Ce cours devrait éclairer quelque peu des choses comme GNU, GPL, FSF, logiciel libre, distribution, package. Il présente aussi un peu de la ''philosophie'' derrière Linux -- celle des logiciels libres. Celle-ci est aux antipodes des pratiques commerciales actuelles au sein des grandes entreprises logicielles. Linux quid

Commençons par définir ce qu'est Linux, d'où il vient et comment il se situe par rapport à d'autres systèmes d'exploitations. Définition

Au départ, Linux n'est rien d'autre qu'un système d'exploitation du type Unix tournant sur plateforme Intel (i386). Désormais, il tourne sur une très grande variété de plateformes différentes : Intel et AMD : 386, 486, Pentium I, II et III, K6, Athlon Stations Alpha 64 bits de Digital Processeurs Motorola 680x0 (dont les Commodore et Atari) Stations Sparc et ultraSparc de Sun Processeurs ARM (Advanced Risc Machine) Machines MAC à base de processeur PowerPC et d'autres encore, plus rares Système d'exploitation

Le système d'exploitation est vraiment le coeur d'un système informatique. On le définit plus facilement par les fonctions qu'il remplit, au niveau le plus bas de la machine : gestion de la mémoire, des supports de masse, des processus, accès aux périphériques attachés...

C'est sur lui que se basent toutes les applications qui tournent sur le système (navigateur web, interface graphique, etc). Par exemple, leur seul accès aux fichiers d'un disque est de passer par le système d'exploitation, en utilisant l'API qu'il offre (Application Programming Interface : fonctions utilisables et leur prototype) Autres systèmes d'exploitation

On peut diviser les systèmes d'exploitation de manière similaire à celle définie par Micro$oft : les ''familiaux'' et les ''professionnels''. Les premiers n'offrent réellement aucune sécurité ; ils sont généralement plus faciles d'emploi, mais nettement moins stables (un redémarrage fréquent est considéré comme normal et pas trop grave). Les seconds imposent un contrôle d'accès (nom d'utilisateur et mot de passe en général), offrent l'étanchéité de la mémoire (un soft qui ''plante'' n'entraîne pas les autres avec lui).

Du côté des familiaux chez Micro$oft, on trouve toutes les versions de DOS, puis les Windows 3, 3.51, 95, 98 et Millenium. On peut placer les différents MacOS 8 et 9 dans cette catégorie. Le système BeOS, moins connu, a l'air prometteur, mais est encore très peu connu.

Du côté des professionnels, on trouve la famille NT chez Micro$oft. En passant de NT 3.51 (avec interface genre win 3.1), NT 4 (installé dans les centres cybermédia des établissements secondaires), NT 5 rebaptisé Windows 2000 pour des raisons commerciales) et NT 6, baptisé Whistler puis Windows XP. Chez la concurrence, on trouve évidemment les familles de Unix, dont font parties les FreeBSD, OpenBSD, netBSD mais aussi le désormais célèbre Linux.

Notons au passage que la première catégorie est probablement vouée à une disparition complète dans un horizon relativement court. L'insécurité des réseaux y joue un rôle certain. Ainsi, Micro$oft a choisi de baptiser NT 5 ''Windows 2000'' : cela pousse les utilisateurs à croire que c'est la suite logique de ''Windows 98''. Il n'en est rien, puisque ce sont deux familles très différentes. Il semble bien que la lignée des ''familiaux'' tend à disparaître. Historique

Revenons au système d'exploitation qui concerne notre propos : Linux. D'où est-il sorti, quand et comment ?

En 1991, un jeune étudiant Finlandais, Linus Torvalds, s'est lancé dans un projet un peu fou. Il utilisait un système de type Unix appelé Minix, dans le cadre de ses cours d'informatique. Ce système, conçu par le célèbre Andrew Tannenbaum avait des vertus pédagogiques : il avait été créé pour enseigner les systèmes d'exploitation (dans un type Unix).

Mais Minix était limité, puisque simplifié pour les besoins de l'enseignement. Linus a donc voulu étendre ses possibilités. D'autant plus que Minix ne tournait pas sur plateforme i386. D'où l'idée de Linus : recréer un système de type Unix, modifiable à souhait, et devant tourner sur plateforme i386 (le 386 était révolutionnaire à l'époque chez Intel : il proposait un MMU, Memory Management Unit).

Voilà donc Linus au travail. A cette époque, Internet existait depuis longtemps -- le protocole, pas le web tel qu'on le connaît aujourd'hui. Les protocoles de mail, news et ftp étaient présents. Et le web allait naître, en 1991, des laboratoires du CERN à Genève. Le contexte se prêtait donc bien aux communications électronique de niveau mondial, chose impossible pour le grand public avant l'arrivée du protocole TCP-IP (le célèbre Internet).

Linus a profité de ce réseau de manière très utile. Après avoir réalisé un embryon de système, il a décidé d'offrir son travail. Il a lancé un appel à contribution sur Internet, disant en substance que tout le monde pouvait y contribuer, puisqu'il livrait le code source de son nouveau système d'exploitation (le noyau ou kernel pour être plus précis). Le côté social de Linux

Ce faisant, Linus a remis à la mode ce qui était un comportement normal chez les informaticiens de la première heure (notamment au MIT) : le partage du code source. Quiconque sur Internet avait le droit d'utiliser Linux, de lire son code source, de le modifier, et même de le redistribuer. Qu'est-ce que c'est loin des logiciels propriétaires, les seuls connus du grand public jusqu'il y a peu. Bienvenue dans le monde du logiciel libre !

C'est une des raisons qui a fait et fait toujours le succès de Linux (et des systèmes BSD). Des milliers de personnes ont contribué et contribuent encore à améliorer le noyau (kernel) du système Linux. Ainsi, des drivers ont été écrits, des bugs corrigés, des fonctionnalités ajoutées, etc. Disposant du code source, tout cela devenait enfin possible.

Dans le cas de Linux, Linus acceptait généralement les modifications proposées (sous formes de patches pas trop grands). Il remerciait leurs auteurs personnellement, ainsi que dans le fichier ''credits'', qui a augmenté de manière exponentielle. Les informaticiens qui ont participé apprécient visiblement cette informatique plus sociale, faite de partage est d'échange d'expérience -- de manière purement bénévole, le plus souvent. Un peu de bonheur dans ce monde de brutes...

GNU/Linux

Linux n'est en fait que le noyau du système d'exploitation. Seul, il est bien évidemment inutilisable. Sans utilitaire de login ou sans interpréteur de commandes (shell, genre de command.com doppé), la machine est tout simplement inutilisable. Il faut donc disposer des utilitaires de base du système. Dans le monde Unix, ceux-ci sont très nombreux. Pour des problèmes liés notamment aux licences, on ne pouvait pas reprendre les utilitaires Unix tels quels (le code source, disponible dès le départ, a fini par ne plus l'être dans les versions commerciales de Unix).

D'où la nécessité de réécrire tous les utilitaires à partir de zéro, tâche a priori impossible étant donnée l'immensité du travail à accomplir. Et pourtant, quelques courageux ont décidé de s'y mettre sérieusement. C'est la qu'intervient la FSF, Free Software Foundation, créée dès 1984 par un grand nom du logiciel libre : Richard Stallman (alias RMS). GNU et FSF

RMS est un informaticien de renommée mondiale. Il travaillait au célèbre MIT, dans le laboratoire d'intelligence artificielle. La tradition d'échange de code source entre développeurs était alors bien établie. Puis des problèmes ont commencé à apparaître, quand le code source de certains systèmes sont devenus fermés, indisponibles et non modifiables sans poursuites légales. Excédé, RMS décide de créer un système complètement libre, pour ne plus devoir subir ce genre de désagréments.

Pour être certain que le travail qu'il voulait entreprendre ne soit pas repris comme propriété intellectuelle de son employeur, il décide donc de quitter le MIT ! Et c'est parti, un projet de système d'exploitation libre. Il sera de type Unix, étant donnée sa bonne réputation, ses qualités et son âge mûr. Ce projet sera appelé GNU pour ''GNU is Not Unix'' (acronyme récursif, prisé par les hackers).

Note en passant : beaucoup de gens (y compris les médias) confondent les termes hacker et cracker. Un cracker est une personne qui s'introduit dans des systèmes informatiques avec intention de nuire ou assimilée (vol de numéro de cartes de crédit, atteinte au prestige d'une société, etc). Un cracker peut être un des ''scripts kiddies'', càd un jeune (certains ont 12 ans à peine) qui ne fait que lancer des utilitaires de cracks, sans généralement en comprendre le fonctionnement. Le hacker est un informaticien de très haut vol qui aime éprouver les limites et la fiabilité des systèmes. Ils ont plutôt tendance à prévenir le gestionnaire d'un système s'ils constatent que ce dernier est trop ''perméable'' -- mais ceci sans avoir fait subir de nuisance.

Désormais, la plupart des utilitaires Unix ont trouvé un équivalent fonctionnel. D'aucun prétendent même qu'une bonne partie est plus efficace que l'original. Le projet GNU est donc en bonne voie. Et énormément de code incorporé dans les système Linux complets proviennent du projet GNU. C'est pourquoi il est bien plus juste et correct de parler de GNU/Linux que de Linux, ce qui ferait injure au travail gigantesque des membres du projet GNU.

Ce projet est loin d'être terminé. Pour être complet, il faut plus que les utilitaires. Il faut aussi écrire les applicatifs de plus haut niveau, auxquels les utilisateurs de Windows sont plus habitués. Une des premières grandes réalisations dans ce domaine est GIMP, un logiciel fonctionnellement équivalent au puissant Photoshop, mais réécrit à partir de zéro et en logiciel libre !

Enfin, il faut savoir que le projet GNU avait en tête un autre noyau que Linux, appelé le Hurd. Mais Linux est déjà là, stable et mature, tandis que le hurd, beaucoup plus complexe, n'a pas encore vraiment atteint ce stade. Un système libre de type GNU est donc soit GNU/Linux, assez répandu, ou bien GNU/Hurd, encore assez rare. Utilisation de Linux

Grâce à Linus pour le noyau Linux, à RMS et au projet GNU pour les utilitaires, et à de nombreux autres acteurs, chacun peut acquérir sans grands frais un système GNU/Linux. Mais que peut-on faire avec ? A quel genre d'utilisateurs est-il le mieux adapté ? Est-ce une alternative viable à Windows ? Logithèque complète ?

Du côté logithèque, les choses évoluent à un rythme assez impressionnant. Linux était embryonnaire en 1991, mais n'a été vraiment utilisable que vers la fin 1994. Moins de 10 ans plus tard, on se trouve face à un équivalent du puissant Unix, avec tous ses utilitaires, des logiciels de haut niveau et des interfaces graphiques variées qui n'ont rien à envier à d'autres plateformes.

De très nombreuses utilisations logicielles possibles sous Windows sont possibles sous Linux. De la programmation système Linux en langage C jusqu'aux traitements de texte, traitement d'images ou jeux 3D, on trouve presque toujours son bonheur. Si on pense installer une machine serveur, Linux est un très bon choix (serveurs web, ftp, news, novell, print serveur, firewall, etc). Quels utilisateurs ?

Si on demande à quels utilisateurs pourrait s'adresser un système Linux, les réponses sont variées. Je propose ici la mienne, toute personnelle.

Pour un hacker (informaticien très compétent qui aime résoudre des problèmes en tout genre et la programmation), Linux est vraiment un système génial (tout comme les BSD, membres de la même famille). Pour un informaticien, c'est fort semblable comme situation.

Pour un administrateur réseau ou une personne en charge de serveurs centraux, Linux offre le même genre d'avantages que tout système Unix : performance, simplicité, administration distante, etc. L'Internet entier lui doit tout simplement la vie. Bref, dans la niche ''serveur'', il n'y a guère de doutes non plus.

Pour les utilisateurs finaux, par contre, je ne suis pas certain. Des progrès énormes ont été accomplis dans un temps record (on est reparti de rien, il y a moins de 10 ans). Mais la configuration et la gestion d'un système informatique ne me paraît pas relever de la compétence de l'utilisateur final. Pas plus que sous les diverses déclinaisons de Windows, d'ailleurs. Si un informaticien ou une personne compétence configure la machine de manière correcte, l'utilisation risque de ne pas poser problème pendant un bon moment et être envisageable. Mais sans personne compétence, j'en suis nettement moins sûr (on ne peut bien configurer que ce que l'on comprend en profondeur).

Un autre problème est le rouleau compresseur des logiciels propriétaires. Le cas de Micro$oft est le plus flagrant, mais tous les logiciels propriétaires comportent une problématique intrinsèque similaire. Par exemple, vu la répartition écrasante des documents rédigés avec Micro$oft office, il faut assurer une compatibilité la plus complète possible. Mais pour cela, il faut disposer d'un format stable, de documentation technique précise (que Micro$oft n'aime guère fournir), etc. On est dans une situation monolistique : le format dominant n'est compatible qu'avec lui-même et rien d'autre. Les concurrents, avec des formats plus intéressants et compatibles, finissent par paraître fautifs, alors qu'il s'agit précisément de l'inverse.

Voilà résumée ma façon de déterminer si un utilisateur sera susceptible d'être à l'aise sous Linux. Mais les choses bougent vite à ce niveau, ce qui rend encore plus difficile tout pronostic. Par contre, il est assez certain qu'une personne de mauvaise volonté ou allergique à l'informatique n'y sera pas réconciliée miraculeusement par l'installation d'un Saint Linux sur la machine... Alternative à Windows ?

Linux est-il une alternative à Windows ? Encore une fois, on peut apporter plusieurs réponses, en fonction de nombreux critères. Le point précédent permet d'éclairer un peu tout cela. De manière générale, on ne peut être que favorable aux alternatives : quel que soit le domaine, une situation monolistique n'est jamais vraiment profitable à tous. C'est un peu comme l'équilibre d'un éco-système. A ce titre, les virus qui prennent pour cible les plateformes Windows est révélateur : on s'attaque à l'espèce la plus répandue, puisque le système est déséquilibré.

Personnellement, je considère GNU/Linux comme une véritable alternative, à plusieurs titre. La disponibilité du code source, le fait de pouvoir le modifier et le redistribuer, des raisons liés à la sécurité des systèmes informatiques, des raisons liées à la protection des données privées trop souvent baffouées par des logiciels aux comportements cachés, voilà quelques critères qui motivent ma position. A chacun de se faire une opinion, en fonction de sa situation personnelle. Logiciel libre Softs propriétaires ?

Le modèle de loin le plus courant dans le développement de logiciels est celui des logiciels dits propriétaires. Cette appellation concerne essentiellement leur licence. Le cas typique d'un logiciel propriétaire est le suivant : Utilisation: interdite, à moins de payer la licence, c'est à dire le droit d'utiliser le logiciel. En général, ce droit est limité à l'utilisation sur une seule machine (éventuellement un portable de plus), même si on souhaite l'utiliser alternativement sur d'autres. Les copies de sauvegardes sont généralement limitées à un seul exemplaire, également. Code source: généralement, on ne peut l'obtenir, sauf parfois à grands frais (et à condition d'avoir une ampleur internationale) Modification: sauf cas limités par la loi, on ne peut pas modifier le programme d'aucune manière (avec ou sans code source). Cette clause est néanmoins abusive en Europe, où la décompilation d'un logiciel à des fins d'interopérabilité est permise (pensons au cas où l'éditeur du logiciel tombe en faillite : que faire si on dépendait de manière vitale du logiciel ?) Redistribution: elle est évidemment interdite, avec ou sans modifications préalables.

Les logiciels suivant un modèle propriétaires ne sont donc pas un modèle d'ouverture et de transparence, loin de là. Disposer du code source ?

Le code source est extrêmement intéressant pour un développeur. C'est le seul moyen véritable de savoir exactement ce que fait et ce que ne fait pas un logiciel. C'est une des seules façons de modifier aisément un programme pour ses besoins particuliers.

L'intérêt de disposer du code source est multiple. Le fait de savoir exactement ce que fait un logiciel permet d'éviter pas mal de dérive que l'on est obligé de constater passivement de plus en plus (informations à caractère privé envoyées à des sites d'éditeurs américains à l'insu de l'utilisateur, par exemple).

Dans le domaine de la sécurité informatique, la plupart des spécialistes du domaine n'ont guère de doute à ce sujet non plus. A moins d'être parfait, un logiciel comporte des failles susceptibles d'être exploitées par des crackers. Du point de vue commercial, il est très tentant de cacher les failles de ses logiciels, et même de ne pas trop y prêter attention. Les crackers ne voient pas les choses sous cet angle trop optimiste, témoin en est la multitude de virus et de sites web détournés. Dans le monde du logiciel libre, les bugs existent aussi, bien sûr. Mais ils ne sont pas cachés, en général : les listes de bugs sont ouverts à tous. Dans le domaine de la sécurité, il n'est pas rare qu'un patch soit sorti quelques heures seulement après la découverte d'une faille, ce qui n'est pas vraiment le cas du monde propriétaire (où il vaut mieux ne pas se trouver au sein d'une minorité)

Prenons le cas de l'enseignement de la programmation. Il me paraît évident que l'on apprend énormément en lisant le code d'autrui. Ce n'est possible que si l'on dispose du code source, bien sûr. Dans le cas de Linux, tout informaticien peut lire, comprendre et même modifier un véritable système d'exploitation professionnel : quel terrein d'étude fabuleux !

Il ne faut pas oublier non plus l'importance de la révision des pères (peer review). Un code source ouvert est forcément lu par pas mal de monde. Si un bug s'y dissimule, il est probable que quelqu'un tombera dessus et le corrigera : le code s'en trouve amélioré. Cela tend aussi à faire intervenir la réputation de l'auteur principal du code : s'il a rédigé son code comme un cochon, il ne sera pas fier de le montrer. L'ouverture du code conduit là aussi à une amélioration (ou à une disparition du logiciel s'il est vraiment mauvais).

Enfin, la science informatique est à l'image des autres sciences exactes : pour qu'une loi scientifique soit validée, elle doit être publiée de manière à ce que la communauté des chercheurs soit en mesure de la reproduire, pour la valider ou l'invalider. Il en va de même pour la loi de ''qualité'' d'un logiciel, pour celle de son nombre quasi null de bugs (que l'on pourrait appeler erreurs, de manière plus négative). Free Software

Le logiciel libre est une réponse aux problèmes causés par les logiciels propriétaires. Richard Stallman est le véritable pionnier en la matière, depuis la création en 1984 de la Free Software Foundation.

En anglais, le mot ''free'' est ambigü : il faut le comprendre dans le sens ''free speech'' et pas ''free beer''. Le français n'a pas ce problème : on parle de logiciel libre, et pas de logiciel gratuit.

Les licences reconnues comme libre (cfr site gnu.org) sont souvent basées sur une licence de type ''copyleft'' (jeu de mot par rapport au copyright). La plus représentative est la licence GPL (GNU Public Licence), ou sa soeur la LGPL (Lesser GPL, anciennement Library GPL). Une licence de type GPL permet: Utilisation du logiciel autorisée pour tout le monde Modification permise, ce qui sous-entend de pouvoir disposer à frais quasi nulls du code source. Redistribution autorisée, sous forme originale ou modifiée.

Le but poursuivi est de l'ordre de la liberté : on ne dépend plus de la volonté d'une seule firme (puisqu'on peut modifier tout soi-même s'il le fallait), on peut utiliser et modifier à sa guise les logiciels dont on a besoin, etc. C'est ça, le logiciel libre. On est dans le monde GNU, celui de la GPL, celui de la FreeSoftware Foundation, celui de RMS. Cfr le site officiel de la FSF, gnu.org.

Un petit point à ne pas négliger, tout de même. La GPL est bel et bien un copyright, dans la mesure ou les droits de protection intellectuelle s'appliquent au détenteur du copyright (l'auteur principal, généralement). Cela signifie que l'on doit indiquer clairement si le code a été modifié, quand et par qui, et que l'on doit indiquer la liste des auteurs originels dans les ''remerciements''. En effet, il y va de la réputation de l'auteur principal, qu'il n'a généralement pas envie de voir ternir (de nombreux programmeurs développent pendant leur temps libre).

Pour souligner le point précédent, certains lecteurs inattentifs seront surpris d'apprendre que tous les ''grands noms'' du logiciel libre condamnent d'une même voix les violations de copyright impliquées dans la copie illégale d'oeuvres musicales (format MP3 en particulier). OpenSource

La FSF n'est désormais plus la seule à proposer une alternative aux logiciels propriétaires. Un autre terme, moins exigeant que ''logiciel libre'', a émergé : le fameux ''opensource''.

La distribution Debian GNU/Linux est la première (la seule, vraiment) à disposer de critères très précis pour savoir si un logiciel est libre ou nom. Ces critères sont repris dans les documents fondateurs de Debian, auxquels adhèrent normalement tous les membres du projet Debian. A l'origine du terme OpenSource, l'un des leaders Debian élu auparavant, Bruce Perens. Sa façon de voir est très proche de celle de la FSF : Debian participe en quelque sorte au projet GNU

Assez rapidement, Bruce Perens et Eric Raymond (alias ESR) créent le site opensource.org, en définissant le terme opensource (en grande partie basé sur les critères Debian). ESR est l'auteur du célèbre document ''The cathedral and the bazaar'', document lu à l'époque par un des pontes de chez Netscape. Ce document a servi de base à la décision étonnante de Netscape d'ouvrir son code source et de recommencer son navigateur à partir de rien. C'était une grande première, en 1998 : un éditeur de renom ouvrait son code source. La voie était ouverte, et d'autres ont suivi progressivement.

De nombreuses personnes ont entendu parler de l'opensource, et ce terme est désormais confondu avec le logiciel libre, qui est pourtant assez différent. L'opensource est moins exigeant, plus orienté vers le monde commercial. On pourrait dire, en caricaturant, qu'il suffit de montrer le code source d'un logiciel pour qu'il soit déclaré opensource. De plus en plus de firmes profitent de la confusion pour faire croire qu'ils font dans l'opensource, parfois même en abusant des termes libres (GPL).

Mais un logiciel opensource n'est pas libre pour autant : peut-on le modifier librement ? Peut-on le redistribuer, avec ou sans ces modifications ? Peut-on interdire (comme le fait la licence GPL) de rendre propriétaire les éventuelles modifications ultérieures basées sur la contribution qu'on y a apportée, afin qu'un logiciel libre (modifié) reste un logiciel libre ? La réponse n'est pas toujours affirmative... Autres licences

Il existe également de nombreuses autres licences. La plus connue est sans doute le shareware, voire le freeware. Le shareware est généralement un logiciel propriétaire : il est d'ailleurs mentionné explicitement que l'auteur doit être rénuméré si le logiciel n'est pas désinstallé complètement après la période d'essai. Le droit d'utilisation libre n'étant pas rempli, ce logiciel n'est pas libre. Il n'est souvent pas opensource non plus, car le code source n'est généralement pas inclus.

Le cas des freeware est similaire : même si ces logiciels sont gratuits, ils ne sont souvent ni libres ni opensource (code source non disponible).

Pour plus de détails, un seul véritable site de référence, celui de la Free Software Foundation (FSF), sur . Les licences reconnues comme libres y sont toutes référencées et analysées. Il ne s'agit pas forcément des licences GPL ou LGPL (cas des licences Artistiques, BSD, etc) Les brevets logiciels

Disposer du code source et pouvoir tout modifier paraît intéressant, sans limite stupide. Ce n'est malheureusement pas le cas. Les grandes firmes informatiques américaines utilisent une arme redoutable : les brevets logiciels.

Un brevet est bien pire qu'un copyright : il interdit d'utiliser une catégorie complète de procédés, plutôt qu'un seul. Si les brevets littéraires existaient, ils n'interdiraient pas de copier le livre romantique de Mr X, mais bien tous les ouvrages qui traiteraient de l'amour entre un homme et d'une femme, par exemple!

Les brevets logiciels sont dangereux. Heureusement, ils ne sont valables qu'en Amérique, et pas en Europe. Pour une fois, nous pouvons (temporairement) être fiers de l'attitude plus conservatrice des Européens : ce type de brevet est illégal, étant données les lois européennes. L'Europe protège également nos vies privées, alors qu'aux USA, la vie privée n'est qu'une marchandise comme une autre, simplement un peu plus chère... Mais le combat n'est pas encore gagné : les pressions économiques sont énormes, et des centaines de demandes de brevets ont déjà été déposées à l'Office Européen des Brevets (OEB). Espérons que le conseil de l'Europe reste sage et décent, sans céder à l'économisme quasiment satanique qui se cache derrière ces pressions gigantesques.

En fait, de nombreux brevets déposés aux USA sont tout simplement stupides. La notion d'interface graphique est brevetée. L'utilisation du ''ou exclusif'' logique (xor) l'est aussi. L'utilisation de barre de défilement, la réponse renvoyée à un browser après interrogation d'une base de données, aussi. Autant dire qu'il est impossible de développer un logiciel sans enfreindre au-moins un de ces brevets.

Autant tordre le cou à une fausse rumeur, pourtant farouchement défendue par les défenseurs des brevets logiciels (qui en vivent...) : les brevets ne protègent en rien le petit développeur dans son laboratoire contre les méchantes multinationales. En effet, le dépôt d'un brevet prends du temps et coûte un bon paquet d'argent. Les ''petits'' n'ont pas vraiment la possibilité d'en déposer un. Et même s'ils le font, ils seront la proie éventuelle de grosses firmes qui ont acheté une multitude de brevets, dont plusieurs seront certainement enfreints vu leur simplicité. Si le petit devient gênant ou intéressant, il sera acheté, absorbé ou supprimé par les plus grands, à coup de brevets s'il le faut. Celui qui gagne est celui qui a la plus grosse pile de brevets, et les grosses sociétés ne sont pas à la traîne. Il est à noter que certaines firmes pas du tout informatiques en vivent aux USA : elles achètent des brevets débiles, puis gagnent leur vie en attaquant les coupables.

Pour ceux qui croient naïvement que tout ceci n'est que des mots, quelques exemples. Le format GIF est intéressant sur le web parce qu'il est léger, grâce à un algorithme de compression (LZW). La société Unisys, détentrice du brevet sur LZW, a attaqué plusieurs sites web parce qu'ils contenaient des images gif et n'avaient pas payé de royalties. Bref, virez tout ce qui ressemble au format gif et passez au PNG (Portable Network Graphic), format libre proposé par le W3C, et de loin supérieur au gif. Autre exemple, les logiciels de création de MP3. Le format MP3 est breveté aussi : sans royalties, impossible (illégal) de créer un programme pour générer des fichiers MP3. Ou encore les players de DVD, condamnés à ne pas exister sous Linux pour un certain temps à cause de brevets (cryptage des films). La liste est longue... Le futur avec la World Company

Les perspectives précédentes ne me paraissent pas très réjouissantes, personnellement. Et les optimistes risquent de changer d'avis lorsqu'ils sauront ce que de puissantes sociétés commerciales (pardon, informatiques ;-) ont en tête ces temps-ci.

Prenons le cas de Micro$oft. Sa vache à lait, c'est la suite Office. Or, les clients en ont assez d'upgrader sans raison valable et de payer les licences : les rentrées colossales de Micro$oft diminuent. Pour éviter l'érosion, la solution est simple : fini les licences d'utilisation accordées indéfiniment. Désormais, on va parler d'assurance upgrade, pour des périodes déterminées (1 à 3 ans très prochainement). On ne pourra plus upgrader, il faudra payer le prix plein si on n'a pas souscrit à une assurance upgrade (et rien ne dit qu'il y aura upgrade, d'ailleurs).

Ce n'est qu'un pas vers le futur vu par Micro$oft, vers le fabuleux, le merveilleux ''dot net''. Leur argument est intéressant : pour ne pas upgrader ses machines (fastidieux), autant utiliser ces logiciels sur les serveurs de Micro$oft, à distance, via TCP-IP. On est certain de ne pas avoir de problème de maintenance chez soi, on est toujours à la dernière version, etc. Mais on va alors louer ce service, probablement sur une base mensuelle : et hop, on renfloue les caisses ! Mais on tait soigneusement les autres implications éventuelles : confiez-nous nos données, histoire que ce soit plus facile à analyser (même si Micro$oft ne veut pas le faire, cela sera trop tentant pour d'autres).

Je n'ai pris Micro$oft que comme un exemple parmi d'autres. La société derrière Applixware, cette chouette suite bureautique (même si payante), légère et efficace, a changé son fusil d'épaule. La suite sera accessible partout via le web, selon un fonctionnement similaire au ''dot net'' de Micro$oft. Et pour ceux qui veulent abandonner Micro$oft Office, horrifiés, au profit de StarOffice, qu'ils ne se rassurent pas trop vite. StarOffice n'est autre que la petite société allemande StarDivision, qui s'est fait absorber par le géant Sun. Et cela fait un bail qu'on entend parler de Star Portail... eh oui, toujours le même genre d'idées : fonctionnement à distance sur leurs serveurs, etc

Ce futur ne me plaît personnellement pas du tout, et je n'en veux même franchement pas. Il est temps de penser aux alternatives, grand temps même, voire peut-être déjà fort tard. Trop tard ? La face cachée des géants

Je n'insisterai guère sur ce point. Je ne peux que recommander la page ''Piège dans le cyberespace'', qui a eu un énorme succès sur le web. Roberto Di Cosmo, son auteur, en est devenu célèbre. Il a sorti un livre intitulé ''Le hold-up planétaire -- la face cachée de Micro$oft'', qui vaut vraiment la peine d'être lu. La réflexion, quoiqu'un peu alarmiste pourraient dire certains, est pourtant fort pertinente. Cet ouvrage est concentré sur Micro$oft, étant donné son monopole de facto, mais des choses similaires pourraient être dites dans bien d'autres cas.

Pour revenir à l'intérêt de disposer du code source, voici les exemples du monde caché des logiciels propriétaires fermés. Dans le cas de Micro$oft Office (version 97 en tout cas), un tollé a été provoqué lorsqu'on a découvert que chaque document créé se voyait attribuer un identifiant unique (ouvrir un document Word avec un éditeur de texte brut style NotePad et chercher une chaîne ressemblant à ''PID_GUID''). De plus, d'autres infos s'y trouvent, et j'ai pu le vérifier moi-même. Par exemple : le nom et la société de la personne enregistrés à l'installation d'Office, le nom de l'imprimante réseau utilisée, les termes de recherche ayant servi à l'insertion d'un clipart via la Clipart Gallery, ce genre de choses.

Prenons un autre cas. Si vous appréciez Real JukeBox, vous changerez sans doute vite d'avis. En effet, lorsqu'un fichier son était joué et que l'utilisateur était connecté à Internet, des informations (cryptées au préalable) étaient envoyées au site de la société. Quelles informations ? Les noms des fichiers son lus, histoire de pouvoir par exemple connaître les auteurs musicaux appréciés par le client, espionné à son insu. Cette violation de la liberté est Européenne et non condamnable aux USA, pays de l'éditeur. Echec et math.

Si vous avez le temps et les compétences, vous pouvez aussi vous amuser à en trouver d'autres. Cela existe. Qui a parlé de l'assistant d'enregistrement de Windows 98 ? Ben oui, lui aussi... Se procurer GNU/Linux

Par conviction, par angoisse grandissante ou par curiosité, vous voulez installer Linux. C'est peut-être un bon choix, qui sait ? Mais télécharger tous les codes sources, les compiler et assembler le tout pour que le système soit cohérent, ce n'est pas une mince affaire, loin de là. C'est pourquoi il existe différentes distributions de Linux, chacune avec ses particularités, ses avantages et inconvénients propres. Distributions

Voici une liste (non exhaustive) des distributions de Linux les plus connues. Debian GNU/Linux. La plus spéciale, la seule non commerciale que je connaisse, et la seule vraiment organisée autour d'une horde de développeurs (il existe une constitution, des élections, un responsable pour chaque paquet, etc). A ma connaissance, c'est celle qui tourne sur le plus grand nombre de plateformes (certaines évitenent les architectures plus anciennes, les machines Solaris ou autres, et certaines se limitent même à une partie de l'architecture i386). Autant dire que c'est ma prérérée et que je suis loin d'être complètement impartial :-) RedHat Linux. Orientée ''Brand Management''. Une bonne distribution qui a énormément contribué au logiciel libre (le fameux format RPM en est le meilleur exemple). Basée aux USA, elle dispose d'un support commercial, de formations et autres choses utiles à une société. Mandrake. Créée à Paris en se basant sur une version précédente de Redhat, elle connaît un succès croissant auprès des utilisateurs novices. Son gros défaut (ou qualité, pour certains) est d'inclure les toutes dernières versions, même si pas encore stable (loin de là). Mais le support d'un matériel dernier-cri et/ou rare peut être à ce prix. Suse. Distribution allemande qui dispose d'un bon circuit de distribution. On trouve cette distribution dans les librairies ou magasins informatiques. Pour une somme raisonnable, on reçoit 6 CDs, et un manual de bonne qualité. Slackware. Pour les linuxiens de la première heure (ou deuxième, après YaggDrasil par exemple). Très proche de l'esprit Linux, mais aussi plus difficile d'accès. Un monde où on préfère souvent regarder loin sous le capot et recompiler ses applications : à réserver aux informaticiens, passionnés ou gens très exigeants, donc. Choisir sa distribution

Laquelle choisir ? La réponse n'est pas simple, et en tout cas pas la même pour tout le monde. Du côté des administrateurs, on risque de se tourner vers Debian ou Slackware si on se sent assez capable, ou vers RedHat qui dispose d'un service en cas de difficultés ou de manque de temps. Du côté utilisateur final, les réponses sont plus nuancées et plus variées. Les francophones opteront peut-être pour Mandrake, francisée dès le départ, ou vers Suse, facilement disponible avec CDs et manuels en librairie. Mais de nombreux facteurs interviennent, dont le format de package utilisé, la sécurité, le support d'internationalisation, la facilité d'upgrade, la simplicité d'administration, la performance, la possibilité de tuning maximum, etc

Le plus simple est de demander leur avis à plusieurs personnes qui s'y sont déjà frottées et qui connaissent leur sujet. Ces mêmes personnes seront sans doute indispensables lors de la première installation, d'ailleurs. Une autre solution intéressante est d'acquérir une série de CDs de différentes distributions (via le net, par exemple), et d'en essayer quelques-unes. C'est de cette manière que j'ai rencontré RedHat puis Debian (via Linux System Labs, qui exportaient encore des USA vers l'Europe à ce moment). Packages

Il est temps de dire ce qu'on entend par ''package'' (parfois appelé ''paquet'' en français). Un package regroupe les fichiers nécessaires à un programme ou à une tâche (fichiers de documentation, fichiers de configuration, exécutables, librairies, scripts d'installation, etc). Dans le cas des librairies, il est intéressant de ne pas installer 10 fois la même version, parce que 10 programmes l'utilisent. On peut regrouper ces librairies dans un package (appelé xxx-libs par exemple). L'installation d'un package pourra alors vérifier que le package xxx-libs a déjà été installé ou non, s'il en dépend.

Un format de package comme RPM (RedHat Package Manager, le plus répandu) ou DEB (propre à la distribution Debian) contient aussi des informations de dépendances entre packages. Ainsi, on peut par exemple dire que le package ''browser web'' dépend du package ''serveur X'' (qui est la base du mode graphique sous Linux). Le premier ne s'installera que si le second a déjà été installé. Dans le cas du format rpm, il faudra d'abord installer le second, puis le premier.

Si de nombreux packages dépendent les uns des autres, la situation peut vite devenir confuse. Et si l'on veut installer un package qui dépend d'une nouvelle version d'un package central (comme les librairies C, par exemple), on peut même tomber dans des problèmes insurmontables pour un utilisateur final ne disposant pas des connaissances requises. Ceci a l'air abominable dit comme ça, mais cette caractéristique fait cruellement défaut sous Windows, je trouve. La gestion des installations est bien plus simple (on évite les problèmes de fichiers dll qui se battent, des softs qui ne se désinstallent pas complètement et polluent la base des registres, et tous ces ennuis qui peuvent conduire à une réinstallation complète de Windows, sans raison valable).

Une solution à ces installations à faire dans le bon ordre en fonction des dépendances est réglé dans le format deb de la distribution Debian, via son excellent utilitaire de gestion de package, apt-get. Le principe est génial : dans un fichier de configuration, on indique toutes les sources possibles pour aller chercher un package : sur un ou plusieurs CDs, sur des sites via FTP ou HTTP, que l'on désigne. Ensuite, l'installation du package xxx se fait par une simple commande apt-get install xxx. S'il est présent dans la liste des ressources possibles, il sera téléchargé (ou copié), décompressé et installé. Et s'il dépendait d'autres packages, ces derniers sont également rapatriés et installés au préalable. Tout est transparent !

Pour finir mon couplet partial envers Debian, je peux citer une particularité des dépendances des packages deb : on peut demander qu'un package A dépende du package B (sans B, A ne peut être installé, car A lui est vraiment indispensable, comme une interface graphique l'est pour un logiciel graphique). Mais celui qui crée le package peut aussi inclure l'info selon laquelle le package A suggère un package B, parce qu'il pense que c'est intéressant. Par exemple, le package nestcape peut dépendre du package serveurX, mais aussi suggérer le package acrobat.

On ne peut pas vraiment parler de compatibilité entre les 2 formats. Le format deb est spécifique à Debian et n'est pas vraiment (encore ?) utilisable sur les autres distributions. Par contre, un utilitaire (appelé alien) existe sous Debian pour pouvoir utiliser des packages au format rpm. Mais j'avoue ne pas savoir si cela marche bien, ni en comprendre vraiment l'intérêt (pour tout soft, si on a son code source, il suffit de le recompiler et l'installer manuellement soi-même dans /usr/local, comme prévu par le FHS (File Hierarchy Standard). Mais le format rpm est bien plus répandu, et intéresse peut-être plus le ''grand public''. A chacun de faire son choix. Des arguments existent pour défendre chacun (bien que je ne sois pas très impartial ici, élitisme Debian oblige :p ) En savoir plus

Ceci n'est qu'une courte introduction, qui permet de placer un cadre autour de ce qu'est Linux, d'où il vient, comment, avec quels enjeux socio-économiques, etc. Mais ce n'est pas suffisant pour pouvoir installer et utiliser efficacement une distribution Linux à domicile. Cela demande du temps, et pour beaucoup, des lectures (parfois assez nombreuses). Mais une foule d'informations sont disponibles un peu partout. Tour d'horizon... Sur son disque dur Linux

Après l'installation, une mine d'information se trouve sur sa machine. C'est la plus facile à localiser, et elle n'est pas avare en taille. Elle existe en version anglaise originale, mais la plupart des pages ont une traduction française, grâce à des traducteurs linuxiens bénévoles. Les pages man. Pour obtenir de l'aide sur une commande, taper man commande. Pour savoir comment utiliser la commande man, on peut taper man man : logique. Les pages info. Le format de documentation officiel du projet GNU. Souvent, les versions info ont priorité sur les pages man : ces dernières peuvent ne pas être remises à jour par rapport à l'original au format info. Très utile pour les développeurs ou les utilisateurs d'emacs. Taper info sujet pour la page info sur le sujet ''sujet''. Ex: info libc ou info emacs pour se convaincre de l'imporante taille de cette documentation. Les pages de doc. Dans le répertoire /usr/share/doc (selon le FHS) ou le répertoire /usr/doc pour les distributions plus anciennes ou pas encore FHS-compliant, on trouve en général un répertoire de documentaiton par programme, dans des formats divers (html, texte brut, ps, latex, etc) Dans ce même répertoire en général, on touve les FAQ (Frequently Asked Questions) et les HOWTO (décrivant une tâche précise, comme par exemple la gestion du son). Sources sur le net

Linux est né plus ou moins en même temps que le web, et on y trouve pratiquement toutes les informations dont on peut rêver (y compris sur des problèmes pointus du noyau ou des tutoriels plus compréhensibles).

Le centre inévitable est le site du LDP (Linux Documentation Project), qui possède des mirroirs à travers le monde. On y trouve les dernières versions des FAQ et HOWTO, puisque Linux évolue constamment. On y trouve également quelques ''guides'', qui sont des ouvrages complets sur un sujet bien précis. L'intérêt d'un guide, c'est qu'il parcours toutes les commandes et utilitaires à utiliser (plus besoin de connaître leur nom avant de commencer).

Le site:

Certains autres sites ont des initiatives indépendantes, qui peuvent être utiles et en français, même s'ils ont le désavantage d'une relecture moins large et sans doute moins spécialisée. Ne citons que le site du Groupe d'Utilisateur de Linux (LUG) de la région de Namur, le NamurLUG, pour l'exemple. Livres

Ceux qui, comme moi, croient que la documentation électronique n'a pas tué le papier (bien au contraire, regardons la taille du manuel d'un logiciel même pas trop grand...), préfèreront peut-être se plonger dans la lecture séquentielle complète de plusieurs bouquins. C'est possible.

Je ne saurais trop recommander les éditions O'Reilly aux USA. On peut commander leurs livres via Internet (proxis.be par exemple). Dans leur version originale (en anglais), ils sont d'une qualité exceptionnelle. Mais les allergiques à cette langue pourront lire les versions traduites en français (plus chères, forcément, et généralement de qualité un peu moindre). Parmi les musts: Linux in a nutshell. Collection bien connue. Une bonne référence à portée de main, mais sans doute pas pour les tout débutants Linux Network Administrator Guide. Pour mettre sur pied un réseau linux. Les utilisateurs assez débutants comme avertis y trouveront une mine d'or. Running Linux. Pour tirer le meilleur parti de sa distribution Learning Debian. Pour les débutants cette fois, et la distribution Debian. Learning Redhat. La même chose, pour RedHat. Mini FAQ

Faute de temps (et de questions), cette FAQ restera vide un petit moment encore, sans doute. Néanmoins, un membre du LUG, François Schoubben pour ne pas le citer, m'a indiqué un guide qui m'a l'air pas mal fait. On peut le lire sur .