Au bureau, au domicile, dans nos voitures et mêmes nos avions.

Les smartphones en raffolent et plus généralement tous nos équipements électroniques y goutent.

Les développeurs les affectionnent pour le temps qu’il leur fait gagner et la prouesse que certains d’entre eux réalisent.

Enfin, les utilisateurs leur savent gré de leur donner un peu de liberté et moins de captivité.

Parmi les critiques adressées au logiciel libre, prenons celle qui est la plus courante, celle de la contamination.

Les licences des logiciels libres seraient contaminantes.

En d’autres termes, l’éditeur ou l’utilisateur ayant intégré un logiciel libre à son système se trouverait contraint de donner ensuite accès au code source de l’ensemble des autres logiciels présents dans son système.

Il est vrai que la notion de contamination est bien présente dans le monde du logiciel libre (du moins dans les licences copyleft). L’idée est qu’un logiciel, une fois « libéré », ne puisse pas, au fil de sa diffusion et ses modifications éventuelles, permettre à ceux qui en font usage, de priver les nouveaux utilisateurs des droits conférés par la licence dont ils ont eux-mêmes profité.

Mais à y regarder de plus près, les choses sont souvent plus nuancées.

Prenons par exemple, la licence la plus massivement utilisée, la licence dite GNU General Public License version 2.0. Ajoutons que cette licence est ancienne, puisqu’elle date de Juin 1991, et qu’elle est annoncée comme contaminante.

La licence permet essentiellement :

  • De copier et distribuer des copies à l’identique (article 1) du code source du logiciel sous réserve de respecter le droit de paternité de l’auteur, d’inclure l’exclusion de responsabilité prévue par la licence, et de distribuer ces copies avec la licence GNU GPL auxquelles elles doivent être soumises,
  • De modifier le logiciel (article 2) et de distribuer ces modifications comme indiqué en article 1, sous réserve d’identifier les modifications, et de soumettre l’œuvre qui contient ou est dérivée du logiciel à la licence GNU GPL sans exiger de redevances.

La licence GNU GPL précise que si les œuvres ne sont pas dérivées du logiciel soumis à la GNU GPL, ou peuvent être considérées « raisonnablement indépendants et des œuvres séparées en tant que telles », alors les termes de la GNU GPL ne s’appliquent pas à de telles œuvres. Nous reproduisons cette partie tirée de l’article 2 de la licence; ci-après in extenso :

(…) If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. (…) In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

A la lecture des dispositions de la licence, et éventuellement aidé de la FAQ de la Free Software Foundation (FSF) https://www.gnu.org/licenses/gpl-faq.html#MereAggregation https://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic, on perçoit précisément les limites de la contamination.

Ainsi, le fait de faire coexister sur un même support ou une même machine des logiciels libres soumis à la licence GNU GPL et des logiciels propriétaires, dès lors que leurs fonctionnements sont séparés, n’opère pas de contamination.

De plus, même à supposer qu’il y ait eu contamination car les logiciels ne fonctionnent pas séparément, l’obligation de divulgation du code source du logiciel « contaminé » ne se produit que si la personne décide de le « distribuer » avec le logiciel libre, c’est-à-dire de le transmettre à un tiers. A l’inverse, l’auteur de l’œuvre dérivée d’un logiciel soumis à la GNU GPL qui décide d’en conserver l’usage pour lui-même, n’a pas à divulguer le code source du logiciel dérivé.

Cette simple interprétation littérale de la licence GNU GPL au regard de la question de contamination, nous apprend deux choses

En premier lieu, la contamination qui est l’épouvantail brandi par les adversaires des logiciels libres, n’est pas, même dans le cas d’une licence contaminante telle que la licence GNU GPL, systématique.

En second lieu, pour peu qu’on prenne la peine de lire les licences de logiciels libres, on perçoit alors l’immensité des possibilités offertes.