Quelle est la définition d'un logiciel libre ?

Pour effectuer des tâches spécifiques, les systèmes informatiques ont besoin de programmes. Ceux-ci sont organisés en suites qui forment les logiciels. Ces derniers sont réglementés grâce à des licences d'utilisation. En effet, leur utilisation peut être réservée à un groupe restreint (entreprise, ministère, etc.). Elle est dans d'autres cas libre, ainsi que leur diffusion. Quelle est la définition d'un logiciel libre ? Voici des éléments de réponse.

Logiciel libre : de quoi s'agit-il ?

Le logiciel libre est une ou plusieurs suites de programmes que les utilisateurs peuvent utiliser en toute liberté. Dans la pratique, cela signifie que chaque individu en possession du "software" peut l'exécuter. En plus, il a la possibilité :

    ```
  • de le copier,
  • de le partager,
  • de l'étudier,
  • de le modifier.
  • ```

Ainsi, le terme "libre" renvoie aux usages possibles plutôt qu'à la gratuité de la licence. En effet, certains internautes améliorent une version avant d'en vendre des copies. Par conséquent, pour être considéré comme libre, le logiciel doit répondre à ces critères. Ceux-ci sont d'ailleurs classés en quatre catégories que sont le fonctionnement, l'étude, l'accès et la redistribution.

Le fonctionnement

Par définition, un utilisateur doit pouvoir lancer un "free software" et définir l'usage qu'il souhaite en faire. Ainsi, le fonctionnement du logiciel lui permet d'effectuer différentes tâches sans restrictions particulières. Par exemple, si certaines fonctionnalités sont payantes, le programme devient non libre. Aucune condition d'utilisation n'entrave la liberté des usagers. En plus, n'importe quel système informatique doit être en mesure de le lire.

Par ailleurs, toute la communauté peut prendre en main l'outil sans consulter un spécialiste de l'informatique. Par contre, certains plantages ou erreurs de commandes non-arbitraires ne constituent pas des restrictions.

L'étude

La seconde liberté essentielle qui caractérise un logiciel est la possibilité d'analyser son fonctionnement. En plus, la communauté d'utilisateurs doit être en mesure de le modifier afin de l'adapter à ses besoins spécifiques. Elle doit avoir accès à ses modules et ses sous-programmes pour les étudier. Ainsi, toute restriction de consultation d'un module ou son incorporation remet en question la liberté du programme.

Les concepteurs peuvent permettre l'étude de leur code à condition que les versions modifiées soient elles aussi libres d'accès. Cette pratique ne constitue pas un motif pour remettre en question le caractère libre du logiciel.

L'accès

Les utilisateurs du software doivent être autorisés à le partager à des tiers. De plus, ils ont besoin de pouvoir accéder au code source et le modifier éventuellement. Au besoin, ils peuvent améliorer des entrées défectueuses ou corriger des nuisances arbitraires. En outre, ils ont la possibilité d'apporter tout changement qu'ils considèrent comme utile pour l'ensemble des usagers.

Certains développeurs intègrent un verrouillage (ou tivoïsation) qui bloque l'exécution des versions modifiées par l'utilisateur. Cette pratique constitue une entrave à la liberté d'accès. Même si l'objectif visé est de sécuriser l'outil, elle va à l'encontre de son principe de fonctionnement. Cependant, la partie illisible (obfuscated) du code source n'est pas considérée comme tel.

De plus, il ne revient pas à un concepteur de décider quel changement est pertinent ou pas. Chacun est libre d'ajouter ou de supprimer un élément de son choix.

La redistribution

Un détenteur d'un logiciel libre peut distribuer des versions modifiées par ses soins. Il a aussi la possibilité de partager ou de céder des copies sans modification. Ainsi, il peut se rendre sur des forums ou d'autres plateformes pour proposer l'outil sans en demander la permission. Par ailleurs, l'utilisateur n'est pas tenu d'aviser les concepteurs ou la communauté des changements qu'il a apportés au code.

Dans le cas où il déciderait de le faire, il n'est pas obligé de respecter un canal ou une méthode en particulier. De plus, sa version modifiée peut être distribuée sous la forme qu'il souhaite. En outre, la redistribution concerne les formes binaires du programme en plus du code source. Il doit être exécutable pour s'adapter à différents systèmes d'exploitation.

En résumé, afin de définir un logiciel libre, il est nécessaire qu'il remplisse les conditions susmentionnées. À noter qu'il faut faire la distinction entre un logiciel libre et un outil open source.