Quand on compare le logiciel libre au logiciel propriétaire, on voit que la différence est dans la licence qui définit les droits d'auteur. Mais en général, il n'y a pas que la licence qui fait la différence.

Quand est-ce qu'on finit le développement d'un logiciel propriétaire ? Quand il fonctionne correctement. Logique : quand ça fonctionne, ben, il ne reste plus qu'à le vendre. Le logiciel libre, lui, il va beaucoup plus loin. On ne s'arrête pas sur un logiciel qui se contente de fonctionner correctement. Dans l'esprit du logiciel libre, il y a tout un travail à faire sur le code source pour qu'il soit propre, très bien organisé, compréhensible, lisible, assez documenté pour que d'autres développeurs puissent participer.

Souvent quand on développe un logiciel fermé pour une entreprise, on ne réfléchit pas à l'élégance du code source. De toute façon l'utilisateur final, lui, il ne voit pas le fond de ce travail. Bien sûr, ça pose des problèmes : les logiciels contiennent des bogues difficiles à déceler, ils ne sont guère optimisés, ils ont beaucoup de mal à évoluer, mais ce n'est pas grave pourvu que le service marketing soit assez efficace pour qu'on les achète.

On a tendance à croire que les logiciels libres sont faits par des des étudiants et des passionnés pour s'amuser, et que leur approche n'est pas sérieuse. Pourtant, le logiciel libre, c'est du développement durable. Parce que vous ne codez pas à la rache pour obtenir vite fait une application qui fonctionne. Vous codez pour le plaisir avant tout, pour obtenir quelque chose d'élégant et d'harmonique. Certains programmeurs libristes sont allés jusqu'à comparer la programmation avec la poésie, et ils n'ont pas tout à fait tord[1]. La voilà la différence fondamentale qu'on oublie : quand on fait un logiciel libre, le but recherché n'est pas du tout le même.

Dans le cadre d'une entreprise qui développe du logiciel propriétaire, il faut de la production rapide pouvant être vendue cher, alors qu'avec le logiciel libre, on n'a plus l'obstacle financier pouvant nous conduire à aller trop vite. Et on s'occupe alors d'une chose fondamentale - la qualité[2], chose de plus en plus méprisée par les entreprises, car ce n'est pas forcément ce qui rapporte le plus d'argent.

Mais il ne faut pas croire non plus que faire du logiciel libre est du travail gratuit. Il y a des passionnés qui développent pour satisfaire leur besoin personnel, puis diffusent leur production sous forme de logiciel libre. C'était le cas de Linus Torvalds à l'époque où il travaillait sur des systèmes informatiques UNIX qui n'étaient pas transportables aux PC. Linus Torvalds a donc écrit son propre système, qui fonctionnait bien avec le processeur de son PC et restait compatible avec UNIX. Ce système trouva plus tard un joli nom : Linux.

Conclusion

  • Faire un logiciel libre en partant de rien demande certainement plus de temps que de faire son équivalent propriétaire, parce qu'on s'occupe beaucoup de la partie cachée - le code source.
  • Le logiciel libre est plus facile à faire évoluer, son code étant fait pour être accessible.
  • Le développement de A à Z d'un logiciel libre est facilité si on se base sur l'énorme travail dans le logiciel libre qui a déjà était fait avant nous. C'est un peu comme la science : on ne se fatigue pas à réinventer la roue.
  • La qualité d'un travail dépend de l'intérêt qu'on à le faire.

Notes

[1] La programmation, a-t-elle un rapport avec l'art ? Un article intéressant

[2] Je citerai volontiers Dotclear, SPIP, Xorg, Gossip pour ne donner que les exemples auxquels j'ai eu affaire récemment.