QU'EST-CE QUE L'OPEN SOURCE ET A QUOI CA SERT ?

Il y a 20 ans, les histoires relatives à l'informatique n'intéressaient que les initiés.
Et pourtant, aujourd'hui...






LA MARQUE DE MON ORDINATEUR ? EUH... BEN... C'EST WINDOWS ?


Même si cette phrase fait rire les utilisateurs initiés, elle est souvent entendue dans la bouche des utilisateurs d'ordinateurs débutants, voire même plus familiarisés. En effet, un peu partout et en Europe plus qu'ailleurs, l'assimilation systématique entre l'ordinateur et le "Windows" résulte du fait que lorsqu'on achète un ordinateur dans un magasin, le gros programme appelé "Windows" y est d'office installé. En termes plus généraux, faisant abstraction de ce nom particulier de "Windows" donné à ce programme par Microsoft (la compagnie qui le commercialise), un tel programme s'appelle: Un "système d'exploitation". C'est ce programme qui permettra à l'utilisateur d'agir sur le fonctionnement de son ordinateur pour lancer, utiliser et installer d'autres programmes chargés d'accomplir des tâches particulières. C'est aussi ce programme qui assurera de façon structurée et hiérarchisée, sans que vous ne le sachiez, les tâches nécessaires demandées par ces autres programmes afin qu'ils puissent tous fonctionner simplement et à peu près simultanément. Tout programme est donc conçu spécialement pour un système d'exploitation donné. Les plus anciens se souviendront qu'avant "Windows", sur les ordinateurs de type PC il y avait le "DOS", système d'exploitation sans environnement graphique (sans "bureau" ni "raccourcis" ni "menus") oà toutes les commandes s'effectuaient par des instructions tapées au clavier. Puis les différentes versions de "Windows" se sont succédées. Ce qui fait la popularité de Windows est que même si sa version change trop souvent, les versions plus récentes continuent, dans la plupart des cas, à être compatibles avec les programmes conçus pour les versions précédentes. Il s'agit donc d'un "standard", comme on dit. Cette standardisation s'est aussi étendue à d'autres programmes célèbres du même développeur comme la suite bureautique "Office". C'est un avantage apparent pour les utilisateurs, mais chacun sait que toute situation de monopole a ses revers, surtout quand le standard se "déstandardise" sans arrêt...




L'OPEN SOURCE, A QUOI CA SERT ? EST-CE SEULEMENT UN HOBBY POUR INITIES ?



Qu'appelle-t-on l'Open Source ? Peut-être que bon nombre d'entre vous n'en ont jamais entendu parlé, alors que les utilisateurs d'ordinateurs un peu plus expérimentés ont vaguement eu l'occasion de lire par ci par là quelques commentaires ou liens promotionnels liés à l'Open Source. Je propose donc de clarifier brièvement (car ce n'est pas compliqué) ce qu'on appelle "le monde de l'Open Source".

Premièrement, bien qu'on essaye de l'étendre à d'autres domaines touchant la créativité, l'Open Source concerne surtout et presque exclusivement le développement de programmes informatiques. Pour qu'un projet de développement d'un programme soit qualifié de projet "Open Source", il doit impérativement respecter ces deux conditions:

1 - Le programme pourra être utilisé librement et gratuitement par toute personne désireuse d'en faire usage. (C'est déjà le cas du "Freeware", programme gratuit). De plus son installation ne doit pas s'accompagner de l'installation de programmes publicitaires ou malveillants.

