J’étudie la concurrence entre deux modèles de développement de
logiciel, le modèle propriétaire et le modèle open-source. Je définit
d’abord ces modèles puis les compare et analyse l’effet que l’existence
de l’un a sur le développement de l’autre.
J’explique les conséquences et les effets de quatre facteurs
principaux dans la concurrence entre logiciel libre et logiciel
propriétaire. Le premier est la moindre efficacité de la coordination
dans le développement libre comparé au développement propriétaire.
Le second est la différence d’objectif entre développeurs libres
et usagers finaux. Le troisième est l’influence des effets de réseau
sur la conception du logiciel (il y a effet de réseau si je préfère
que le logiciel que j’utilise soit également utilisé par d’autres).
Le quatrième est la différence entre les objectifs d’une organisation
libre qui s’inquiète seulement de ses utilisateurs présents, et
ceux d’une entreprise logicielle qui veut gagner de nouveaux clients
et parts de marché.
L’article est inspiré par l’étude de cas du logiciel TeX que j’ai
mené avec le soutien du GREMAQ-CNRS à l’Université de Toulouse et
de la School of Information Management and Systems à Berkeley. Une
version longue de l’étude de cas est disponible sur
http://agaudeul.free.fr, tandis qu’une version en anglais du papier
que je vais présenter est disponible à
http://agaudeul.free.fr/ossdistribution6.pdf.
Donald E. Knuth a développé le logiciel de composition TeX vers la
fin des années 70 sous licence libre. Ce logiciel est devenu une
référence pour l’édition scientifique. TeX et LaTeX, une collection
de macros basée sur TeX, sont maintenant employés pour composer et
éditer une grande partie de la littérature scientifique, notamment
pour la physique et les mathématiques.
Je compare les fonctionnalités, utilisateurs, et modes de développement
du logiciel TeX avec ses équivalents propriétaires, développés de
façon indépendante ou construits sur le socle de TeX. Je décrit et
modélise quelques aspects des interactions stratégiques entre
logiciels propriétaires et logiciels libres.
J’expose la manière dont le groupe des usagers de TeX (TUG) est
parvenu à coordonner le développement libre de TeX, et comment il
a choisi les objectifs de développement. Cela mène à la délinéation
de différentes étapes dans la vie de l’organisation libre. Je
montre aussi à quel point il est difficile pour une organisation
libre de développer une interface, et comment dans le cas de TeX
des développeurs motivés par le profit ont fournis les premières
versions faciles d’emploi de TeX. Je montre finalement comment les
besoins d’utilisateurs et des développeurs sont alignés dans le
choix des objectifs de développement libre, non pas, comme cela est
trop dit, parce que tout utilisateurs peut devenir un développeur,
mais parce que les développeurs ne diffèrent pas trop de l’utilisateur
standard, et parce qu’ils comprennent la nécessité de développer
un logiciel populaire pour bénéficier des effets de réseau.
J’analyse la concurrence entre TeX et des logiciels propriétaires
dérivés ou développées de façon indépendante. La composition de
leur population d’utilisateurs a évoluée au fur à mesure de la
maturation du projet tandis que chaque type de logiciel se développait
en réaction à la concurrence de l’autre côté. Les versions
propriétaires de TeX ont contribuées à populariser TeX sur lequel
elles sont basées, et ont souvent servi d’inducteurs à l’utilisation
des versions libres.
J’observe à partir de l’étude de cas des différences importantes
entre la logique de développement libre et la logique de développement
propriétaire :
La première est qu’il est plus difficile de coordonner les
développeurs et de les mettre d’accord sur des objectifs de
développement quand le développement est libre. Ceci est illustré
par l’étude de cas de TeX ainsi que par la littérature sur les
techniques de programmation.
La seconde est que les développeurs libres n’ont pas les mêmes
besoins que l’utilisateur moyen. Par exemple, les développeurs ont
besoin d’une interface qui réduise les coûts d’utilisation, tandis
que les utilisateurs ont besoin d’une interface qui allège les coûts
d’installation et d’apprentissage du logiciel. Les «
développeurs-entrepreneurs » (ceux qui développent un logiciel
propriétaire, ci-après « entrepreneurs ») et les développeurs libres
ont différents objectifs. Les développeurs libre ne peuvent vendre
un code développé à partir d’un projet libre sous licence « GPL »
(General Public License). Ils développent donc des fonctionnalités
qui ont de la valeur pour eux et pas nécessairement pour le « marché
» (population d’utilisateurs finaux). Les développeurs-entrepreneurs
essayeront eux de maximiser la valeur marchande du logiciel. Ceci
se traduit par le développement d’interfaces de nature différente
selon que le logiciel est de nature libre ou propriétaire.
Je présente également une autre explication des différences
d’objectifs entre développeurs libres et entrepreneurs : les
organisations qui fédèrent et organisent le développement libre
sont contrôlées par les « membres fondateurs » (ceux qui ont
développés les premières versions du logiciel). De nouveaux
utilisateurs peuvent alors trouver difficile d’influencer la dynamique
du développement du logiciel. L’entrepreneur peut alors être plus
rapide que l’organisation libre à identifier ce nouveau segment
d’utilisateurs et servir leurs besoins.
Ces observations ont des conséquences que je présente dans le papier
en trois parties :
Dans la première partie, du fait de différences de conception des
interfaces libres vs. propriétaires, les utilisateurs ne choisissent
pas un logiciels libres ou propriétaire seulement selon la valeur
qu’ils accordent aux fonctionnalités « brutes » du logiciel, mais
également selon les coûts à l’apprendre, installer et utiliser.
Quand le logiciel propriétaire offre plus de fonctionnalités que
le logiciel libre, il aura un prix élevé et les utilisateurs qui
ne peuvent pas se le permettre emploieront le logiciel libre même
s’il est plus coûteux à installer et apprendre. Quand tous les
deux ont les mêmes fonctionnalités, l’entreprise logicielle fixera
son prix à la valeur de son interface et maintient une position de
monopole sur le marché. Quand le logiciel libre a plus de
fonctionnalités, alors les utilisateurs qui ont la valeur la plus
haute pour le logiciel renonceront à l’interface plus pratique du
logiciel propriétaire et emploieront le logiciel libre à la place.
Dans la deuxième partie, je montre l’influence des « effets de
réseau »sur la conception d’un logiciel. Je montre qu’ils encouragent
le développement d’un logiciel libre plus accessible car les
développeurs tiendront compte des gains de part de marché que cela
leur procure. Cela peut décourager le développement d’une alternative
propriétaire.
Dans la troisième partie, les utilisateurs sont divisés en deux
groupes, ceux qui désirent le développement de fonctionnalités
similaires à celles que désirent les développeurs libres, et ceux
qui ont des priorités différentes. Ceci mène à une différentiation
entre les fonctionnalités développées par les entrepreneurs et par
les développeurs libres : l’entrepreneur peut choisir de développer
des fonctionnalités différentes et se concentrer sur les utilisateurs
qui ont des goût différents de ceux des développeurs libres.
Le papier inclut une discussion de la différence entre les logiciels
sous licence « BSD » (Berkeley Software Distribution) vs. ceux sous
licence GPL. La licence TeX est semblable à la BSD, mais le papier
traite essentiellement de la licence GPL.
La perspective sur le développement du logiciel libre que je présente
ici s’accompagne de nombreux caveats, et je tiens compte également
d’autres perspectives qui en modèrent l’aspect indûment péremptoire.
Le lecteur est donc invité à se référer aux papiers que j’évoque
au début de ce texte afin d’avoir une vue plus nuancée sur le sujet.