À quelles conditions votre ordinateur vous est-il loyal ?
par Richard StallmanNous disons qu'exécuter un logiciel libre sur votre ordinateur signifie que les opérations qu'il réalise sont sous votre contrôle. Cela suppose implicitement que votre ordinateur fera ce que vos programmes lui disent de faire et rien de plus. En d'autres termes, que votre ordinateur vous sera loyal.
En 1990 nous prenions cela pour acquis, mais de nos jours de nombreux ordinateurs sont conçus pour être déloyaux envers leurs utilisateurs. Il est donc devenu nécessaire d'expliciter les conditions à réunir pour que votre ordinateur soit une plateforme loyale, obéissant à vos décisions, telles que vous les exprimez en lui disant d'exécuter certains programmes.
Notre définition provisoire est constituée des principes suivants :
- Capacité d'installer des logiciels
-
Si un logiciel peut être remplacé par quelqu'un d'autre, l'utilisateur doit également en avoir le pouvoir.
En conséquence, si un ordinateur a besoin d'un mot de passe ou autre code secret pour remplacer un logiciel qu'il contient, la personne vous vendant l'ordinateur doit également vous donner ce code secret.
- Neutralité envers le logiciel
-
L'ordinateur exécutera, sans discrimination, tout logiciel que vous y installerez et laissera ce logiciel faire tout ce que son code lui dit de faire.
Une fonctionnalité visant à vérifier les signatures des programmes fonctionnant sur l'ordinateur est compatible avec ce principe dans la mesure où la vérification des signatures est entièrement sous le contrôle de l'utilisateur. Lorsque c'est le cas, cette fonctionnalité contribue à mettre en œuvre les décisions de l'utilisateur en ce qui concerne les logiciels qu'il exécute, plutôt qu'à contrecarrer ses décisions. A contrario, un système de vérification des signatures numériques qui n'est pas intégralement sous le contrôle de l'utilisateur viole ce principe.
- Neutralité envers les protocoles
-
L'ordinateur communiquera sans discrimination, via n'importe lequel des protocoles implémentés par les logiciels installés, avec tout autre utilisateur et tout autre ordinateur en réseau avec lequel vous lui indiquerez de communiquer.
Cela signifie que l'ordinateur ne doit pas imposer un service particulier plutôt qu'un autre ou un protocole plutôt qu'un autre. L'utilisateur ne doit pas avoir besoin de l'autorisation d'une tierce personne pour communiquer via un protocole particulier.
- Neutralité vis-à-vis des implémentations
-
Lorsque l'ordinateur communique en utilisant un protocole donné, il le fait sans discrimination, quel que soit le code que vous choisissez (à supposer que le code en question implémente ledit protocole) et ne fera rien pour aider une tierce partie sur Internet à distinguer quel code vous utilisez, quel changement vous y avez apporté, ou encore à procéder à une discrimination basée sur votre choix.
Ceci implique que l'ordinateur rejette « l'attestation à distance », c'est-à-dire qu'il ne permette pas à d'autres ordinateurs de déterminer, via le réseau, si votre ordinateur exécute un logiciel précis. L'attestation distante donne aux sites web le pouvoir de vous obliger à vous y connecter uniquement au travers d'une application ayant recours à des menottes numériques (DRM) que vous ne pouvez briser. Ceci vous ôte le contrôle effectif du logiciel que vous utilisez pour communiquer avec ces sites.
Nous pouvons nous représenter l'attestation distante comme une combine globale permettant à n'importe quel site web d'imposer une tivoisation, ou « verrouillage », du logiciel local que vous utilisez pour vous y connecter. La tivoisation simple d'un programme empêche les versions modifiées de fonctionner correctement, ce qui en fait un logiciel privateur. L'attestation distante empêche les versions modifiées de fonctionner avec les sites qui l'utilisent, ce qui rend le logiciel privateur lors de l'utilisation des sites en question. Si un ordinateur autorise des sites web à vous bloquer l'usage d'un programme modifié, c'est à ces sites qu'il est loyal, pas à vous.
- Neutralité envers les données transférées
-
Lorsque l'ordinateur reçoit des données, quel que soit le protocole utilisé, il ne limite pas ce que le programme peut faire des données reçues dans le cadre de cette communication.
Tout DRM implémenté au niveau du matériel viole ce principe. Par exemple, le matériel ne doit pas transmettre les flux vidéos sous une forme chiffrée que seul le moniteur peut déchiffrer.
- Possibilité de débogage
-
L'ordinateur vous permet toujours d'analyser ce que fait un programme en cours d'exécution.
- Exhaustivité
-
Les principes mentionnés ci-dessus s'appliquent à toutes les interfaces de l'ordinateur utilisées par les logiciels ainsi qu'à toutes les communications effectuées par l'ordinateur. Ce dernier ne doit pas disposer de fonctionnalité programmable déloyale ni effectuer de communication déloyale.
Par exemple, la fonctionnalité AMT des processeurs Intel récents exécute des logiciels privateurs capables de communiquer à distance avec Intel. À moins qu'ils ne soient désactivés, ils rendent tout le système déloyal.
Pour qu'un ordinateur soit entièrement à votre service, il doit être fourni avec la documentation de toutes les interfaces destinées au contrôle de la machine par les logiciels qu'elle exécute. Un manque de documentation ne signifie pas en soi que l'ordinateur soit activement déloyal, mais indique certainement que par certains côtés il n'est pas à votre service. Selon la fonction concernée, ce peut être un problème, ou non.
Nous demandons aux lecteurs de bien vouloir transmettre leurs remarques et suggestions concernant cette définition à <computer-principles@gnu.org>.
La loyauté, est définie ici selon les critères qui nous ont paru les plus fondamentaux tout en restant pertinents. Elle ne nécessite pas que tout les logiciels de l'ordinateur soient libres. Cependant, la présence de logiciel non libre est un obstacle lorsqu'on veut vérifier que l'ordinateur est loyal ou faire ne sorte qu'il le reste.
Historique
Voici la liste des modifications significatives de cette page.
- Version 1.6 : Exigence supplémentaire, la capacité d'installer des logiciels.
- Version 1.5 : Une documentation complète n'est pas une condition de loyauté.