2 - Le code écrit dans un langage informatique par les programmeurs, et qui a servi à créer le programme dit "exécutable" qu'on utilise (par exemple le "NOMPROG.EXE" sous Windows), doit être tout aussi librement accessible que le programme exécutable. Ceci est la grande différence avec le simple "Freeware". Vous vous demandez sûrement quelle est l'utilité et l'importance de cette condition supplémentaire. Et pourtant elle est de taille: Permettre à chaque programmeur "Open Source" de réutiliser au besoin des portions de code d'un programme (dit "code source") pour créer soit une version améliorée, soit même un autre programme reposant sur certaines bases communes. Ainsi des milliers de programmeurs amateurs sur la planète peuvent petit à petit, chacun à leur tour, proposer en ligne de nouveaux programmes gratuits adaptés aux besoins de chacun, avec de plus en plus d'efficacité. Les utilisateurs avancés peuvent même reprendre du code source pour se créer des programmes personnalisés qu'ils ne pourraient même pas trouver dans le commerce.

Ainsi, l'Open Source n'a rien de commercial, même si pourtant il contribue à stimuler la créativité en général, car bon nombre de programmes commerciaux se sont inspirés de projets Open Source. Par ailleurs il permet même à des sociétés informatiques aux moyens limités de développer des applications commerciales ciblées, développées avec des outils Open Source, et voire même fonctionnant sur un système d'exploitation Open Source. Ainsi, commercialement parlant, l'Open Source favorise plus la préservation des petites entreprises informatiques que celle des grosses, sans pour autant mettre en péril ces dernières déjà bien implantées.




DES EXEMPLES PARLANTS


Contrairement à ce qu'on veut souvent croire, Windows n'a pas été l'initiateur des systèmes d'exploitations modernes et n'a pas "ouvert la voie" alors que soi-disant rien n'avait été inventé avant. Les ordinateurs de type PC, maintenant largement majoritaires (qu'on peut résumer aujourd'hui par tous les ordinateurs autres que le "Mac") étaient très en retard dans les années 80-90, aussi bien par rapport aux systèmes haut de gamme appelés "stations de travail" que par rapport à des produits concurrents à bas prix (tels que les Atari, Amiga, etc...) en termes de convivialité et même de performances sonores et graphiques. IBM, encore acteur de poids dans le monde des PC à cette époque, avait décidé de conserver Microsoft (déjà fournisseur du DOS) comme développeur de ses systèmes d'exploitation. Ainsi, en s'inspirant de l'exemple des systèmes d'exploitations concurrents proposant des environnements graphiques, il fut question d'équiper le DOS d'un environnement graphique munis de fenêtres (comme dans les systèmes concurrents) et qui devait donc s'appeler naturellement, à défaut d'inspiration: "Fenêtres". Ainsi furent créés les premières versions de "Windows" antérieures à Windows 95.

Seulement voil": Alors que par exemple le système d'exploitation "Unix" utilisé sur les grosses machines (stations de travail) permettait depuis toujours de faire tourner plusieurs programmes simultanément (fonctionnement en "multi-tâches"), le DOS en avait toujours été incapable. Et le décorer par un environnement graphique plus esthétique ne résolvait en rien ce problème. Ainsi il fallut attendre 1995 pour que Microsoft propose un système d'exploitation capable d'assurer plus ou moins bien l'exécution de plusieurs programmes (mêmes ceux développés pour le DOS) d'une manière à peu près équivalente à un mode multi-tâches, tout en fournissant un environnement graphique digne de ce nom. Ainsi naquit Windows 95. Cette évolution s'accompagna des évolutions des ordinateurs eux-mêmes qui devinrent systématiquement équipés de cartes son, lecteurs CD, cartes vidéo plus évoluées, sonnant par là même le glas des petits ordinateurs dits "familiaux" basiques . Ainsi le retard rapidement rattrapé donna l'impression que Windows avait provoqué une révolution dans le monde informatique. Cette impression fut renforcée par l'expansion spectaculaire des PC devenus un standard à prix abordable, faisant leur entrée dans bon nombre de foyers qui n'avaient jamais connu aucun autre système informatique auparavant. Ainsi dans l'esprit de beaucoup d'utilisateurs, même anciens, avant Windows il semble qu'il n'y avait rien. On aurait mis Windows dans un PC de 1980 et tout aurait changé...

