L’Open source ou la Vie

L’Open source donne un accès libre et illimité au code source d’un programme, avec la possibilité de le modifier, de le compléter et de le diffuser à sa guise. Cette approche diffère bien évidemment des choix propriétaires qui ont prédominé pendant les années 80 avec la domination notoire de Microsoft et de son Windows. La diffusion de logiciels libres a également profité de l’émergence d’internet dans les foyers et qui a permis de partager beaucoup plus vite des informations.

Cependant, contrairement à la pensée actuelle, l’Open source et la notion de code source partagé ont précédé les grandes sociétés de logiciels propriétaires puisque dès les années 1950, IBM fournissait le code source de ses logiciels aux clients qui investissait dans un ordinateur de la marque.

Deux visions s’opposent donc : la vision capitaliste (ou égoïste) ou la vision communautaire (ou altruiste).

La Vision Capitaliste

Les bases de cette approche sont simples : un développeur engage du temps, de l’argent et des ressources pour développer un logiciel. Celui-ci supporte donc l’ensemble des coûts tant financiers qu’humains de la création dudit logiciel et fait donc payer son client pour obtenir le droit d’utiliser son logiciel, avec pour objectif évident de vendre plus que ce que le développement aura coûté.

Dans le meilleur de cas, l’argent ainsi récolté sera réinvesti dans le logiciel lui-même pour lui assurer un avenir et un bon support tout en enrichissant ses propriétaires. Dans le pire des cas, l’avenir et le support seront oubliés.

Rappelons une chose importante à ce sujet. Lorsque vous acheté une boîte d’un logiciel (quel qu’il soit, logiciel bureautique ou même logiciel de jeu vidéo), vous ne devenez pas propriétaire du logiciel mais d’une licence vous autorisant à vous en servir. Le logiciel reste la propriété de son créateur, ou d’une entité physique ou morale qui en aura fait l’acquisition à un moment donné.

La notion de « propriétaire vendeur » induit nécessairement une notion de « client acheteur ». Une obligation de résultat du logiciel est également induite et si un logiciel propriétaire entraîne une perte avérée d’informations dommageable pour son utilisateur, le « client » peut éventuellement se retourner contre le « vendeur » pour réparation.

La Vision Communautaire

A l’opposée de la vision centrique capitaliste se situe la vision excentrique communautaire. La principale différence vient de la position du développeur par rapport au logiciel qu’il a créé. Ici aussi, un développeur décide d’investir du temps et des ressources (et donc de l’argent) pour créer un logiciel. Cependant, ce logiciel n’est pas nécessairement terminé ou débogué lorsqu’il est fourni au public sous une forme libre. En ouvrant son logiciel au monde, le développeur initial peut potentiellement créer une communauté d’autres développeurs si son concept intéresse du monde.

La chose la plus importante dans le monde de l’Open source est similaire au monde propriétaire. Il s’agit de la notion de licence. Un code libre ne veut pas dire qu’il n’y a aucun encadrement. Une des licences les plus connues, la General Public Licence (ou GPL) inclut dans ses clauses une propriété fondamentale pour l’essor du logiciel libre. Toute modification apportée à un code source libre doit être partagée selon les mêmes termes, et donc rendue libre également. Ce qui permet l’avancée de tous.

Mais alors comment gagne-t-on de l’argent dans le monde libre ? Plusieurs possibilités existent à ce niveau-là :

  • Vendre son logiciel libre
    La General Public Licence est une des rares (sinon la seule) licences à autoriser le diffuseur à vendre ou à revendre son code source libre. Mais comme le code source vendu doit être libre et que la licence autorise la rediffusion de façon gratuite, les sources d’accès payantes n’ont qu’un potentiel très limité. Pourquoi payer si l’on peut avoir un accès légal gratuit identique ?
  • Publier son code source selon plusieurs licences
    En tant que créateur ou originel, il est possible de publier son code source selon plusieurs licences différentes, comme par exemple une licence Open source (qui requiert donc que le logiciel qui sera déployé au final soit Open source lui aussi) et une licence commerciale (qui autorise les développeurs du logiciel suivant à ne pas diffuser leurs sources). C’est le cas notamment du framework Qt, actuellement propriété de Nokia, et utilisé notamment par le gestionnaire de bureau libre KDE.
  • Faire payer le support ou des services
    La notion d’Open source ne porte que sur la liberté d’accès au code source. Rien n’interdit le créateur de faire payer des services connexes comme le support technique pour faciliter l’intégration des outils. On retrouve dans ce cas des sociétés comme Canonical (créateurs d’Ubuntu) ou Red Hat.
  • Offrir un service amélioré
    Nous entrons aujourd’hui dans l’ère du « cloud« , autrement dit des services hébergés sur des sites internet plutôt que des applications installées directement sur nos ordinateurs. Différentes sociétés du monde Open source ont décidé d’embrasser ce mouvement en proposant des services gratuits utilisant leur propre logiciel mais avec des portions payantes pour les utilisateurs désirant aller plus loin. Dans ce cas, on ne paye pas le logiciel, mais simplement l’accessibilité à une partie du service hébergé. Un des exemples de réussite les plus récents reste la plate-forme WordPress.com sur laquelle est hébergée ce blog.
  • Les donations directes

Un Logiciel Libre doit-il rester Gratuit pour ses Utilisateurs ?

La question est large, mais la réponse est oui. La gratuité est la meilleure forme d’égalité et permet l’accès à tous aux mêmes services. Cela garantit donc en partie la neutralité que l’on commence à exiger aujourd’hui d’internet.

Cependant, que penser du fait que des sociétés gagnent de l’argent en utilisant des logiciels libres sans reverser quoi que ce soit aux créateurs originaux ? Cela fait partie du jeu du logiciel libre. Diffuser son code source sous cette forme implique que n’importe qui pourra s’en servir sans compensation.

Il existe cependant des moyens de remercier les auteurs de logiciels libres sans pour autant systématiquement parler d’argent. Voici la liste des actions que j’ai personnellement entamées sur différents projets :

  • depuis plusieurs années, je contribue à la traduction française de TortoiseSVN
  • j’ai effectué une donation pour le logiciel CyberDuck
  • j’aide à la résolution de bugs sur différents plugins WordPress

Cet article a été motivé par ma décision récente d’intégrer la communauté WordPress encore plus activement en tentant de corriger des bugs du logiciel principal et en proposant de nouvelles fonctionnalités.

Tous les projets auxquels j’ai contribué sont tous des logiciels que j’utilise intensivement dans mon travail et/ou dans mes loisirs. Après plusieurs années d’utilisation à sens unique, il m’est apparu important de renvoyer la balle et j’engage tous les développeurs et créateurs motivés à en faire de même pour ces projets et bien sûr pour d’autres