En ce qui concerne l'avenir, il ne s'agit pas de le prédire, mais de le rendre possible
Antoine de Saint-Exupéry
 Français  English  Deutsch

Le logiciel libre, un facteur de compétitivité

Résumé

Cet article a été rédigé suite à la manifestation du London Financial Python Users Group le 17 Octobre 2012. Je détaille ici ma vue de la recommendation de Dennis Pilsworth responsable informatique de AHL du groupe (londonien) MAN qui en tant que principal orateur avait invité les participants de faire des dons aux projets de logiciel libre pour soutenir le l'éco-système informatique dans lequel les établissements financiers évoluent.

Systémiquement, il y a compétition entres les acteurs, mais aussi entre les systèmes. Et un acteur ne peut espérer gagner que si le système dans lequel il évolue est bien placé dans la compétition entre systèmes ! Aucun système informatique ne peut survivre si les outils à la base de ce système ne sont plus maintenus activement.

Et aussi il est dans l'intérêt des acteurs d'aider les développeurs de logiciels libres qui travaillent sur des systèmes qu'ils utilisent. Cela peut-être par exemple le langage de programmation Python ou encore un outil basé sur Python comme Panda (qui a aussi été présenté lors de cette manifestation).

Si vous effectuez une donation pour un logiciel libre important pour votre votre institution, vous influencez l'éco-système informatique de votre institution ! Faire une donation pour un logiciel libre, c'est voter !

Vous trouverez aussi ci-après une discussion d'une stratégie de donation rationnelle

Le logiciel libre est une très bonne alternative

Contexte

Les grandes banques d'investissement utilisent à grande échelle le logiciel libre. Deux exemples:

  • Goldman-Sachs utilise pour la négociation par ordinateur le langage de programmation Erlang. Erlang est un logiciel libre.
  • JP Morgan utilise le langage de programmation Python comme langage de programmation quasi-exclusif pour l'ensemble de la banque. Python est un logiciel libre utilisé à grande échelle par des organisations comme la Nasa, Google ...

Bill Gates associe le logiciel libre au communisme: Les banquiers de Wall-Street et les gestionnaires de hedge-fund se seraient-ils mutés en communistes ?

Encore plus surprenant les gouvernements, même socialistes et social-démocrates, ont une tendance naturelle à utiliser des logiciels propriétaires.

Les banques d'investissement ne sont pas une pépinière cachée de communistes: Elles utilisent une alternative performante au logiciel commercial. Le principal avantage n'est pas d'éviter de payer le coût d'acquisition des licences mais les avantages inhérents à la structure de l'éco-système du logiciel libre !

Très souvent, l'aspect le plus important est d'être capable de lire et d'éditer le code du programme, les "sources". Ainsi, les programmeurs sont capables

  • de comprendre la logique interne du programme ce qui permet aux programmeurs d'améliorer leurs compétences,
  • d'évaluer le produit mieux et plus rapidement, et aussi
  • de résoudre rapidement les bogues détectées, au moins provisoirement. Si vous et votre équipe avez attendu pendant des semaines pour recevoir un "patch" pour un bogue bloquant que vous avez documenté, vous savez de quoi je parle.

Donner: Combien et pour quel projet ?

Même si le principe de sponsoriser un projet "logiciel libre" est acquis, la question de l'application pratique demeure entière. Voici une proposition et quelques critères

Définissez votre politique de donation sur une base annuelle. Vous avez encore plus de crédibilité en donnant relativement régulièrement plutôt que de faire un don faramineux sans suite. N'hésitez pas à envoyer une lettre signée par votre directeur informatique détaillant pourquoi et combien vous donnez pour ce projet, ce que vous appréciez dans ce project et où vous pensez que des améliorations sont à prévoir. Et donnez pour des projets qui ont une utilité pour vous ou que vous souhaitez pousser !

Vous donnez uniquement pour l'équipe de programmation, pas pour la commercialisation ou le département juridique ou encore des profits. Vous pourriez envisager une donation de l'ordre de 10% du prix de la licence et de la maintenance d'un produit équivalent en tant que logiciel commercial. Certains logiciels de développement commerciaux coûtent facilement de l'ordre de 5.000$ par programmeur. Ce qui correspondrit à une donation de l'ordre 500$ par programmeur. Mais il s'agit de Votre décision !

Une autre référence est le coût d'un programmeur. Au moins dans l'industrie financière, vous aurez probablement un coût typique de l'ordre de plus de 100.000€ par an. En tenant compte des vacances et d'autres frais, ceci vous ramène à un coût de l'ordre de 500€ par jour. Voilà un chiffre intéressant pour définir que donner éventuellement

Celui qui a accés aux sources d'un programme, contrôle ce programme. Il n'a plus besoin du concepteur, du moins en principe.Ce qui explique que dans la plupart des cas, si le concepteur diffuse les sources, il n'exige pas l'achat d'une licence. Le concepteur n'est plus capable d'imposer le paiement des licences dans ce cas de figure. Néanmoins, d'un point de vue théorique, le fait de diffuser les sources et le fait de ne pas exiger l'achat d'une licence sont deux choses différentes.

Les anglophones parlent surtout de sources disponibles (open-source), les francophones mettent plutôt l'accent sur l'absence de frais de licence, même s'il est possible d'argumenter qu'un "logiciel libre" est "évidemment" disponible sous forme de source.

D'où une autre question: Comment un programmeur "sain d'esprit" peut-il en arriver à "abandonner" la propriété de son logiciel ?

