Linux pour les photographes – Première partie
Publié le 13 mars 2008 dans Articles et dossiers par François-Xavier Belloir
Notions de logiciels libres, Open Source et de droits d’auteur
Tout d’abord, il y a cette notion d’ “ouverture” (Open Source) du code qui régit le fonctionnement d’un programme. L’acronyme GNU, qui regroupe le cadre juridique dans lequel cette ouverture prend place, désigne une forme de licence qui permet le libre partage d’un logiciel tout en empêchant son intégration dans des produits non partageables. La licence GNU définit le logiciel libre en s’appuyant sur quatre libertés fondamentales :
- la liberté d’exécuter le programme, quelle qu’en soit l’utilisation ;
- la liberté d’accéder au fonctionnement du programme et donc à son code source ;
- la liberté de distribuer des copies de ce programme, gratuitement on non ;
- la liberté de modifier ce programme pour en améliorer le fonctionnement et de publier ces améliorations.
Les auteurs de logiciels libres et ouverts ne se voient pas pour autant dépossédés de leurs droits. Afin justement de les garantir, tout en étant compatibles avec les principes énoncés ci-dessus, une nouvelle forme de droit d’auteur a été créée. Il s’agit du “Copyleft” qui met en oeuvre un principe de réciprocité : un logiciel issu d’un logiciel sous copyleft doit lui-même être libre.
Il est évident que ces quatre principes fondamentaux sont en totale opposition dans l’esprit avec les logiciels ou systèmes d’exploitation publiés par les sociétés Microsoft ou Apple (on parle alors de logiciel ou de système “propriétaire”).
Ces principes ont pour conséquences :
- l’accès aux sources : n’importe qui peut obtenir et consulter le code source d’un programme et ainsi en comprendre le fonctionnement dans son intégralité. Il peut donc contribuer à son amélioration ou à l’extension de ses fonctionnalités en fonction des besoins. D’où l’apparition de vastes communautés de développeurs, à laquelle chaque individu, totalement décentralisé, contribue selon ses moyens et ses compétences. Ainsi, il est envisageable, par exemple, de développer un système d’exploitation allégé destiné aux machines d’ancienne génération ;
- l’ouverture des formats : l’intérêt est de deux ordres. Le premier est de garantir la pérennité d’un format dans la mesure où les spécifications de celui-ci sont rendues publiques. Ainsi, il sera toujours possible d’exploiter un format donné (de lire un fichier possédant ce format) car la structure de ce format est publique et accessible à tous. Le second intérêt est de permettre l’interopérabilité des logiciels ou la portabilité des fichiers. En rendant par exemple totalement transparente la structure d’un document issu d’un traitement de texte donné, il est totalement envisageable de développer un programme capable de lire sans faute ce fichier. On touche là à un sujet important concernant le photographe : les formats RAW actuellement proposés par les fabricants d’appareils photos numériques ne sont pas ouverts. Autrement dit, il faut nécessairement posséder le logiciel (propriétaire) fourni par le fabricant pour exploiter les données du fichier RAW. L’ouverture des formats devient un critère incontournable pour les grandes administrations qui se tournent de plus en plus vers les systèmes libres ;
- la créativité et l’invention : tout ou partie d’un logiciel libre est réutilisable, son code est ouvert et mis à disposition de tous. Il est alors possible de réutiliser ce qui existe déjà, librement, afin de proposer un logiciel aux fonctions étendues, et ainsi de suite. C’est sur ce principe que de nombreux convertisseurs RAW ont vu le jour, tous avec des fonctionnalités différentes, grâce aux fonctionnalités de base et aux algorithmes apportées par le convertisseur de Dave Coffin, à savoir le fameux dcraw ;
- la réactivité à corriger les erreurs : dans la mesure où les contributeurs et les développeurs ne sont pas des employés d’une même société, et donc ni soumis à des limites d’effectifs, ni contraints par des priorités commerciales, il est envisageable de penser que leur nombre et leur motivation peut engendrer une réactivité de meilleur niveau. Cette réactivité a un impact positif direct sur la sécurité des systèmes libres ;
- la stabilité : au-delà de la structure technique du noyau du système Linux, fondée sur une architecture UNIX qui a fait ses preuves non seulement dans le domaine des serveurs (40% des serveurs dans le monde fonctionnent sous un système de type UNIX) mais aussi dans d’autres domaines, l’accessibilité des sources et la compétences et le nombre des développeurs font que la probabilité d’un dysfonctionnement non traité diminue fortement ;
- la sécurité : l’architecture même du noyau et du système d’exploitation Linux rend plus difficile l’exécution de codes malicieux à l’insu de l’utilisateur et, dans tous les cas, les dégâts possibles sont beaucoup plus limités que sur un autre système d’exploitation. Au pire, on peut perdre ses données personnelles, mais pas le système lui-même (ce qui n’est pas fondamentalement grave dans la mesure où des sauvegardes sont réalisées périodiquement, comme il se doit !). Microsoft a fait un pas significatif vers la sécurisation de son dernier né, Windows Vista, en intégrant un système de droit d’utilisateur qui se rapproche de celui existant dès le départ dans Linux. Pour ce qui concerne les virus, le système Linux bénéficie là encore des avantages liés à son architecture particulière. Il n’existe quasiment pas de virus ciblant la plateforme Linux. Et quand on se demande pourquoi, certains répondent que la raison principale est justement la faible pénétration du système d’exploitation Linux et que les délinquants préfèrent se focaliser sur le plus répandu, à savoir Microsoft Windows. C’est oublier que dans le domaine des serveurs, les systèmes Unix/Linux sont pratiquement à parité avec les systèmes Windows, ce qui fragilise fortement cet argument ;
- la modularité : contrairement à Windows, qui présente une architecture “tout-en-un” et qui donc requiert une machine possédant à la base une forte capacité de traitement, un système Linux est composé d’une structure modulable à souhait, en fonction de ses besoins mais aussi en fonction des capacités de son ordinateur. Il est ainsi possible de faire fonctionner Linux sur un ordinateur de faible puissance (un ordinateur équipé d’un processeur de 266 MHz et de 64 Mo de mémoire peut très bien rendre des services sous Linux à condition d’installer des applications légères mais néanmoins parfaitement fonctionnelles). A l’opposé, les machines récentes, dotées de composants puissants pourront tirer parti des applications lourdes disponibles.