Et pourtant, bien loin de tout ça, déjà à cette même époque, se construisaient, petit à petit, plusieurs systèmes d'exploitations expérimentaux pour PC s'inspirant de l'ancien mais non moins performant Unix. En fait, on peut savoir aujourd'hui que si IBM avait décidé de faire adapter Unix aux PC, un système d'exploitation proche de celui qu'on appelle aujourd'hui "Linux" aurait été connu du public bien avant les années 2000, et peut-être même que Windows aurait été enterré avec le DOS. Bien sûr dans les années 90 c'était inconcevable pour des raisons purement stratégiques et non techniques. Considérant que le développement du système d'exploitation Linux par des bénévoles sans aucun moyen a abouti assez récemment à des produits complets et modernes, on peut deviner que son développement avec de gros moyens aurait abouti encore bien plus vite, en évoluant de la même manière que Windows. (Question: Aurait-il été aussi fiable qu'il ne l'est aujourd'hui ? On ne peut pas vraiment savoir...).

Comme vous l'avez pressenti il s'agit bien ici de donner, comme premier exemple spectaculaire de travail Open Source, le système d'exploitation Linux, que chacun peut aujourd'hui installer gratuitement sans trop de complications, et qui est même disponible en tant que système pré-installé sur les ordinateurs dans certains pays. (Notez qu'il y a ici un grand intérêt au niveau du budget de l'acheteur). A l'exception des jeux vidéo, aujourd'hui dans une "distribution" (*) de Linux il est possible de disposer de l'équivalent gratuit de chaque programme courant existant sous Windows. La compatibilité quant aux formats de fichiers multimédia (texte, son, images, vidéo) y est presque parfaite. Pour un usage bureautique tout comme pour du développement logiciel en amateur ou en professionnel, c'est donc un système d'exploitation très avantageux.

(*) Distribution Linux : Kit prêt à l'emploi (sur CD, DVD ou téléchargé) préparé et mis à disposition par une société/organisation informatique et permettant l'installation de Linux et de nombreux programmes associés, à titre gratuit ou à prix modéré (dans le cas où des programmes commerciaux et de la documentation sont ajoutés).

Mais Linux a un péché: Le manque de pérennité des versions, aussi bien en ce qui concerne les composants du système d'exploitation lui-même que les programmes fournis conjointement, ainsi que ses environnements graphiques. En effet, Linux supporte au choix plusieurs environnements graphiques. Cela peut sembler être un avantage pour l'utilisateur qui a le choix d'utiliser l'environnement qu'il préfère, mais en fait cela le contraint surtout à mettre sans arrêt à jour, voir même à changer complètement sa distribution lorsqu'il veut installer un nouveau programme qui utilise ce qu'on appelle des "librairies" (morceaux de programmes faisant le plus souvent partie de l'environnement graphique) toutes récentes. La multiplicité des environnements graphiques implique la multiplicité des besoins éventuels en librairies des programmes, si bien qu'il faut maintenir à jour même les librairies des environnements graphiques qu'on n'utilise pas. (Car même si le programme est utilisé sous un environnement graphique défini, il peut utiliser les librairies d'un autre). Ce problème est le plus rebutant pour l'utilisateur courant qui souhaite bénéficier régulièrement des dernières nouveautés. Et à ce problème s'ajoute celui de la diversité des distributions, proposant un même système d'exploitation mais avec des configurations différentes, ce qui fait qu'il n'y a pas une méthode standard et simple pour installer n'importe quel programme pour Linux sur n'importe qu'elle installation de Linux. C'est pourquoi aujourd'hui encore ce système d'exploitation est très peu implanté parmi les utilisateurs courants. Bon nombre d'entre eux sont agacés par la complexité d'installation des programmes qui ne sont pas fournis dans la distribution. Ainsi pour l'instant, à défaut du sacrifice d'une standardisation restrictive, seuls deux types d'utilisateurs peuvent utiliser Linux:

