De l’esprit du développement logiciel
Qu’est-ce qui attire les développeurs vers la programmation ? En lisant une biographie de Richard Stallman (la seule en français à ma connaissance. Elle a en outre l’intérêt de compter RS himself parmi ses contributeurs), c’est la question qui m’est (re)venue en tête. Je me la posais déjà durant mes études qui se partagèrent entre gestion et informatique. Le premier chapitre de ce livre, autour d’une histoire d’imprimante, rappelle l’état d’esprit des ingénieurs informaticiens dans les années 70.
A cette époque, l’informatique était une science “bas niveau”, qui s’adressait aux bidouilleurs. Les ordinateurs ramaient, les compilateurs étaient limités, et même la conception se limitait (pas pour longtemps) à une vision monolithique et procédurale du code. Pour s’en sortir, il fallait s’appuyer sur un mélange subtil d’échange de savoirs et de système D. Par conséquent, il était naturel de partager et donc de montrer son travail à ses pairs ; ce qui aboutit à la culture du hacking où chaque ligne de code vise à démontrer ses compétences à une communauté (ah, les démos graphiques…).
Ce mode de fonctionnement coopératif, universitaire même, aurait perduré s’il n’avait fallu, à un moment, vendre l’informatique. Ce qui s’est développé à cette période c’est l’informatique grand public. La naissance du PC et l’avènement de Microsoft ont amené à penser les logiciels pour une diffusion large, et plus seulement pour des clients institutionnels comme les entreprises ou les laboratoires publics et privés. Là où un mastodonte capable de s’offrir les services d’un mainframe n’a pas pour première considération d’envisager des licences personnelles. Dans ce contexte, l’éditeur de logiciels n’a effectivement pas à s’inquiéter d’une diffusion sans limites via les réseaux ; il compte d’abord sur ses contrats avec ses partenaires (reversement de la licence sur la vente des machines, facturation de la maintenance, etc.).
Lorsque les logiques concurrentielles et de retour sur investissement (ROI) sont remontées jusqu’à la R&D, le Droit est venu modifier l’état d’esprit des développeurs. Le développeur veut toujours garder une trace de ce qu’il a codé ; c’est “son bébé” et il considère son travail comme une production intellectuelle au même titre qu’un journaliste. Consciencieux, il éprouvera toujours une pointe de fierté à évoquer les défis passés et leur résolution futée. Cette tendance amène au partage, et c’est elle que RS a voulu protéger en inventant le concept de Logiciel Libre, je pense. Le partage n’est pas que diffusion, il est aussi collaboration et coopération.
RAPPEL – Selon RS, quatre libertés sont accordées à l’utilisateur du logiciel : utiliser le programme, en étudier le code source, le modifier et distribuer des copies de la version originale ou modifiée.
Pour revenir à ma petite personne, je dirais que mon désir de programmer est venu du pouvoir que, tout à coup, l’on peut avoir sur la machine en n’utilisant que l’abstraction. La Tortue Goto est prévisible et docile, le processeur est comme une page blanche. Là encore, on revient à la comparaison avec les écrivains ; on peut “sécher”, en informatique, même devant d’excellentes spécifications. Et je pense que ce sentiment est partagé par tous ceux qui ont voulu devenir développeurs. Or, dans le marché actuel, les producteurs de code ne possèdent pas leurs œuvres même sous la forme d’un droit de regard (alors des** droits d’auteur**, vous pensez). Clauses de confidentialité, de non concurrence, d’exclusivité… et même jusqu’à la compilation ; tout est fait pour cacher au monde ce travail, en ne faisant prévaloir que les droits de propriété.
OWNI a interviewé Richard Stallman qui est dans le coin en ce moment…
A l’heure de l’internet, du piratage logiciel et culturel, de la dématérialisation, il y a comme une contradiction féroce à dépenser du temps et de l’énergie à vouloir protéger quelque chose qui techniquement ne peut pas l’être. On l’a encore vu récemment dans le procès Oracle vs Google ; un ouragan pour, au final, 9 malheureuses lignes de code. Un algorithme trivial en plus. Je regrette de devoir le dire : l’algorithmique est une forme de savoir, pas un procédé industriel. Comme le langage, la philosophie, la science, les maths, la luge, elle appartient à l’humanité !
Étant donnée la croissance du marché des logiciels, on comprend bien, le besoin logique qu’ont les entreprises à vouloir en monopoliser tous les aspects (traitements, protocoles, ergonomies) ; mais c’est peine perdue ! En dématérialisation, l’avantage concurrentiel ne peut s’acquérir que par l’innovation et l’excellence. Quel sont les premiers critères retenus par les utilisateurs informatiques ? La stabilité et l’adaptabilité. Il suffit de lire les commentaires sur les magasins en ligne d’applications mobiles pour s’en rendre compte. Personne ne veut prioritairement avoir un logiciel qui ne ressemble à aucun autre. Et j’ai tendance à penser que les meilleures améliorations sont venues de la comparaison entre différentes solutions, parce que l’usage stimule l’imagination.
Alors, le marché du logiciel est-il la démonstration ultime du concept de longue traîne ? Un nouveau modèle économique, ou un tohu bohu inextricable ?
[à suivre dans la deuxième partie : Peut-on encore vendre du logiciel ?]