Les gens, les lieux, les choses et les idées
par Kragen Sitaker <kragen@pobox.com>Les logiciels
Les logiciels sont des idées, des informations. Ils diffèrent en fonction des gens, des lieux, des choses ; ils peuvent être reproduits à l'infini comme le feu, pour pratiquement rien. C'est un truisme, et même un cliché. Mais il semble qu'il y ait des conséquences particulières qui n'ont pas été bien explorées.
L'une d'elles est la suivante : cela ne fonctionne pas bien de les vendre de la même manière que vous vendriez des esclaves, des lieux ou des choses ; n'importe lequel de vos clients peut faire un nombre illimité de copies à prix coûtant, ou moins. Les frictions du marché font actuellement de la vente de logiciels un modèle commercial viable. Mais peut-être que les marques jouent un rôle également ; il y a une question que l'on se pose : Red Hat vend-il ses CD à 50 $ parce que les gens aiment la marque Red Hat, ou seulement parce qu'ils ne savent pas qu'ils peuvent acheter pratiquement le même CD chez CheapBytes pour 2 $ ?
Le passé et le présent
La manière traditionnelle de traiter cette question est de verrouiller les idées dans l'esprit des gens, dans les lieux et dans les choses. Un juriste peut très bien gagner pas mal d'argent en recrachant les idées appropriées, sans faire preuve de créativité particulière, ou en débitant simplement des procédures apprises par cœur – la plupart des testaments tomberaient dans cette catégorie. Je dois me rendre au musée Georgia O'Keeffe pour voir les anciens tableaux de Georgia, car les photos ne sont pas autorisées. C'est pourquoi ils peuvent me faire payer un billet d'entrée (un très beau musée d'ailleurs ; si vous y allez, ne prenez pas le passe « quatre jours », leur collection est plutôt réduite). Un livre peut être vendu plus cher que le coût de son impression, car les idées sont difficiles à séparer de leur manifestation physique.
Le logiciel rend plus facile de séparer les idées, d'une part, des gens, lieux ou objets, d'autre part. Si j'achète un ordinateur pour envoyer des courriels et que je veuille faire des fractales, je n'ai pas besoin d'acheter une nouvelle machine pour faire des fractales. J'ai seulement besoin de télécharger un logiciel destiné à cet usage. Si je veux calculer le point de rupture d'une traverse, je n'ai pas besoin d'engager un ingénieur en calcul de structures ; je peux télécharger un logiciel d'analyse par la « méthode des éléments finis » et simuler le stress de la structure jusqu'à ce qu'elle cède. Je n'ai pas besoin d'aller au musée pour voir les fractales de mon voisin ; je peux les mettre tout simplement sur mon écran – après les avoir téléchargées, bien sûr.
C'est un changement spectaculaire.
Des logiciels verrouillés : l'avenir ?
Voilà ce qu'était en général la nature des applications informatiques, jusqu'à récemment. Mais maintenant, nous avons le web, et les gens parlent beaucoup d'ordinateurs intégrés, spécifiques d'une application. Soudain, on peut fournir des applications comme on le faisait auparavant, mais on peut verrouiller le logiciel – les idées – dans des lieux et des objets.
Par exemple, j'ai un cédérom qui contient l'ensemble des listings téléphoniques américains. Avec suffisamment de temps et d'expertise, je peux extraire ces listings et les mettre sur un site web (j'ai d'abord besoin de faire de la rétroingénierie sur la structure de la base de données dans laquelle ils sont stockés). Je peux exécuter des tests de corrélation pour voir si des personnes portant un certain nom ont une répartition spatiale plus biaisée que les autres à l'intérieur d'une ville (ce qui indiquerait qu'elles vivent près de leur famille, peut-être, ou que la ville est partagée en communautés). Je peux trouver l'orthographe du prénom Cathy qui est la plus populaire (Kathy ? Cathi ?) et je peux voir si le choix de l'orthographe est corrélé avec le nom de famille.
Il y a également plusieurs sites web qui contiennent les mêmes listings téléphoniques, ou des versions plus récentes. Je ne peux rien faire de tout cela avec ces sites web, car les listings téléphoniques – une idée – sont verrouillés dans le site web – un lieu, ou une chose, cela dépend du point de vue.
Une autre méthode est de verrouiller l'information dans des objets. L'algorithme Skipjack de la NSA a été classé secret il y a plusieurs années ; des implémentations sont largement disponibles, mais seulement sur des équipements spéciaux protégés. Ceci a permis de les déployer largement derrière le rideau de fer qui entoure la recherche secrète, et ils comptaient aussi le déployer largement dans le monde extérieur (jusqu'ici, je suis de l'autre côté du rideau). Récemment, les événements les ont forcés à distribuer des implémentations logicielles de Skipjack ; ils l'ont donc déclassifié. Voir schneier.com [archivé] pour plus de détails.
Pourquoi je n'aime pas cela
Posséder mon propre annuaire téléphonique me donne plus de liberté. D'un autre côté, cela nécessite que j'installe un logiciel sur ma machine, ce qui lui donne un certain degré de contrôle sur mon ordinateur. Dans ce cas particulier, le logiciel fonctionne sous Windows 95, c'est pourquoi il exige un contrôle total sur ma machine. Donc, c'est en fait beaucoup plus commode pour moi de me rendre simplement sur la page web et de remplir le formulaire pour trouver le numéro de téléphone de quelqu'un.
De plus, l'information stockée dans les objets est beaucoup plus pratique que l'information stockée dans du logiciel ; un équipement dédié est souvent beaucoup plus facile à utiliser qu'un ordinateur polyvalent. C'est pourquoi beaucoup d'analystes prévoient une diminution de l'utilisation d'ordinateurs polyvalents en faveur d'équipements dédiés.
Je suis quelque peu inquiet de cette tendance. J'aime me servir d'ordinateurs polyvalents – bien que j'admette qu'ils soient souvent plus difficiles à utiliser. J'aime la liberté qu'ils me donnent. L'ordinateur est juste une extension de mon esprit.
Les sites web et les équipements dédiés ne sont pas comme cela. Ils ne me donnent pas les mêmes libertés que les ordinateurs. Si la tendance se confirme, de plus en plus de choses que j'effectue aujourd'hui avec mon ordinateur seront faites par des équipements dédiés et des serveurs distants.
Que signifie la liberté logicielle dans un tel environnement ? Il n'est certainement pas mauvais en soi de faire tourner un serveur web sans proposer mon logiciel et mes bases de données en téléchargement (quand bien même, il ne serait pas possible pour la plupart des gens de les télécharger ; le serveur de brevets d'IBM s'appuie sur une base de données de plusieurs téraoctets).
Je crois que les logiciels – et particulièrement les logiciels open source – ont la capacité de donner aux particuliers un contrôle nettement plus important sur leur propre vie, car ils consistent en idées et non pas en personnes, en lieux ou en objets. La tendance à l'utilisation d'équipements dédiés et de serveurs distants pourrait renverser la situation.
Quel est l'intérêt d'avoir un logiciel libre gravé dans une ROM ? Un logiciel est-il encore libre si je dois décortiquer une ROM pour lire le code source et le graver dans une nouvelle ROM pour faire fonctionner une version modifiée ? Qu'est-ce que cela signifie d'avoir un logiciel libre exécutant une application accessible à distance sur un serveur web ? Même avec les meilleures intentions il devient difficile, avec ces technologies, de donner aux utilisateurs la liberté dont ils bénéficient avec les PC.
Comment le combattre
Il est plus cher d'acheter un nouvel équipement que de télécharger un logiciel et de l'installer sur ma machine. C'est pourquoi les gens n'utiliseront pas les équipements dédiés s'ils ne donnent pas d'avantages.
Mais ils donnent vraiment des avantages. Ils sont vraiment plus faciles à utiliser que les ordinateurs polyvalents. Un bouton pour chaque fonction ; pas de mode spécial dans lequel les boutons font autre chose, ou rien du tout. Un affichage pour chaque variable d'état ; vous n'avez pas à cliquer sur des objets pour les rendre visibles. Je ne pense pas que ce soit une limitation inhérente aux ordinateurs polyvalents, mais plutôt une limitation de leur état actuel.
Et autre chose, ils fonctionnent, tout simplement. Souvent ce n'est pas le cas des ordinateurs polyvalents, particulièrement quand ils fonctionnent avec des systèmes d'exploitation de Microsoft. Même dans le meilleur des cas, vous devez toujours perdre du temps à faire des choses qui n'ont rien à voir avec ce que vous voulez faire – taper une lettre ou autre. Plus généralement, vous devez cliquer ici ou là pendant une dizaine de secondes. Au pire, vous devez réinstaller Windows et l'application, reconfigurer des périphériques et réinstaller leurs pilotes avant de faire quoi que ce soit d'autre.
Un troisième gros problème, c'est qu'ils nécessitent l'installation de logiciels. Si je veux commencer à utiliser ma machine pour écrire des courriels d'une autre manière, je dois installer un logiciel de messagerie. Bien que ce soit sensiblement moins cher que d'acheter un équipement dédié aux courriers électroniques, c'est considérablement moins pratique, plus intimidant et plus déroutant (c'est ce que je me suis laissé dire). Et cela prend également plus de temps.
Si les ordinateurs polyvalents veulent survivre à l'assaut des petits boîtiers bon marché, ils devront devenir aussi faciles à utiliser et aussi fiables que ces équipements dédiés, et il devra être aussi simple d'y installer des logiciels. Cela nécessite un environnement totalement différent de celui dont nous disposons sur nos ordinateurs de bureau aujourd'hui ; sans surprise, GNU/Linux est le système qui s'en rapproche le plus ; plus que tout autre que j'aie essayé (Squeak pourrait même être mieux, mais je ne l'ai pas encore essayé). Mais GNU/Linux est incroyablement loin de compte. Cela nécessitera des équipements différents aussi bien que des logiciels différents.
Les avantages des serveurs distants sont similaires : facilité d'utilisation grâce aux interfaces uniformes via un navigateur web, « ça marche sans histoire », et pas d'installation – on les utilise, c'est tout. Mais ils ont aussi d'autres avantages : ils peuvent fournir des services qui nécessitent d'importantes capacités de stockage ou de puissance de calcul, qui ne peuvent raisonnablement pas être fournies par votre machine, à moins de dépenser des fortunes (télécharger la base de données d'AltaVista chaque jour serait un moyen vraiment inefficace de faire des recherches sur le web).
Je pense que ces avantages supplémentaires sont probablement impossibles à surmonter pour le moment, bien que je sois intéressé par la recherche sur la distribution entre de nombreuses machines de tâches nécessitant une grande capacité de calcul.