Chapitre 5. L'avenir de Cygnus Solutions™ — Récit d'un entrepreneur

Table des matières
Les débuts de Cygnus
GNUPro
Les grands défis
Trouver des fonds au-delà des logiciels libres — eCos
Réflexions et Perspectives

Créée en 1989, Cygnus Solutions™ fut la toute première, et selon un rapport du magazine Forbes en août 1998, c'est aujourd'hui la plus importante entreprise fondée sur les logiciels libres. Son produit phare, le kit de développement GNUPro, est le leader du marché des compilateurs et des débogueurs pour logiciels embarqués. Cygnus compte parmi ses clients les plus grands fabricants de microprocesseurs, et des leaders dans le domaine de l'électronique grand public, de l'Internet, des télécommunications, de l'automatisation, des réseaux, de l'aérospatiale ou de l'automobile. Son siège se trouve à Sunnyvale, en Californie, elle a des bureaux à Atlanta, Cambridge, Tokyo et Toronto, et des employés en divers endroits allant de l'Australie à l'Oregon. Cygnus est la plus grande entreprise à capitaux privés dans l'industrie du logiciel embarqué, plus importante que deux entreprises à capitaux publics et sur le points de dépasser la troisième entreprise par ordre d'importance. Avec une croissance du chiffre d'affaires de 65% depuis 1992, Cygnus a figuré dans le Top 100 de la croissance du CA du San Jose Business Journal's. Elle figure maintenant dans la Software 500 list (tous secteurs confondus).

Dans cet article, je décrirai le modèle du logiciel libre qui est la clé de notre succès, et la manière dont nous continuons à le revoir et à l'améliorer afin de progresser.

Ce n'est que le 13 novembre 1989 que nous avons reçu la lettre du California Department of Corporations nous informant que notre demande était approuvée, que nous pouvions déposer notre capital de 6000$ et commencer notre activité sous le nom de « Cygnus Support ». C'était l'aboutissement d'un projet né plus de 2 ans auparavant, et le début d'une aventure qui continue encore aujourd'hui, presque 10 ans plus tard.