Pourquoi le logiciel libre existe-t-il?

Les décideurs ont à juste titre tendance à ne pas s'impliquer dans des transactions dont ils ne comprennent pas la rationalité du point de vue de l'autre partie contractante.

Alors que le logiciel libre est communément accepté, il me semble que beaucoup de décideurs sont toujours mal à l'aise avec le principe du logiciel libre à cause de cette non-transparence perçue.

Nous allons maintenant analyser la "transaction" du point de vue du programmeur du logiciel libre.

Marketing

Tout d'abord, beaucoup de concepteurs de logiciels libres offrent des services de consultance autour de leurs produits.

Mais, donner du logiciel ou des services informatiques sans contrepartie ou avec une contrepartie très modeste est aussi une stratégie marketing pour inonder le marché lorsque vous êtes dans une position de (relative) faiblesse.

Microsoft a utilisé des stratégies similaires à de multiples occasions. A ses tous débuts, Microsoft avait une politique très dure en matière de copyright. Cependant, Bill Gates a été par après beaucoup plus souple dans les faits durant les années de croissance explosive, notamment durant la période de concurrence avec Lotus et WordPerfect dans le monde DOS. Microsoft savait que les utilisateurs sans licence finiraient par devenir ses clients. Et que Microsoft n'avait pas à leur fournir de support pour l'installation et l'apprentissage de ses logiciels.

D'autres exemples abondent; rappelez-vous des stratégies de regroupement de produits au sujet d'Internet-Explorer, de Microsoft-Office,... et des réductions de prix considérables les accompagnants.

Google a aussi pris son envol en tant que projet quasiment bénévole qui ne facturait aucun service et ne faisait initialement aucun chiffre d'affaires.

Eric Schmidt, directeur général de Google, ne faisait pas partie de l'équipe ayant lancé le projet Google. L'ingénérie-système et le marketing correspondent à des cultures très différentes. L'idée est de laisser les ingénieurs construire les outils et d'observer comment le marché évolue et ce qui peut être fait par après pour générer du chiffre d'affaires.

La stratégie de Google est typique, elle ne peut être expliqué que par le fait que le fonctionnement d'un département commercial opérant à l'échelle mondiale (et d'un département juridique) a un coût élevé, souvent bien plus élevé que le coût de développer le produit. Alors pourquoi ne pas réduire l'investissement marketing à zéro en faisant cadeau du produit ?

Beaucoup de petites sociétés ont suivi et suivent une stratégie analogue. Bien sûr, ces stratégies ne sont pas aussi radicales que d'abandonner les droits de licence, mais ceci montre que des guerres de prix sont chose fréquente dans le monde du logiciel.

Correction de bogues, nouvelles fonctionnalités

Il arrive souvent à des développeurs de logiciels libres de recevoir des corrections de bogues et/ou des fonctionnalités supplémentaires pour leur produit qui ont été développées par les utilisateurs. Ce qui ne réduit pas seulement les frais, mais apporte aussi un savoir-faire supplémentaire au projet.

Qualité du logiciel, délais

Typiquement, les projets de logiciels libres sont conçus avec des ambitions de haute qualité. Les programmeurs ont souvent une âme d'artiste ! Comme l'aspect financier n'est pas si important ;) , les plannings ne le sont pas non plus et donc la qualité et l'esthétique qui va de pair avec sont plus pris en compte.

Et évidemment, la société utilisant ce logiciel profite de cette recherche de qualité

Le logiciel libre d'un point de vue historique

Google a recruté plusieurs programmeurs impliqués dans le langage Python, y compris Guido van Rossum, le concepteur initial de Python, Alex Martelli et Greg Stein

IBM et Xerox ont aussi une tradition analogue. Voyiez Benoît Mandelbrot qui développa la théorie des fractales en travaillant pour IBM, et Charles Simonyi, l'inventeur de la notation hongroise, qui travailla à Xerox Parc avant de rejoindre Microsoft.

Les rois ont souvent accueilli à leur Cour des scientifiques, des artistes et des philosophes pour agrémenter leur vie et aussi comme une possibilité d'améliorer leur jugement et leur capacité de décision . Pensez à la carrière de Voltaire, Archimède, Michelangelo, Leonardo Da Vinci et autres

Sous des formes diverses, le sponsoring a été une pratique fréquente à travers les âges

Donner équivaut à voter

Le logiciel libre est un exemple du problème bien connu en théorie des jeux du bien commun. Si personne ne soutient le bien-commun, ici le logiciel libre que vous utilisez, ce dernier disparaît à terme faute de maintenance. D'un autre côté, vous profitez du fait que si d'autres financent votre logiciel libre, votre situation est encore meilleure.

Ce point de vue n'est cependant pas tout à fait exact dans le cas présent parce que les donations envisagées sont minimes par rapport aux montants en jeu. Les montants en jeu sont le coût de redévelopper endéans 5 à 10 ans l'ensemble des programmes utilisées par votre société. Ce montant peut être fort important si votre société dépend largement de l'informatique

Donner aux auteurs de logiciels que votre société utilise intensément est une possibilité à faible coût pour de voter et d'aider l'éco-système informatique à l'intérieur duquel votre société évolue.

Et évidemment, vous pouvez aussi profiter directement de vos donations en positionnant votre société directement par rapport à des acteurs informatiques importants pour vous.

PS: Mes remerciements à Didrik Pinte de Enthought et Richard Gomes de JQuantLib pour leurs contributions intéressantes