• Aucun résultat trouvé

2.2.4 La connaissance du passé pour mieux comprendre le futur Étant donné qu’au sein de la communauté du Libre et de l’Open Source le

savoir de chacun est mise à disposition librement, il est supposé permettre à chacun de profiter des expériences passées pour éviter de repartir de zéro. Il s’agit d’un principe que nous pouvons retrouver dans tous les domaines, et qui nous est relaté dans l’Histoire, grâce aux vestiges du passé. L’une des raisons de la conservation de ces vestiges, c’est bien de comprendre la manière de penser des communautés présentes avant nous et de profiter du savoir qu’elles ont développé, pour toujours capitaliser les connaissances et s’améliorer.

A défaut de prendre un exemple qui va dans le sens de notre propos, prenons le cas inverse : il nous est très difficile de savoir comment les populations d’Amérique centrale parvenaient à élaborer des calendriers précis, car selon leurs coutumes, la transmission du savoir était très majoritairement orale. L’Histoire a fait que ces civilisations ont aujourd’hui disparu, ne laissant à leurs plus proches descendants et aux chercheurs qu’une infime partie des connaissances qu’elles avaient développé, ne permettent pas aujourd’hui de profiter des trouvailles de ces défunts savants.

Aujourd’hui il n’existe pas encore de modèles d’infrastructure idéale permettant de préserver le code source et de valoriser le développement d’un logiciel, ainsi que toutes ses composantes essentielles à sa bonne exploitation. Disposer ainsi d’infrastructures permettant de collecter et d’enrichir sur le long terme un logiciel permet de garantir la longévité de celui-ci et de l’adapter aux besoins des utilisateurs durant un laps de temps indéterminé.

2.3 D

ES CENTRES DEDOCUMENTATION VIRTUELLES

Avant l’arrivée des plateformes, les logiciels ne disposaient pas toujours de serveurs dédiés et versionnés. Une fois que le logiciel entre en production, une version de celui-ci est mise à disposition des utilisateurs via le site internet des protagonistes du projet. Les différentes versions du logiciel sont ainsi diffusées via ce site qui devient le point d’échange entre les utilisateurs et les développeurs.

Les communautés ont su s’organiser pour non seulement sauvegarder sur la durée le code source d’un logiciel spécifique, mais aussi parce qu’ils proposent une documentation complète et disponible librement pour les utilisateurs. Les cas que

nous allons étudier sont des modèles dans ce genre. Ils sont de véritables centres de documentation (au sens de bibliothèques du code source). Ces dispositifs présentent la mise en place concrète d’un certain nombre de mesures pour assurer la bonne conservation du code, ainsi qu’une bonne diffusion de celui-ci, sous une forme de donnée adéquate. Ils existent par ailleurs maintenant depuis plus longtemps que les plateformes de développements, restent activement productives et n’ont connu à ce jour aucune fuite de données. Mais avant de nous intéresser de près à ces cas spécifiques, faisons un point rapide sur la notion de package.

2.3.1 Le package

Le package ou packaging est une notion importante dans le cadre de la conservation du code source et d’un logiciel, car elle peut concerner plusieurs choses et est étroitement liée à la gestion du code.

Le packaging ou package est en fait l’enveloppe à l’intérieur de laquelle nous pouvons retrouver le code source ainsi que de la documentation permettant d’installer, d’administrer et d’utiliser le logiciel qu’il régit69. Il fait ainsi partie intégrante des objets

à conserver car il permet la compréhension de l’ensemble de la structure du code. et permettra ainsi de définir précisément quel type de moyens peuvent être mises en place pour garantir son interopérabilité avec une structure ou un système d’exploitation spécifique. C’est sous cette forme qu’il est bien souvent proposé aux utilisateurs de télécharger les fichiers relatives au logiciel. Il peut être mis à disposition sur un site internet ou bien directement sur la plateforme de développement sur laquelle le logiciel a été développé. Le package ne peut ainsi être livré simplement avec le code à l’intérieur n’apportant aucune explication sur son fonctionnement et sa mise en place.

Cette notion de package est également essentielle pour comprendre l’intérêt d’archiver le code source du logiciel70. Étant donné que le package contient non

seulement le code source mais aussi toute sa documentation, il permet déjà d’appréhender les premiers raisonnements logiques du développeur qui a produit le code. Le package contiendra également des détails sur les systèmes d’exploitations compatibles participant dans le même temps à une meilleure compréhension de ces systèmes.

69 DI COSMO Roberto, ZACCHIROLI Stefano, Op Cit. 70 Ibid.

La principale cause d’obsolescence d’un logiciel ne provient pas toujours des fonctionnalités limitées qu’il propose, car ces dernières peuvent être améliorés au fur et à mesure. Cependant, les systèmes sur lesquels ils sont supposés fonctionner sont amenés à évoluer, nécessitant que le code source soit modulable et adaptable pour qu’il puisse être exploité de façon optimal dans la durée. C’est probablement le problème le plus compliqué à résoudre car il ne dépend pas seulement de contraintes techniques mais aussi de volontés différentes d’évolution des équipes en charge de faire évoluer leur produit. La version X d’un logiciel peut être compatible avec la version Y d’un système d’exploitation, et ne plus être compatible avec la version Z car les développeurs de ce dernier ont changé le raisonnement logique de la structure de leur code, nécessitant ainsi une refonte plus ou moins importante d’une partie du code du logiciel en version X. Bien évidemment, ceci est un exemple volontairement exagéré, mais néanmoins susceptible de se produire. En tout cas, pour exemple concret, nous pouvons citer le cas des disquettes de sauvegarde sur ordinateur, ou encore les cassettes VHS, tous deux des dispositifs autrefois extrêmement utilisés dont la production des systèmes permettant de les lire s’est aujourd’hui arrêtée71.