Cette vision a commencé de façon relativement innocente. Mon père m'a dit un jour : « Quand tu lis un livre, lis-le de la première à la dernière page ». Comme tous les conseils paternels, celui-ci ne fut appliqué que lorsque j'en avais envie. En 1987, trouvant mon travail de plus en plus ennuyeux, je commençai à m'intéresser aux logiciels GNU, et je décidai de lire le GNU Emacs Manual, publié à compte d'auteur par Richard Stallman, de la première à la dernière page (aucun éditeur n'avait voulu publier ce livre, car ses lecteurs étaient non seulement autorisés mais encore encouragés à en faire des copies gratuites. De fait, même aujourd'hui, c'est un concept toujours difficile à expliquer aux éditeurs).

Emacs est un programme fascinant. Bien plus qu'un éditeur de texte; il avait été étendu pour permettre de lire son courrier électronique, les forums Usenet, exploiter un shell, lancer des compilations et déboguer les programmes résultants; il donne même accès à l'interprète Lisp™ sur lequel il repose. Des utilisateurs inventifs (ou, ce qui revient au même, des hackers qui s'ennuyaient) avaient ajouté des fonctions saugrenues comme le mode doctor de psychanalyse automatique inspiré du programme ELIZA de John Mc Carthy, ou encore le mode dissociated-press qui réarrange le texte de façon bizarre et très amusante. Il y a même un programme qui dessine et anime la solution du problème des tours de Hanoï (sur un écran de texte !). C'étaient cette profondeur et cette richesse qui m'ont donné envie d'en savoir plus, de lire le manuel et le code source d'Emacs.

Le dernier chapitre de ce livre, le « manifeste GNU », est une réponse personnelle de l'auteur à la question qui m'a travaillé durant toute ma lecture, à savoir : pourquoi un programme aussi bon est-il disponible gratuitement avec ses sources et librement redistribuable, en un mot libre ? Stallman répond à la question plus générale suivante :

Pourquoi il faut que j'écrive GNU ?

Je considère que la règle d'or est que si j'apprécie un programme je dois le partager avec d'autres qui l'apprécient. Les éditeurs de logiciels veulent nous diviser pour nous conquérir, en persuadant chaque utilisateur de ne pas vouloir partager avec les autres. Je refuse ainsi de briser la solidarité avec les autres utilisateurs.

On ne peut pas citer tout le « Manifeste » ici. On dira simplement que s'il ressemble en surface à un pamphlet socialiste, j'ai voulu y voir autre chose. En fait j'y ai vu un business plan. L'idée est simple : le logiciel libre unifie les efforts des programmeurs du monde entier, et des entreprises proposant des services (personnalisation, améliorations, corrections, assistance technique) pour ces logiciels profiteraient des économies d'échelle et du fort pouvoir d'attraction de cette nouvelle espèce de logiciel.

Emacs n'était pas le seul programme époustouflant de la Free Software Foundation. Il y avait le débogueur GNU (gdb), que Stallman a dû écrire parce que les débogueurs de DEC (maintenant filiale de Compaq) et de Sun n'étaient pas assez puissants pour un programme aussi complexe qu'Emacs. Non seulement ce programme pouvait tolérer une charge importante, mais il le faisait avec élégance : ses commandes et ses extensions étaient vraiment adaptées aux programmeurs. Et comme c'était un logiciel libre, des programmeurs n'ont pas tardé à ajouter d'autres extensions qui l'ont rendu encore plus puissant. Les logiciels propriétaires n'offraient pas ce type d'extensibilité.

Mais la vraie bombe tomba en juin 1987, lorsque Stallman publia la version 1.0 du compilateur C de GNU, gcc. Je l'ai immédiatement téléchargé et j'ai utilisé tous les trucs du manuel de gdb et d'Emacs pour maîtriser rapidement ses 110 000 lignes de code. La première version du compilateur de Stallman était compatible avec deux plates-formes : le vénérable VAX et les nouvelles stations Sun3. Il générait un code qui tenait la dragée haute aux compilateurs de DEC et Sun. J'ai porté gcc sur le nouveau processeur 32032 de National Semiconductor. Le résultat était 20% plus rapide que le compilateur propriétaire fourni par National. Après deux semaines de bitouilles supplémentaires, j'ai porté la différence à 40% (on a souvent dit que la puce de National n'a pas connu le succès parce qu'elle ne délivrait pas 1 Mips et ne concurrençait donc pas le 68020 de Motorola. Or les benchmarks faits avec des applications lui donnaient juste 0,75 Mips à sa sortie. Mais 140% x 0,75 Mips = 1,05 Mips. Combien les piètres performances de ce compilateur coûtèrent-elles à National SemiConductor ?). Les compilateurs, les débogueurs et les éditeurs sont les trois principaux outils du programmeur dans sa vie quotidienne. gcc, gdb et Emacs étaient tellement supérieurs aux outils propriétaires que je ne pouvais m'empêcher de songer à la quantité d'argent qu'on pourrait gagner en substituant aux outils propriétaires ces programmes meilleurs et aux progrès plus rapides.

Voici une autre citation du Manifeste :

Il n'y a rien de mal à souhaiter voir son travail rémunéré, ou à chercher à maximiser son revenu, tant que l'on n'utilise pas de moyens destructifs. Mais les moyens d'ordinaire utilisés pour les logiciels sont destructifs.

Soutirer de l'argent aux utilisateurs d'un programme en en restreignant l'usage est destructif car les restrictions réduisent les usages potentiels du logiciel. Elles réduisent donc la quantité de richesse que l'humanité peut tirer du logiciel. Ces restrictions délibérées sont donc nuisibles et destructrices.

La raison pour laquelle un citoyen ne doit pas employer de moyens destructifs pour s'enrichir est que si tout le monde faisait ainsi, nous serions tous appauvris par cette destruction mutuelle.

Bien qu'il ne soit pas écrit avec des pincettes, le « manifeste GNU » est en fait un document rationnel. Il dissèque la nature profonde des logiciels, de la programmation, de la grande tradition universitaire, et conclut à une obligation morale de partager gratuitement l'information qu'on a reçu gratuitement, indépendamment des conséquences financières. J'ai atteint une conclusion différente, qui m'a valu de longues discussions avec Stallman. Si je pense que la liberté d'utiliser de distribuer et de modifier le logiciel prendra le pas sur tout modèle visant à limiter la liberté, ce n'est pas pour des raisons éthiques mais à cause de la loi du marché.

Au début j'essayais d'argumenter de la même manière que Stallman : en vantant les qualités des logiciels libres. J'expliquais comment la liberté était le moteur d'une plus grande innovation à des coûts plus bas, permettait des économies d'échelle grâce à des standards plus ouverts, etc. Et les gens répondaient : « C'est une grande idée mais ça ne fonctionnera pas car personne ne voudra payer pour des logiciels gratuits. ». Après deux ans passés à perfectionner ma rhétorique, à affûter mes arguments, à porter la bonne parole aux gens qui me payaient pour voyager dans le monde entier, je n'avais jamais été plus loin que « C'est une grande idée, mais... », lorsque j'eus ma seconde illumination : si tout le monde pense que c'est une idée géniale, c'est sans doute une idée géniale, et si personne ne pense que ça va marcher, je n'aurai pas de concurrent !

 

- F = - ma

 
--Isaac Newton 
Vous ne verrez jamais un livre de physique où la loi de Newton est introduite de cette manière; pourtant, mathématiquement parlant c'est strictement équivalent à « F = ma ». Ce que je veux dire par là, c'est qu'en faisant bien attention aux signes, on peut inverser les membres d'une équation sans remettre en cause sa validité. Faire de l'argent en offrant une assistance de nature commerciale pour des logiciels gratuits paraissait impossible parce que les gens, obnubilés par ce signe « - », oubliaient de le compter de l'autre côté du signe égal.

 

On peut résister à l'invasion d'une armée, mais pas à celle d'une idée dont le temps est venu.

 
--Victor Hugo 
Avant de laisser tomber ma thèse à Stanford pour créer une entreprise, il ne me restait plus qu'à répondre une question, largement hypothétique au demeurant. Supposons un instant que j'aie assez d'argent pour acheter n'importe quelle technique propriétaire (celle de Sun ou Digital, par exemple). Combien de temps pourrais-je gagner de l'argent avant que quelqu'un d'autre lance une entreprise avec les outils GNU et m'expulse du marché ? Pourrais-je seulement récupérer mon investissement initial ? Quand j'ai compris combien être en compétition avec des logiciels libres est une position inconfortable, j'ai su que le temps était venu.

 

La différence entre la théorie et la pratique est très petite… En théorie.

 
--Anonyme 
Dans cette section, je détaillerai la théorie du logiciel libre comme modèle commercial et la façon dont nous avons essayé de la mettre en pratique. Nous commencerons par quelques réflexions célèbres :
 

Les marchés libres sont auto-organisés, ce qui permet un usage optimal des ressources et une création de valeur maximale

 
--Adam Smith 
 

L'information, quel que soit l'argent qu'on a dépensé pour la créer, peut être dupliquée et partagée avec un coût faible, voire nul.

 
--Thomas Jefferson 
Le concept d'une économie du libre marché est si vaste que j'aime à plaisanter, chaque année, lors de la remise du Nobel d'économie, en disant qu'il est allé à celui qui a paraphrasé Adam Smith le plus élégamment. Mais toute blague mise à part, il existe un potentiel immense et inexploité, qui n'attend que d'être mis en valeur par un marché du logiciel vraiment libre.

Du temps d'Adam Smith, le libéralisme économique concernait surtout les particuliers : les marchés plus vastes, et spécialement les échanges entres nations, étaient très contrôlés. Lorsque les hommes d'affaires en eurent assez du système royal, ils se sont révoltés et ont créé un nouveau système de gouvernement qui s'occupait moins de leurs affaires. De fait, leur conception de la liberté dicta la Constitution des États-Unis, et elle semble partout à l'origine de nombre d'actions politiques et économiques. Qu'est-ce qui rend la liberté si attirante ? Et pourquoi liberté et prospérité économique sont-elles si étroitement liées ?

 

Plus on comprend ce qui ne va pas dans une figure, plus cette figure est instructive.

 
--Lord Kelvin 
Clairement, en ce qui concerne les outils pour programmeurs en 1989, les logiciels propriétaires étaient dans un état lamentable. D'abord, les outils étaient primitifs et offraient des fonctionnalités limitées. Ensuite ils avaient souvent des limitations arbitraires qui pouvaient devenir rédhibitoires lorsque les projets étaient complexes. Enfin, l'assistance technique proposée par les éditeurs de logiciels était horrible. À moins d'être un gros client et de pouvoir utiliser le pouvoir du portefeuille pour faire pression, on était sans recours quand on tombait sur un os. Enfin, chaque vendeur avait ses propres extensions propriétaires, ce qui faisait que quand on avait commencé à utiliser les maigres fonctionnalités d'une plate-forme, on se liait à elle, d'abord de façon imperceptible, puis de manière tout-à-fait inextricable. De fait, le modèle des logiciels propriétaires fonctionnait si mal que c'était intéressant à observer.

Encore de nos jours, l'économie de marché fonctionne à l'intérieur des murs des éditeurs de logiciels propriétaires (où les ingénieurs, les groupes de production sont en compétition pour obtenir des fonds et des avantages). À l'extérieur, l'utilisation et la distribution des logiciels est étroitement contrôlée par des brevets, des licences, et des secrets commerciaux. On peut seulement imaginer l'énergie et l'efficacité qui sont perdues par cette pratique de la liberté au niveau micro-économique seulement.

 

1% d'inspiration, 99% de transpiration

 
--Thomas Edison 
Dans la vision simpliste des éditeurs de logiciels, une fois que vous avez créé un logiciel assez bon pour que des gens veuillent l'acheter, faire des copies de ce logiciel est peu ou prou équivalent à copier des billets de banque : ça ne coûte quasiment rien et ça peut rapporter gros. Je pense qu'une des raisons pour lesquelles les logiciels étaient si misérables dans les années 1980 est que les gens se focalisaient sur le modèle idéal de l'impression de billets de banque, sans ce soucier de ce qui arriverait quand les gens commenceront à utiliser les liquidités. L'assistance était considéré comme un sous-produit dégénéré des défauts du logiciels, et minimiser son coût revenait donc à maximiser les bénéfices.

C'était frustrant pour les utilisateurs, mais tout aussi néfaste aux logiciels eux-mêmes. Des fonctionnalités pourtant faciles à ajouter avaient souvent été rejetées pour cause de « manque d'intérêt stratégique ». Sans accès au code source, des fonctionnalités que les clients auraient été capables d'ajouter eux-mêmes restaient objets de spéculation et de contestation. Et au final les département marketing des éditeurs définissaient seuls l'espace de la concurrence, avec une myriade de fonctions inutiles mais tape-à-l'œil. Le libéralisme économique marchait à l'envers !

 

Personne n'a le monopole de la vérité.

 
--Anonyme 
 

La loi commune est un code légal qui est accessible à tous gratuitement.

 
--Michael Tiemann 
C'est très bien d'avoir des théories merveilleuses pour bâtir un monde meilleur. C'est une autre paire de manches que d'amener ces théories au point où elles se tiennent debout d'elles-mêmes. Bien que les entreprises de service soient rares à cette époque, il y avait des exemples à étudier dans d'autres domaines.

Regardons la pratique de la justice aux États-Unis (ou en Grande-Bretagne). La loi commune est disponible gratuitement pour quiconque veut l'utiliser. Pas besoin de licence pour utiliser un texte de loi dans son argumentaire. De fait, les décisions législatives, quel qu'ait été le coût de leur production, sont accessibles à tous. Pourtant, les avocats sont parmi les professionnels les plus chers qui soient. Comment un avocat peut-il faire autant d'argent sans détenir aucun savoir propriétaire ?

Ce n'est pas seulement l'acte de poursuivre en justice que les gens estiment tant. C'est la valeur cumulée de ces actes. Si vous engagez un bon avocat et qu'une décision de justice est prise en votre avantage,cette décision devient un précédent qui fait jurisprudence et s'ajoute à la loi. La justice n'est pas aveugle, elle est chargée d'histoire.

Le travail des avocats n'est pas sans analogies avec la création et la maintenance de standards pour les logiciels libres. Créer un bon standard coûte très cher. Mais travailler sans aucun standard ou maintenir un mauvais standard coûte bien davantage ! D'où l'intérêt d'avoir des gens valables pour travailler sur les logiciels qui seront les standards de demain. Au début, nous croyions que les gens comprendraient cet intérêt, et nous paieraient pour créer des logiciels libres de grande qualité qui deviendraient les standards de facto dans le monde du logiciel.

Les débuts de Cygnus

Ayant bien exploré la théorie, il était temps de la mettre en pratique. Créer une entreprise de services est assez facile, pour peu qu'on sache un peu gérer une entreprise. Malheureusement, aucun des trois fondateurs n'avait d'expérience dans ce domaine.

 

Ne commettez jamais que des erreurs jusqu'alors inconnues.

 
--Esther Dyson 
Nous avons lu des livres sur la création d'entreprise pour savoir enregistrer notre société, établir nos statuts, et autres formalités. Pour chaque penny sur lequel nous avons radiné durant la première année, nous avons dû débourser des milliers de dollars par la suite. Il n'est cependant pas évident que nous aurions pu faire mieux en achetant des conseils professionnels, car le premier de ces conseils que nous avons pris nous a coûté des centaines de dollars par heure, plus des dizaines de milliers pour se débarrasser définitivement du problème. Ces chiffres en disent long sur notre incapacité à juger l'importance des problèmes légaux et corporatifs et à demander les bons conseils, mais aussi sur la singulière incompétence des nombreux avocats avec lesquels nous avons parlé.

Ayant créé un modèle économique complètement nouveau, nous avons également créé nos concepts pour la finance, le marketing, les ventes, l'information des clients, et l'assistance. Chacune de ces créations nous a bien servi pendant la première année, si chaotique qu'elle fût, et chacun faisait ce qui était nécessaire pour faire décoller l'entreprise, mais ces concepts ont dû être complètement revus quand l'entreprise a grandi.

 

Cygnus — Nous rendons les logiciels gratuits moins chers

 
--John Gilmore 
Pour combattre le chaos, nous avons travaillé dur à simplifier le principe de notre business : nous proposions un service d'assistance technique reconnu pour des logiciels techniques reconnus, en utilisant les économies d'échelle pour faire des bénéfices. D'après notre estimation, nous proposions une assistance deux à quatre fois meilleure que celle des ingénieurs maison, à un tarif deux à quatre fois moindre. Nous ne mettions pas trop l'accent sur les histoires de logiciels libres parce que c'était encore bien trop flou pour être vendable. Nous nous efforcions de donner aux gens de meilleurs outils pour moins cher, et contrat par contrat, nous avons appris comment faire.

Nous avons signé notre premier contrat en Février 1990, et à la fin du mois d'avril, nous avions pour 150000 dollars de contrats. En mai, nous avons envoyé des lettres à 50 candidats potentiels pour notre service et en juin, à 100 autres. Soudain, l'entreprise devenait une réalité. À la fin de la première année nous avions pour 725,000 dollars de contrats et partout surgissaient de nouvelles occasions.

Ce franc succès a entraîné de sérieux problèmes. En vendant nos services pour la moitié ou le quart de ce que coûterait la même chose en interne, nous avions signé des contrats pour 1,5, voire 3 millions de dollars. Mais nous n'étions que 5 : un vendeur, un étudiant à temps partiel, et les trois fondateurs qui s'occupaient de tout, depuis le branchement des câbles Ethernet jusqu'à la conception des lettres à en-tête. En suivant le même taux de croissance, combien de nuits blanches nous faudrait-il pour en arriver là ? Personne ne le savait, car nous n'avions ni modèle financier, ni méthode opérationnelle.