Les utilisateurs doivent prendre conscience de l'importance du financement de la R&D pour le succès du logiciel qu'ils utilisent

oct. 28 2013

Il y a deux semaines, j'ai eu l'occasion de participer à une table ronde à l'Open World Forum concernant "l'achat" de logiciels libres (disponible ici en vidéo).

Suite à cette table ronde, Bertrand Lemaire, l'animateur, a publié l'article Open World Forum 2013 : énième rappel, le libre n'est pas synonyme de gratuit, dans lequel je suis cité concernant ma position sur la problématique de financement de la R&D des logiciels libres, quand l'acheteur recherche le plus bas coût et s'adresse souvent à des sociétés de services qui ne financent pas d'améliorations du logiciel libre.

Cette position n'est pas partagée par Jean-Séverin Lair (DSI au ministère de la Culture) qui a indiqué penser que certains éditeurs "refusent la concurrence", un des bénéfices essentiels du logiciel libre.

Au vu de cette réaction, et comme j'ai par la suite eu des questions sur cette intervention, je pense qu'il est utile de préciser mon propos et de détailler le problème qui se pose et les conséquences associées.

Mais avant cela, je pense qu'il est utile de rappeler que je crois au logiciel libre et que j'en produis avec mes collègues d'XWiki SAS et contributeurs d'XWiki depuis presque 10 ans. De par mes contacts avec d'autres entrepreneurs du libre, j'ai pu échanger avec eux sur leur expérience et leur modèle d'affaire.

J'ai aussi pu voir des projets libres devenir fermés ou des sociétés aux modèles "pseudo libre". J'ai pu mesurer les contributions externes à notre société, ainsi que l'attractivité que peut avoir une société de logiciel libre auprès des ingénieurs que nous cherchons à embaucher.

Notre entreprise a pour particularité -pas si commune que cela dans le domaine des entreprises de technologies- d'appartenir à ses employés et de ne pas avoir fait appel à des financements d'investisseurs. Son objectif est de se développer de façon stable dans la durée, et non de faire un "coup", de revendre notre logiciel et de voir un acquérant réduire (éventuellement) l'ouverture du code et de la communauté.

Ma société fait du logiciel libre car nous aimons l'ouverture et au contraire, nous acceptons la concurrence bien plus que les éditeurs propriétaires et bien plus que d'autres éditeurs qui segmentent leur offre en une offre libre et une offre fermée. 

Nous aimons les échanges que le logiciel libre permet avec les utilisateurs. Nous aimons collaborer avec d'autres développeurs. Nous aimons notre logiciel et voulons en faire le meilleur logiciel possible. Nous aimons que ce logiciel soit utilisé le plus largement possible, et ce, plus que d'augmenter nos revenus personnels. 

Pour autant, je pense que nous avons le droit d'expliquer les problèmes que peuvent poser la "gratuité" du logiciel libre poussé à l'extrême, aussi bien pour l'éditeur lui-même que pour ses utilisateurs et de proposer des solutions qui peuvent être dans l'intérêt de toutes les parties.

Le libre n'est pas gratuit, il faut financer la R&D

Avant de pouvoir utiliser un logiciel gratuitement, il doit être développé. Ensuite, il doit être amélioré en permanence et mis à jour.

Un des problèmes du logiciel propriétaire était que les éditeurs modifiaient parfois artificiellement le logiciel pour justifier une mise-à-jour qui était rémunératrice. Un autre problème est que rien n'empêche un éditeur de logiciel propriétaire d'emmagasiner des revenus sans cesse croissants sans faire suivre l'investissement en R&D.

A l'opposé, il ne faudrait pas croire qu'un logiciel libre se maintient gratuitement. Plus le logiciel devient important, plus le moindre changement est complexe car les utilisateurs attendent une compatibilité ascendante à toute épreuve. Il faut aussi être conscient que c'est la complexité du logiciel qui définit l'investissement en R&D nécessaire et non son nombre d'utilisateurs, ce qui, on va le voir, a son importance pour certains modèles de financements de logiciels.

