RSS .92| RSS 2.0| ATOM 0.3
  • Home
  • Best Of
  • In English?
  • L'auteur
  •  

    Coûts et bénéfices cachés des logiciels libres

    (ce texte sert de base à ma conférence de ce vendredi).

    Les logiciels libres font aujourd’hui partie intégrante du paysage informatique, et, au-delà des polémiques, il est essentiel de se poser les bonnes questions, et d’évaluer les coûts réels des alternatives proposées.

    Les équations du logiciel libre ne sont pas toujours simples à résoudre: libre=gratuit? libre=jungle? libre=second choix?

    Il nous serait agréable d’avoir des réponses binaires, mais la réalité est plus complexe. Peut-être que libre=”tout aussi cher” mais aussi que libre=”plus durable”?

    Qu’entend-on par “logiciel libre”?

    Le logiciel libre est défini par quatre “droits” énoncés à l’origine par Richard Stallmann, fondateur du projet GNU et de la Free Software Foundation, numérotés comme il se doit de 0 à 3:

    Droit 0: Le droit d’exécuter le logiciel pour n’importe quel usage.

    Droit 1: Le droit d’étudier le fonctionnement du logiciel pour l’adapter à mes besoins.

    Droit 2: Le droit de redistribuer des copies du logiciel.

    Droit 3: Le droit d’améliorer le logiciel et de publier mes améliorations pour en faire profiter la communauté.

    Les droits 1 et 3 impliquent l’accès au code source, qui s’il est indispensable n’est donc qu’un des éléments de la “liberté” d’un logiciel.

    Il existe plusieurs types de licences pour les logiciels libres, classées en deux grandes familles:

    -Les licences de type GPL (GNU General Public Licence) qui sont “virales”, en forçant les modifications de code a être distribuées avec la même licence.

    -Les licences de type BSD (Berkeley Software Distribution), dont fait partie la license ASL de la fondation Apache, qui permettent un usage plus libéral, y compris la revente de modifications du code ou le mélange du logiciel libre avec du code propriétaire, pour autant que la source originale soit indiquée.

    Cette distinction est importante dans un environnement commercial, dans lequel l’utilisation de logiciels ou composants GPL n’est pas toujours possible car elle peut rendre illégale la confidentialité de certaines parties du code modifié. La variante LGPL de la licence GPL résout partiellement ce problème pour la redistribution de librairies de code qui sont utilisées sans être modifiées.

    Dans tous les cas, il est important de noter que l’utilisation de logiciels libres est soumise à des conditions légales précises, qui même si elles sont très libérales doivent être respectées!

    L’importance des communautés

    Au-delà des critères idéologiques ou même économiques, on se rend rapidement compte de l’importance d’une communauté saine pour le développement et surtout la pérénnité d’un logiciel libre.

    “Given enough eyeballs, all bugs are shallow”
    Traduction libre: avec suffisamment de pupilles, tous les bugs sont simples à réparer.

    Cette citation, aussi connue sous le nom de “Loi de Linus” (du nom de Linus Torvalds, créateur du système Linux) se réfère à la qualité qui peut être obtenue lorsque de nombreux programmeurs de divers horizons se penchent sur le même code.

    Comme pour une lettre importante que l’on fait relire, la relecture du code et surtout un travail actif sur ce code par de nombreuses personnes, sous la direction d’un groupe de projet solide, permet d’atteindre des niveaux de qualité souvent supérieurs à ceux des produits commerciaux.

    Les communautés jouent donc un rôle clé dans la qualité des logiciels libres, et font toute la différence entre un logiciel “orphelin” affublé tardivement par son éditeur d’une licence libre en désespoir de cause, et un produit créé dès le départ par une communauté ouverte.

    L’existence d’une communauté ouverte et vivante est donc un critère essentiel pour le choix d’un logiciel libre, et on se méfiera des produits dont le code source est disponible mais dont la communauté est fermée ou restreinte.

    L’esprit d’ouverture et les outils de collaboration

    Autre élément clé des communautés du logiciel libre, l’esprit d’ouverture a un impact important sur les groupes de travail - et ceci également en entreprise.

    Dans un projet de logiciel libre à l’organisation très informelle, et dans lequel des programmeurs de cultures différentes travaillent dans des fuseaux horaires différents, un fort esprit d’ouverture et des outils de collaboration et communication efficaces sont essentiels.

    Les groupes de projet, tels que les fondations Apache ou Mozilla, ont ainsi mis au point au fil des années des méthodes de travail “tout terrain” qui ont fait leurs preuves dans ces structures informelles, avec des résultats plus que probants. Il suffit de penser au succès de logiciels comme Linux, le browser Firefox (plus de 150 millions de téléchargements à ce jour) ou le serveur web Apache (qui selon Netcraft fait fonctionner près de 70% des serveurs sur l’Internet) pour en être convaincu.

    Contraints par définition à être efficaces avec des moyens restreints, ces groupes de projets ont affiné leurs méthodes pour concentrer leurs forces sur les aspects essentiels. Le test automatique des logiciels est en première ligne comme garantie de qualité, accompagné par la mise en place de moyens de communication et d’outils de collaboration simples et efficaces, offrant notamment une traçabilité complète du code source.

    Ces outils de collaboration exposent rapidement le travail de chacun au regard des autres, dans un esprit de “compétition bienveillante” qui favorise l’émulation et récompense implicitement le travail de qualité. Le parallèle avec une équipe sportive efficace, où chacun connaît sa place et les forces et faiblesses des autres joueurs, vient à l’esprit en observant ces communautés.

    Le climat d’ouverture et de franchise qui prévaut dans ces communautés est une composante essentielle de leur succés. Laissez votre ego à la porte et concentrez-vous sur les objectifs essentiels du projet…combien de responsables de projet voudraient que ce principe soit mieux appliqué par leurs employés?

    L’influence de ces communautés sur le monde du travail est un des “bénéfices cachés” de l’adoption des logiciels libres. Il semble d’ailleurs indispensable pour qui veut améliorer ses processus d’entreprise de s’intéresser aux modes de fonctionnement de ces communautés, que l’on utilise leurs produits ou pas.

    La meilleure manière de se familiariser avec ces techniques de travail est bien sûr de participer directement à l’un de ces projets. Cette participation est d’ailleurs fortement recommandée dès que l’utilisation du produit en question est stratégique pour l’entreprise, ne serait-ce que pour avoir son mot à dire sur l’avenir du projet.

    La participation aux communautés peut être directe, pour les entreprises dont la taille le permet, ou se faire par l’intermédiaire d’associations professionnelles ou de groupes d’intérêt locaux. Les sociétés de services jouent de plus en plus ce rôle d’intermédiaire entre les utilisateurs de logiciels libres et les communautés de projet, offrant des services professionnels tout en évitant au client d’être dépendant d’un seul fournisseur.

    Structure des coûts et comparaison

    Une comparaison précise des coûts entre les logiciels libres et commerciaux n’est pas facile, tant la structure de coûts dépend du type de projet, de l’environnement, des compétences disponibles et de nombreux autres facteurs spécifiques à chaque entreprise.

    Cependant, quelques pistes existent:
    -Les coûts de licence d’un logiciel ne représentent souvent qu’une petite partie des coûts globaux du système.

    -Pour des projets nécessitant des adaptations locales, les coûts de configuration ou de développement jouent un rôle très important.

    -Dans la globalité des systèmes d’information, les transitions (d’un système à un autre, et même parfois d’une version d’un système à un autre) mangent souvent une partie importante des budgets. Chaque changement d’architecture ou de d’infrastructure peut avoir des effets de bord et des coûts cachés considérables.

    L’utilisation de logiciels libres ne garantit pas que les coûts de configuration ou de développement soient moindres. Au contraire, certains logiciels libres demandent des compétences techniques plus fortes pour être maîtrisés, soit parce qu’ils sont moins bien documentés que les produits commerciaux, soit parce leur plus grande modularité implique un travail de configuration plus complexe.

    Est-ce que libre veut forcément dire moins cher?

    Plus accessible certainement, car le coût d’évaluation ou celui d’un projet pilote peut être beaucoup plus bas avec un logiciel libre. Cela à une grande influence sur les coûts d’exploration d’un produit ou d’une technologie, qui seront en général beaucoup plus bas pour les logiciels libres, permettant d’évaluer plus d’options avant de prendre une décision stratégique.

    Comme on l’a dit, une comparaison précise est difficile - à moins que l’on soit l’esclave d’un fournisseur monopolistique dans son domaine, auquel cas les coûts de licence et de service peuvent prendre des proportions démesurées et faciliter le choix.

    Cet effet est très visible en Amérique du Sud, où le Brésil et le Pérou, par exemple, font de gros efforts politiques et économiques dans le domaine des logiciels libres. Cela leur permet de s’affranchir du monopole nord-américain et surtout de développer une industrie informatique locale sur la base de logiciels libres, plutôt que d’importer des licences et des services. La Chine est un autre exemple qui va très clairement dans cette direction.

    On peut craindre que certains pays occidentaux, en considérant encore les logiciels libres comme un hobby d’adolescents boutonneux, se fassent dépasser sous peu par ces pays en termes de qualité et surtout de rentabilité des services informatiques. L’urgence dictée dans ces pays par une économie plus difficile est bénéfique pour eux dans ce domaine.

    Donc, les logiciels libres ne seraient pas moins chers? Ou pas forcément?

    La différence se situe à notre avis plutôt entre un “bon” et un “mauvais” logiciel. Dans le monde du libre comme dans le monde commercial, certains logiciels sont connus pour leur gourmandise en termes de services, de matériel ou pour les pannes fréquentes et coûteuses qu’ils occasionnent.

    Notre analyse est incomplète à ce stade: nous n’avons pas encore pris en compte ce fameux esprit d’ouverture, ni les transitions.

    L’esprit d’ouverture a-t-il une valeur? Oui, c’est indéniable! Combien d’entreprises aujourd’hui lancent des programmes internes de transparence, d’aplatissement des hiérarchies et d’amélioration du travail en groupe? Elles sont nombreuses: la hiérarchie de “l’ancien temps” avec ses verrous à tous les niveaux de collaboration est révolue, pas seulement à cause du changement des mentalités, mais surtout parce qu’une bonne collaboration et un esprit d’ouverture dans l’entreprise sont très rentables.

    Un des “bénéfices cachés” des logiciels libres est donc une possible amélioration de la collaboration à l’intérieur de l’entreprise, par “osmose” à partir de l’esprit des communautés qui produisent ces logiciels.

    Et les transitions? Elles sont coûteuses, bien sûr, mais est-il possible diminuer leur fréquence ou leur ampleur?

    C’est ici que les logiciels libres arrivent en force: d’une part, en n’étant pas lié au bon vouloir d’un fournisseur, un logiciel libre peut avoir une durée de vie beaucoup plus longue qu’un produit commercial que l’éditeur devra souvent démoder artificiellement, pour faire la place à ses nouveaux produits.

    Par l’accès au code source, une communauté d’utilisateurs peut obtenir le contrôle complet du produit, et le faire vivre aussi longtemps que nécessaire, tant que les compétences techniques sont disponibles.

    L’autre aspect est l’utilisation d’interfaces et de protocoles ouverts, réellement ouverts, pas seulement sur le papier: la collaboration indispensable entre les différents groupes de logiciels libres rend vitale la définition et l’utilisation de standards pour la communication entre ces produits.

    Ceci fait toute la différence en ce qui concerne les transitions: plus un système informatique est modulaire et basé sur des standards et protocoles ouverts, plus il sera possible de le faire évoluer petit à petit, en remplaçant prudemment un module après l’autre lorsque c’est nécessaire.

    L’évolution du système d’information sera alors graduelle, organique et contrôlée, diminuant de manière très importante les coûts des transitions. Ces coûts semblent souvent inévitables mais représentent en pratique trop souvent des gaspillages importants, sans réelle justification autre que les modes imposées par les éditeurs de logiciels pour leur profit. Ce sont ces gaspillages que les logiciels libres peuvent permettre d’éviter.

    Conclusions

    Bien qu’il soit difficile de chiffrer précisément les différences de coût entre logiciels libres et commerciaux sur le long terme, les méthodes de collaboration améliorées, et surtout la meilleure modularité que peuvent apporter les logiciels libres, nous semblent être des avantages essentiels pour l’entreprise.

    Ces avantages se traduiront par des coûts diminués à moyen et long terme, également parce que l’entreprise ou la communauté d’utilisateurs pourra acquérir avec le temps une meilleure maîtrise de ses logiciels, en participant directement, ou par l’intermédiaire de partenaires spécialisés, aux communautés de développement de ces produits.

    Un autre aspect essentiel pour l’économie est le fait que l’argent dépensé pour un système d’information basé sur des logiciels libres reste le plus souvent dans notre pays: en investissant dans les services plus que dans les licences, on permet à une industrie informatique locale de se développer et de vivre, améliorant notre économie et la qualité de nos services dans ce domaine.

    L’utilisation de logiciels libres, bien qu’elle n’apporte pas forcément d’économies immédiates, semble donc bien receler d’importants “bénéfices cachés”, à moyen et surtout à long terme.

    Pour profiter pleinement de ces bénéfices, il sera nécessaire d’adapter les méthodes de travail et les mentalités d’entreprise, en “apprivoisant” les communautés du logiciel libre pour y participer efficacement. Cela implique de disposer des compétences nécessaires à une gestion très différente des relations et fournisseur et utilisateur de logiciels, dans laquelle l’entreprise sera plus participante que simple cliente.

    Références web

    http://apache.org/foundation/ - Apache Software Foundation

    http://www.fsf.org - Free Software Foundation

    http://www.gnu.org/philosophy/free-sw.html - The Free Software Definition

    http://www.creativecommons.ch/ - Creative Commons Switzerland

    http://www.cluetrain.com/ - The Cluetrain Manifesto

    http://fr.wikipedia.org/wiki/Logiciel_libre - Wikipedia: le logiciel libre

    Livres sur le sujet

    The Cathedral and the Bazaar - Eric S. Raymond, O’Reilly

    Open Sources: Voices from the Open Source Revolution - Chris DiBona et al, O’Reilly Open Source

    WordPress database error: [Can't open file: 'wp_comments.MYD'. (errno: 144)]
    SELECT * FROM wp_comments WHERE comment_post_ID = '15' AND comment_approved = '1' ORDER BY comment_date

    Leave a Reply