Dois-je offrir, ou bien me débrouiller seul ?

Beaucoup de catégories de logiciels abritent des implémentations libres, surtout sur le marché des serveurs. Par exemple des systèmes d'exploitation, des serveurs Web, des serveurs de messagerie (SMTP, POP, IMAP), de news (NNTP), et de noms (DNS), des langages de programmation (la « glu » pour un contenu dynamique sur le Web), des bases de données, du code réseau en tout genre. Sur votre bureau on trouvera des éditeurs de texte comme Emacs, Nedit et Jove, des systèmes graphiques tels que Gnome et KDE, des navigateurs Web tel que Mozilla ainsi que des économiseurs d'écrans, des calculatrices, des organiseurs, des clients de messagerie, des outils pour le graphisme… La liste est longue. Bien que toutes les catégories ne recèlent pas de logiciels libres incontournables tels qu'Apache ou Bind, il y a très peu de niches commerciales sans au moins un concurrent libre en chantier. C'est beaucoup moins vrai pour la plate-forme Win32 que pour Unix ou Mac, principalement parce que la communauté ne la juge pas suffisamment libre.

Si un logiciel libre rencontre le succès dans une catégorie qui recoupe votre offre potentielle ne négligez pas que participer à son développement en y ajoutant de nouveaux modules permettra d'améliorer aussi le source de votre produit, de prendre un avantage sur le plan marketing, ou d'établir une plate-forme commune. Afin de déterminer si cette stratégie est acceptable on doit étudier sa licence :

Satisfaire les développeurs est probablement le plus grand défi pour le modèle de développement du logiciel libre, on ne peut pas vraiment y répondre avec un amoncellement de techniques ni même avec de l'argent. Chaque développeur doit réaliser qu'il contribue au projet, que vous ne négligez pas ses questions et ses commentaires sur l'architecture et la conception du projet, et que le fruit de ses efforts sera intégré dans la distribution ou qu'il recevra une explication détaillée des raisons pour lesquelles il ne peut l'être.

Beaucoup se trompent car déclarent : « Le modèle de développement des logiciels libres fonctionne car, grâce à lui, l'Internet tout entier devient votre service de Recherche & Développement et de gestion de la Qualité ! ». En pratique le nombre total de développeurs disponibles capables de mener à bien une mission donnée reste limité, mieux vaut donc éviter qu'un projet parallèle naisse à cause d'une dispute d'importance secondaire séparant les développeurs. Mais la sélection naturelle fonctionne au mieux lorsque les projets luttent afin de profiter des ressources. Maintenir deux projets en compétition dans la même niche lorsque les développeurs ne manquent pas permettra à l'une des parties d'innover d'une façon totalement nouvelle pour les autres.

Le domaine du serveur SMTP offre un bel exemple de compétition salutaire. Le programme libre Sendmail d'Eric Allman régna longtemps sans partage, puis des concurrents apparurent, par exemple Smail et Zmailer. Mais Qmail, de Dan Bernstein, convainquit le premier de nombreux utilisateurs. Sendmail avait à ce moment 20 ans et commençait à accuser le poids des années. Il n'est pas conçu pour l'Internet de la fin des années 90, où les attaques par dépassement de la capacité des tampons (buffer overflow) et refus de service (denial of service) sont aussi fréquents que la pluie en Bretagne. Qmail fut à plus d'un titre une coupure radicale. La conception du programme, son administration, et même son mode opératoire étaient nouveaux. Sendmail ne peut vraisemblablement pas le rejoindre. Non parce qu'Allman et son équipe ne sont pas de bons programmeurs ou ne reçoivent pas d'aide efficace et motivée mais simplement parce que seul un changement radical de Sendmail leur permettrait d'explorer de nouvelles voies. Pour des raisons similaires IBM finance le développement du serveur SMTP SecureMailer de Wietse Venema, qui semble aussi devenir populaire en ce moment. Le domaine du serveur SMTP est suffisamment défini et important pour pouvoir soutenir plusieurs projets de logiciels libres. L'avenir dira lesquels survivront.