Les modèles de financements de la R&D sont multiples dans le domaine du libre :

  • participation bénévole d'utilisateurs ou de passionnés
  • financement de contributeurs au logiciel par des sociétés
    • par la marge des contrats de support ou par la marge des services réalisés sur le logiciel ou sur un autre logiciel qui bénéficierait du premier (c'est le cas des éditeurs de distributions Linux qui financent des contributeurs de certains autres logiciels présents dans la distribution)
    • par la vente de licences de versions non libres du même logiciel (c'est le cas d'éditeurs qui ont des offres mixtes)
    • par les revenus d'un service internet ou un service Cloud (c'est le cas de Google avec Android, et d'autres géants du web avec beaucoup de librairies, mais aussi de plus petits éditeurs qui peuvent avoir un service sur le Cloud)
    • par les revenus de systèmes publicitaires (c'est le cas de Mozilla avec Firefox)
  • financement de fonctionnalités additionnelles par des utilisateurs (parfois individuellement, parfois de façon groupée)
  • financement par des dons ou du financement de la recherche

Le premier mode de financement, même s'il est à l'origine de beaucoup de logiciels communautaires, n'est pas toujours un mode de financement pérenne pour le logiciel.

D'autres modes de financement ne sont pas applicables à tous les types de logiciels, comme la publicité qui, si cela fonctionne bien pour Firefox, ne fonctionne pas pour un logiciel serveur.

En final, tout dépend du niveau de reconnaissance et d'utilisation du logiciel et de la taille des entreprises qui ont intérêt au succès du logiciel. 

Aujourd'hui, Linux dispose de financements significatifs en R&D car il y a plusieurs sociétés qui ont créé des distributions Linux et qui chacune contribue un peu à la communauté. C'est plus difficile pour les projets plus petits. 

Or ces projets sont importants pour les utilisateurs de logiciels libres, en particulier s'ils souhaitent utiliser des logiciels libres pour l'ensemble de leur pile de logiciels.

Il y a des moyens de financements de logiciels libres, mais alors où est la difficulté ?

  • tout d'abord il n'y a pas de lien direct entre la masse des dépenses des utilisateurs autour d'un logiciel et la R&D sur ce logiciel. Les utilisateurs peuvent dépenser énormément pour mettre en oeuvre les logiciels sans que jamais ceux-ci ou leurs fournisseurs ne financent la R&D.
  • certains modes de financement ne sont pas pérennes, et ils peuvent s'arrêter brutalement. C'est le cas de certaines librairies que le contributeur initial n'utilise plus et ne finance plus. C'est le cas aussi du bénévolat.
  • pour les petits projets, le financement est fait par l'éditeur initial, souvent PME, qui veut se faire une place, et qui peut s'essouffler.

En final, un point clé est que s'il n'y a pas de lien direct entre dépenses autour du logiciel libre et R&D du logiciel libre, il peut y avoir sous-investissement dans le logiciel et celui-ci ne vas pas se développer aussi vite qu'il pourrait.

La concurrence est une valeur du logiciel libre, oui mais il faut qu'elle soit équitable

Pour autant, on ne peut pas créer ce lien direct entre les dépenses liées au logiciel libre et la R&D, hormis partiellement pour les modèles mixtes libre/propriétaire. Comme l'a indiqué J.S. Lair, la concurrence est une valeur fondamentale du logiciel libre.

Mais l'utilisateur doit être conscient que s'il fait jouer la concurrence à fond, sans tenir compte de l'aspect R&D sur le logiciel, il risque de tarir cette R&D. C'est finalement comme quand des pécheurs pêchent tous les poissons d'une espèce et font disparaître l'espèce. Sans régulation, il peut y avoir extinction.

Du côté des éditeurs, il est faux de dire que certains (dont XWiki) refuseraient la concurrence. Ce serait plutôt le cas des éditeurs avec modèles mixtes que le cas des éditeurs qui choisissent un modèle 100% ouvert.

Les créateurs de logiciel libre au contraire s'exposent beaucoup plus à cette concurrence et ils en sont bien conscients. Ce que nous revendiquons cependant est une concurrence équitable.

Hors, si certains contribuent et d'autres ne contribuent pas, alors la concurrence n'est pas équitable. 

Des solutions sont possibles pour rendre cette concurrence plus équitable, par exemple :

  • imposer aux prestataires un niveau de contribution minimum, ou à défaut de faire appel à un contrat de support auprès d'une société ayant un niveau de contribution minimum.
  • tenir compte de l'investissement en R&D réalisé dans l'analyse de la différence de prix entre un prestataire qui contribue et un qui ne contribue pas, et si on choisit celui qui contribue pas, prévoir un financement de R&D séparé.
  • tenir compte des avantages que représente un prestataire qui contribue en terme de compétence, ré-intégration des bugs dans le produit, etc..

Quand on est éditeur de logiciel libre, on est attaché à l'éthique, et le fait qu'un prestataire qui ne contribue pas soit avantagé est forcement vu comme un problème. 

C'est d'autant plus un problème pour l'éditeur à qui l'on demande de former les prestataires des donneurs d'ordre, mais qui ne savent pas s'ils ne sont pas en train de former leurs concurrents.

Bien entendu, la liberté de concurrence est fondamentale dans le libre. Le donneur d'ordre peut décider de ne pas financer la R&D, mais dans ce cas qu'il l'assume et qu'il soit conscient des risques qu'il prend en laissant ce financement aux autres.

Et s'il préfère être un "free-rider" (terme décrivant un membre de communauté qui prend mais ne donne pas), autant qu'il ne consulte pas les petits éditeurs de logiciels libres lors d'appels d'offre complexes, car au moins l'éditeur évitera un coût commercial pour un contrat perdu d'avance.

Ne pas traiter ces problèmes risquerait de pousser les éditeurs vers des modèles moins ouverts

Les utilisateurs de logiciels libres doivent être conscients des conséquences. Si personne ne paye la R&D d'un logiciel libre, alors celui-ci risque de s'éteindre. En d'autres termes, les utilisateurs scient la branche sur laquelle ils sont assis (pas de façon active, mais plutôt par leur inaction).

Si l'argent dépensé pour mettre en oeuvre les logiciels ne contribue pas plus directement à la R&D des logiciels libres, celui-ci ne s'améliorera pas à la hauteur de son succès d'usage. 

Si pour les logiciels d'usage moyen ou métier, il n'y a pas de financement de la R&D, alors les innovateurs vont abandonner le logiciel libre pour des modèles mixtes (libre/propriétaire) ou pour un modèle pur cloud, car ils ne se sentiront pas reconnus en tant que producteur de logiciels libres.

Il y a déjà beaucoup d'exemples, en particulier pour les sociétés financées par des fonds d'investissements. Les fonds préfèrent massivement les modèles avec une monétisation par une sur-couche propriétaire ou par un service Cloud. L'expérience montre que comme pour les services Cloud "gratuits", la période "libre" ne dure qu'un temps et petit à petit l'entreprise ne contribue plus, et un fork communautaire est alors parfois créé (comme MariaDB, fork de MySQL), ce qui fait repartir à zéro du point de vue financement.

En tant qu'utilisateur, on peut espérer que les "autres" utilisateurs vont financer la R&D ou bien que des moyens de financement comme le CIR ou les projets de recherche suffiront à faire progresser le logiciel, mais cela est tout sauf un modèle vertueux qui va encourager les entrepreneurs et les ingénieurs de talent à produire du logiciel libre.

Exiger un niveau de contribution minimum et se préoccuper du financement de la R&D

Afin de ne pas scier la branche sur laquelle les utilisateurs sont assis, ceux-ci doivent prendre conscience de l'importance du financement de cette R&D pour le succès du logiciel qu'ils utilisent.

Pour cela ils ne doivent pas seulement regarder le niveau de service fourni par le prestataire de logiciel libre mais aussi étudier le niveau de contribution, et le prendre en compte dans leur choix.

La circulaire Ayrault indiquait qu'il ne fallait pas oublier de prévoir 5 à 10% pour améliorer le produit mais un aspect, qui n'est pas pris en compte ici, est que les utilisateurs doivent étudier le niveau de contribution nécessaire en fonction du projet. Suivant la taille et le type de logiciel, la R&D est plus ou moins bien financée et le besoin en financement de R&D peut différer fortement. Le niveau de contribution devra être plus important pour un projet qui a peu de contributeurs que pour un grand qui en a beaucoup.

De son côté un prestataire peut s'engager à réinvestir un certain pourcentage de la marge de ses services dans la R&D. Là où un prestataire de service pur ne réinvestirait pas et aurait un niveau de contribution de zéro, ceci pourrait être compensé par un contrat de support pris auprès d'un prestataire qui contribue et qui aurait un niveau de contribution élevé.

Si les utilisateurs sont conscients du niveau de R&D d'un logiciel libre, s'en préoccupent et participent à celui-ci, alors nous serons dans un modèle vertueux qui encouragera la création de logiciel, et alors pour les sociétés, les avantages du logiciel libre l'emporteront et les créateurs et contributeurs de logiciels libres ne se sentiront pas laissés pour compte.

Le libre fonctionne avec la participation

Le libre est un modèle fabuleux qui permet de mutualiser les efforts de tous. A long terme, si un logiciel est de qualité, tout un chacun pourra l'utiliser mais aussi se baser dessus pour faire de nouveaux logiciels et la valeur obtenue par les utilisateurs sera bien supérieure à celle obtenue avec des logiciels propriétaires. Ceci est vérifié par des souches logicielles comme Linux qui ont servit de base à plusieurs distributions mais aussi à des OS mobiles comme Android. Les serveurs Linux propulsent la plupart des services Internet gratuits. Mais pour arriver à ce niveau et pour que cela fonctionne il faut de la participation, en particulier sur les logiciels innovants. Nous aurons de meilleurs logiciels libres si les utilisateurs se comportent en acteurs du logiciel libre et non pas s'ils se comportent en utilisateurs recherchant le plus bas coût. Chacun doit contribuer à sa façon et si c'est le cas le logiciel libre continuera à se développer.

Ludovic Dubost
Président & Fondateur