1 - Les utilisateurs très peu initiés qui se limitent à une utilisation bureautique et multimédia classique, qui n'installent pas eux mêmes leurs programmes, et pour qui il faut un système à l'abri des erreurs de manipulation.

2 - Les utilisateurs très avancés ayant des connaissances en développement logiciel.

On peut remarquer que c'est à peu près pour des raisons similaires (dans une proportion moindre) que les utilisateurs initiés sommairement qui "bricolent un peu" détestent Windows Vista alors que c'est la première fois qu'une version de Windows est aussi fiable à sa sortie. L'installation et le lancement des programmes sont strictement contràlés et restreints pour des raisons de sécurité, tentant ainsi de rompre avec la tradition du Windows attracteur de virus en tous genres que nous avons tous connu. Mais, cela se paye... En gros c'est le même problème. A cela s'est ajouté la simple lassitude de devoir se re-familiariser avec un environnement graphique différent. (Même si cet inconvénient est à mes yeux bien moindre que ceux qu'ont présenté les versions précédentes de Windows).

Enfin, pour terminer, simplement à titre de remarque, on peut ajouter qu'en aucun cas Linux ne conviendra à un amateur de jeux vidéo en 3D, car le développement rapide d'un jeu vidéo moderne nécessite des ressources colossales ne pouvant donc relever que d'un produit commercial. Aussi il ne faut pas s'imaginer que les éditeurs de jeux vidéo consacreront une partie de leur budget au développement de programmes destinés à un système d'exploitation encore peu répandu.




POURQUOI, A TERME, RESTER ACCROCHE AUX SYSTEMES PAYANTS NE GARANTIT PLUS UN STANDARD ?



Même si Microsoft n'est pas le seul à incriminer dans cette histoire, il est néanmoins l'exemple parlant le plus facile à trouver: Un système d'exploitation et une suite bureatique qui se sont imposés comme des standards et qui n'arrêtent pas de subir des évolutions forcées. De là résultent naturellement, en plus de l'impossibilité de bénéficier l'augmentation de la rapidité des PC, le besoin constant de changer de système pour être compatible avec le monde extérieur. C'est là la vraie force du monopole: le standard qui se dé-standardise sans fin. On ne s'étendra pas sur les multiples outils lourdingues de développement Web utilisés aujourd'hui et qui rendent un site sur cinq invisitable même avec un débit de 16 Megas, comme si on était au temps du MODEM à 56K. Tout ça parce-que des webmasters fainéants préfèrent laisser le boulot aux visiteurs (mises à jour incessantes de plug-in instables et obligation d'utiliser un navigateur non conforme aux normes, j'ai cité: Internet Explorer). Ca leur évite d'avoir à écrire un peu de code et en plus ils sont fiers d'utiliser les derniers outils à la mode. Il faut bien qu'ils se satisfassent de quelque chose ! On peut donc voir que les problèmes incessants de compatibilité et de boulversements divers sont loins d'être l'apanage de l'Open Source !




POURQUOI CE DEBAT AGITE AUTOUR DE L'OPEN SOURCE OU DU "LOGICIEL LIBRE" ?


Plus généralement, au delà du thème de Linux, l'Open Source est mal vu par certains défenseurs auto-proclamés de la prospérité économico-informatique. Selon eux, l'Open Source est de la quasi-piraterie car les projets Open Source s'inspireraient de programmes commerciaux (dont pourtant le code source n'a pas été divulgué), et seraient une menace à la mise en place du système des "brevets logiciels". Car c'est bien là qu'on parvient. Autant il a toujours été possible de breveter une idée à propos d'un nouveau produit ou d'un nouveau procédé de fabrication, tant que l'innovation était bien matériellement démontrable. Autant il a toujours été possible et admis qu'on protège le nom d'un marque et l'apparence d'un produit. Autant il a toujours été possible de breveter un nouveau principe de calcul (algorythme) permettant de traiter des données, et éventuellement d'être utilisé par un programme. (Notons que les brevets ont aussi heureusement une durée de vie limitée). Mais comment est-il possible d'imaginer de breveter des fragments de code informatique ou une fonctionnalité ? D'une part il est impossible d'examiner tous les codes sources datés de façon irréfutable ayant été écrits sur la Terre et susceptibles d'être antérieurs au dépôt d'un brevet, et d'autre part à partir de quand considère-t-on selon des critères bien établis qu'un fragment de code est novateur ? En effet, toute personne ayant été vaguement initiée à la programmation sait que premièrement on peut réaliser un programme accomplissant les mêmes tâches d'une infinité de façons différentes, et que par ailleurs deux codes sources peu différents en substance peuvent en revanche accomplir des tâches complètement différentes. Cette idée inapplicable du brevet logiciel n'est donc encore une fois qu'un tentative d'essayer de tirer de l'argent là oà il n'y en a plus. A l'heure où chaque utilisateur particulier ou professionnel ne demande qu'à avoir des moyens informatiques stables, fiables et abordables, les évolutions maintenant imposées (et désormais inutiles) ne suffisent plus à forcer la consommation en produits logiciels hors de prix, surtout dans le contexte actuel de récession bien engagée oà on se contentera uniquement de ce dont on a besoin (quitte à donner rageusement des coups de freins même dans les entreprises en imposant des contraintes de non évolution à ses partenaires). Par ailleurs il ne faut pas croire qu'ici je vise particulièrement Microsoft. En effet, pour les prochaines décennies l'avenir de cette compagnie est encore largement assuré. Et contrairement à ce qu'on pourrait croire, les ennemis de l'Open Source les plus acharnés peuvent plutàt se trouver par exemple du côté du monde Unix où la concurrence des stations de travail par des PC équipés de Linux y est vue comme une chose redoutable. Ainsi, ne vous étonnez pas de voir sur certains sites pro-Unix commerciaux que Linux est accusé d'être le système le moins fiable, classé derrière Windows.? Mais on décèlera aussi des détracteurs acharnés parmi de gros acteurs autres que Microsoft, en envie de se refaire une santé au moyen de quelques brevets logiciels. Et enfin on trouvera dans les forums internet quelques indécrottables méprisants avançant comme seul argument que, les programmes nécessitant beaucoup de travail, leur développement en dehors du domaine professionnel où "on paye des gens" est une pratique nuisible à la prospérité économique... Et pourtant, ils devraient cette fois se réjouir d'avoir dans notre pays des structures de développement dont les membres travaillent bénévolement, donc à un tarif moindre que des ingénieurs chinois ! On nous répète toujours que la compétitivité c'est avenir !

Pour terminer plus sérieusement, je ne prétendrai pas que l'Open Source est une révolution qui va changer le monde. Mais honnêtement je ne vois pas en quoi l'idée de programmes faits par des utilisateurs pour des utilisateurs comporterait une quelconque illégitimité. L'Open Source n'est ni plus ni moins qu'une des concrétisations modernes du simple principe d'entraide réciproque entre amateurs, comme ce fut le cas dans la pratique de nombreux loisirs à dominante technique (radio-amateurisme, modélisme, etc...) avec pour moteur la motivation personnelle qui a souvent donné de meilleurs résultats que des arsenaux procéduriers lourds lancés dans le but de tenir des délais irréalistes sous prétexte de gros budget. La différence qui gène à présent est que l'utilisateur non initié peut en profiter lui aussi, et ça, c'est considéré comme illégitime car ça l'empêchera de consommer inutilementà! Car, rappelons le encore une fois: Aujourd'hui on aime bien penser que si on consomme ça nous apportera des emplois, alors qu'il suffit de réfléchir un peu pour s'apercevoir que nous ne produisons plus rien de tous les produits industriels que nous consommons. Moi j'aime revenir toujours à ce thème universel du moment !




Retour