Qui ce serveur sert-il réellement ?

par Richard Stallman

(La première version de cet article a été publiée dans la Boston Review.)

Sur Internet, utiliser un logiciel privateur1 n'est pas le seul moyen de perdre votre liberté. Il existe une autre façon de donner à un tiers du pouvoir sur votre informatique : le « service se substituant au logiciel », ou SaaSS.

Le point essentiel est que vous pouvez avoir le contrôle d'un programme écrit par quelqu'un d'autre (s'il est libre), mais que vous ne pouvez pas avoir le contrôle d'un service administré par quelqu'un d'autre. Donc n'utilisez jamais un service lorsqu'en principe un programme ferait l'affaire.

Le SaaSS consiste à utiliser un service mis en place par quelqu'un d'autre plutôt que votre exemplaire d'un programme. Cette expression est de nous ; les articles et les publicités ne l'emploieront pas et ne vous diront pas non plus si un service donné est un SaaSS. À la place, ils détourneront probablement votre attention avec le terme imprécis de « nuage » [cloud], qui mélange le SaaSS avec diverses autres pratiques, certaines abusives et d'autres acceptables. Les explications et les exemples de cette page vous permettront de déterminer si un service particulier est un SaaSS, ou non.

Contexte : comment le logiciel privateur vous enlève votre liberté

La technologie numérique peut vous donner la liberté ; elle peut aussi vous la prendre. Le contrôle que nous avons de notre informatique a d'abord été menacé par le logiciel privateur : logiciel sur lequel les utilisateurs n'a pas la main parce qu'il est contrôlé par son propriétaire, une société comme Apple ou Microsoft. Le propriétaire profite souvent de ce pouvoir injuste pour y insérer des fonctionnalités malveillantes comme les espions logiciels [spyware], les portes dérobées [backdoors] et les dispositifs de « gestion numérique des restrictions » (ou DRM), qu'ils nomment « gestion numérique des droits »2 dans leur propagande.

Notre solution à ce problème est de développer du logiciel libre et de rejeter le logiciel privateur. « Logiciel libre » signifie que vous, en tant qu'utilisateur, avez quatre libertés essentielles : (0) exécuter le programme comme vous le souhaitez, (1) étudier et changer le code source comme vous le souhaitez, (2) redistribuer des copies exactes, et (3) redistribuer des copies de vos versions modifiées (voir la définition du logiciel libre).

Avec le logiciel libre, nous, les utilisateurs, récupérons le contrôle de notre informatique. Les logiciels privateurs continueront à exister, mais nous pouvons les exclure de nos vies et beaucoup d'entre nous l'ont déjà fait. Cependant, on nous propose actuellement un autre moyen séduisant d'abandonner le contrôle de notre informatique : le service se substituant au logiciel (SaaSS). Par souci de notre liberté, nous devons le rejeter également.

Comment le SaaSS vous enlève votre liberté

« Service se substituant au logiciel » signifie que vous utilisez un service au lieu de faire fonctionner votre exemplaire d'un programme. Cela veut dire concrètement que quelqu'un met en place un serveur réseau faisant certaines tâches informatiques – calcul sur tableur, traitement de texte, traduction de texte en une autre langue, etc. – et invite ensuite les utilisateurs à effectuer leurs tâches sur ce serveur. L'utilisateur envoie ses données au serveur ; ce dernier les traite puis lui renvoie les résultats ou les utilise directement à sa place.

Ce traitement informatique est le sien, car, par hypothèse, il aurait pu en principe l'effectuer en exécutant un programme sur son propre ordinateur (qu'il dispose ou non de ce programme à ce moment-là). Dans les cas où cette condition n'est pas réalisée, il ne s'agit pas de SaaSS.

Ces serveurs arrachent le contrôle des mains des utilisateurs encore plus inexorablement que le logiciel privateur. Avec le logiciel privateur, les utilisateurs ont généralement un fichier exécutable mais pas le code source. Cela rend difficile d'étudier le code qui est exécuté, donc c'est difficile de déterminer ce que fait vraiment le programme, et difficile de le modifier.

Avec le SaaSS, les utilisateurs n'ont pas même le fichier exécutable qui fait leur traitement informatique : celui-ci est sur le serveur de quelqu'un d'autre, où les utilisateurs ne peuvent le voir ni le toucher. C'est donc impossible pour eux de vérifier ce qu'il fait vraiment et impossible de le modifier.

De plus, le SaaSS entraîne automatiquement des conséquences équivalentes aux fonctionnalités malveillantes de certains logiciels privateurs.

Par exemple, certains programmes privateurs sont des « logiciels espions » : le programme diffuse des données concernant les activités informatiques des utilisateurs. Microsoft Windows envoie à Microsoft des informations concernant les activités des utilisateurs. Windows Media Player et RealPlayer signalent ce que chaque utilisateur visionne ou écoute. Le Kindle signale à Amazon chaque page de chaque livre que consulte l'utilisateur et à quel moment il le fait. Angry Birds envoie à son éditeur l'historique de géolocalisation de l'utilisateur.

Contrairement aux logiciels privateurs, le SaaSS n'a pas besoin de code caché pour obtenir les données de l'utilisateur. Comme ce dernier est obligé d'envoyer ses données au serveur pour pouvoir l'utiliser, l'effet est le même qu'avec un logiciel espion : l'opérateur du serveur obtient les données. Il les obtient sans aucun effort, de par la nature du SaaSS. Amy Webb, qui s'était promise de ne jamais mettre en ligne aucune photo de sa fille, a fait l'erreur d'utiliser un SaaSS (Instagram) pour retoucher des photos d'elle. Le résultat, c'est qu'elles ont fuité.

Théoriquement, le chiffrement homomorphe pourrait un jour se perfectionner au point de permettre la construction de futurs services de SaaSS qui soient incapables de comprendre les données envoyées par les utilisateurs. De tels services pourraient être configurés pour ne pas espionner les utilisateurs ; cela ne veut pas dire qu'ils ne les espionneront pas.

Certains systèmes d'exploitation privateurs ont une porte dérobée universelle qui permet d'installer à distance des modifications logicielles. Par exemple, Microsoft a une porte dérobée universelle par laquelle il peut modifier de force n'importe quel logiciel présent sur la machine. Presque tous les téléphones portables en ont aussi. De même certaines applications privatrices ; par exemple le client Steam pour GNU/Linux permet au développeur d'installer à distance des versions modifiées.

Avec le SaaSS, l'opérateur peut modifier les logiciels utilisés sur le serveur. C'est sa prérogative, car c'est son ordinateur ; mais le résultat est le même que d'utiliser un programme applicatif privateur muni d'une porte dérobée universelle : quelqu'un a le pouvoir d'imposer de manière silencieuse des changements dans la manière d'effectuer les tâches informatiques de l'utilisateur.

Ainsi, le SaaSS revient-il à faire usage d'un logiciel privateur muni d'une fonctionnalité espionne et d'une porte dérobée universelle. Il donne à l'opérateur du serveur un pouvoir injuste sur l'utilisateur, pouvoir auquel nous devons résister.

SaaSS et SaaS

À l'origine, nous appelions cette pratique problématique « SaaS », ce qui veut dire « logiciel en tant que service ». C'est une expression d'usage courant qui désigne le fait d'installer un logiciel sur un serveur plutôt que d'en proposer des exemplaires aux utilisateurs, et nous pensions que cela décrivait précisément les cas qui présentent ce problème.

Par la suite, nous nous sommes rendu compte que le terme SaaS est quelquefois utilisé pour des services de communication, services auxquels ce problème ne s'applique pas. De plus, l'expression « logiciel en tant que service » n'explique pas pourquoi cette pratique est mauvaise. C'est pourquoi nous avons inventé l'expression « service se substituant au logiciel », qui définit plus clairement cette mauvaise pratique et dit en quoi elle est mauvaise.

Démêler le problème du SaaSS du problème du logiciel privateur

Le SaaSS et le logiciel privateur conduisent à des résultats nocifs similaires, mais les mécanismes sont différents : avec le logiciel privateur, vous possédez et utilisez un exemplaire du programme qu'il est difficile ou illégal de modifier ; avec le SaaSS, vous ne possédez pas l'exemplaire qui fait votre traitement informatique.

On confond souvent ces deux problèmes, et pas seulement par accident. Les développeurs web utilisent le terme ambigu d'« application web » pour réunir en un tout le logiciel côté serveur et les programmes s'exécutant sur votre machine dans votre navigateur. Certaines pages web y installent des programmes JavaScript d'une certaine importance, ou même de taille imposante, sans vous en informer. Quand ces programmes Javascript ne sont pas libres, ils causent le même genre d'injustice que n'importe quel autre logiciel non libre. Ici, cependant, nous nous occupons du problème posé par l'utilisation du service lui-même.

De nombreux défenseurs du logiciel libre supposent que le problème du SaaSS se résoudra en développant des logiciels serveurs libres. Dans l'intérêt de l'opérateur, il vaudrait mieux effectivement que les programmes tournant sur le serveur soient libres ; s'ils sont privateurs, leurs développeurs ou leurs propriétaires ont pouvoir sur le serveur. C'est déloyal pour l'opérateur du serveur et n'est d'aucune aide pour l'utilisateur final. Mais si les programmes sont libres sur le serveur, cela ne protège pas les utilisateurs finaux contre les effets du SaaSS. Ces programmes libèrent l'opérateur du serveur, mais pas ses utilisateurs.

Publier le code source du logiciel serveur profite à la communauté, car les utilisateurs ayant les compétences nécessaires peuvent mettre en place des serveurs similaires, peut-être en modifiant le logiciel. Pour les programmes souvent utilisés sur les serveurs, nous recommandons la licence publique générale GNU Affero.

Mais aucun de ces serveurs ne vous donnerait le contrôle des tâches que vous effectuez dessus, à moins que ce ne soit votre serveur (c'est-à-dire une machine dont vous contrôlez tous les logiciels, qu'elle vous appartienne ou non). Il est peut-être acceptable de faire confiance au serveur d'un de vos amis pour certaines tâches, de même que vous lui confiez l'entretien des logiciels de votre ordinateur. Dans tous les autres cas, ces serveurs feraient du SaaSS en ce qui vous concerne. Cette pratique vous soumet toujours au pouvoir de l'opérateur du serveur, et le seul remède est de ne pas utiliser le SaaSS ! Ne pas utiliser le serveur de quelqu'un d'autre pour effectuer vos propres traitements informatiques sur des données que vous fournissez.

Ce problème nous fait toucher du doigt la différence profonde qui existe entre « open source » et « libre ». Un code source qui est open source est presque toujours libre. Cependant, la notion de service à logiciel ouvert [open software], autrement dit service dont le logiciel serveur est open source, ne traite pas le problème du SaaSS.

Les services sont fondamentalement différents des programmes, les questions éthiques qu'ils soulèvent sont donc fondamentalement différentes de celles que soulèvent les programmes. Pour éviter la confusion, nous évitons de décrire un service comme « libre » ou « privateur ».

Faire la distinction entre le SaaSS et les autres services en ligne

Quels sont les services en ligne à classer parmi les SaaSS ? Exemple le plus évident : un service de traduction qui traduit un texte, disons, de l'anglais vers l'espagnol. La tâche informatique qui consiste à traduire un texte pour votre usage vous appartient complètement. Vous pourriez l'effectuer en faisant tourner un programme sur votre propre ordinateur si vous disposiez du programme adéquat (pour être conforme à l'éthique, ce dernier devrait être libre). Le service de traduction s'y substitue, de sorte que c'est un SaaSS. Comme il vous refuse le contrôle de votre informatique, il vous fait du tort.

Autre exemple évident : l'utilisation d'un service comme Flickr ou Instagram pour retoucher une photo. La retouche photographique est une activité que les gens font sur leurs ordinateurs depuis des décennies ; l'effectuer sur un serveur dont vous n'avez pas le contrôle plutôt que sur votre propre ordinateur est du SaaSS.

Rejeter le SaaSS ne signifie pas refuser d'utiliser tout serveur réseau géré par quelqu'un d'autre que vous. La plupart des serveurs ne sont pas des SaaSS parce qu'ils effectuent des tâches de communication, plutôt que le travail personnel de l'utilisateur.

Le concept originel de serveur web n'impliquait pas d'exécuter des programmes pour vous, mais de publier de l'information pour que vous y accédiez. Même aujourd'hui c'est ce que font la majorité des sites web et cela ne pose pas le problème du SaaSS, parce qu'accéder aux informations publiées par quelqu'un n'a rien à voir avec votre propre informatique. Publier vos propres travaux sur un site de blog ou utiliser un service de microblogging comme Twitter ou StatusNet, non plus (ces services peuvent poser d'autres problèmes, ou non, selon leurs caractéristiques). Il en va de même pour les autres modes de communication qui ne sont pas destinés à être privés, comme les groupes de discussion.

Par essence, les réseaux sociaux sont des formes de communication et de publication, pas des SaaSS. Cependant, un service dont la fonction essentielle est le réseautage social peut avoir d'autres fonctionnalités ou d'autres extensions qui sont des SaaSS.

Si un service n'est pas un SaaSS, cela ne signifie pas qu'il est acceptable. D'autres questions éthiques peuvent le concerner. Par exemple, le site Facebook distribue des vidéos en Flash, ce qui pousse les utilisateurs à exécuter un logiciel non libre ; il oblige les utilisateurs à exécuter du code JavaScript non libre ; il leur donne l'illusion que leur vie privée est respectée tout en les persuadant de la lui dévoiler. Ce sont des problèmes importants, mais qui sont différents de celui que pose le SaaSS.

Des services comme les moteurs de recherche rassemblent des données provenant de tout le web et vous laissent les examiner. Regarder dans leur collection de données n'est pas votre propre informatique au sens habituel – ce n'est pas vous qui proposez cette collection – donc utiliser un tel service pour rechercher de l'information sur le web n'est pas du SaaSS (cependant, utiliser le serveur de quelqu'un d'autre pour implémenter une fonction de recherche sur votre propre site est du SaaSS).

L'achat en ligne n'est pas du SaaSS, car cette tâche informatique ne vous appartient pas en propre ; elle est au contraire effectuée conjointement par vous et par la boutique, à l'intention de chacun de vous. Le vrai problème du commerce en ligne est la confiance que vous accordez à l'autre partie en ce qui concerne votre argent et vos informations personnelles (à commencer par votre nom).

Des dépôts comme Savannah et SourceForge ne sont pas intrinsèquement des SaaSS, parce que le rôle d'un dépôt est de publier les données qu'on lui fournit.

Utiliser les serveurs d'un projet commun n'est pas du SaaSS, car la tâche informatique que vous effectuez de cette manière ne vous appartient pas en propre. Par exemple, si vous éditez des pages de Wikipédia, vous ne faites pas votre propre informatique, vous collaborez à celle de Wikipédia (Wikipédia contrôle ses propres serveurs, mais les organisations, tout comme les particuliers, sont confrontées aux problèmes du SaaSS si elles font leur traitement informatique sur le serveur de quelqu'un d'autre).

Certains sites offrent plusieurs services, et si l'un d'entre eux n'est pas un SaaSS, ce peut être différent pour un autre. Par exemple, Facebook a pour principale fonction d'être un réseau social, et ce n'est pas du SaaSS ; toutefois, il gère des applications tierces, dont certaines sont des SaaSS. Le principal service de Flickr est de distribuer des photos, ce qui n'est pas du SaaSS, mais il a aussi des fonctionnalités d'édition de photos, ce qui est du SaaSS. De même, utiliser Instagram pour mettre une photo en ligne n'est pas du SaaSS, mais l'utiliser pour transformer cette photo en est.

L'exemple de Google Docs montre à quel point l'évaluation d'un unique service peut devenir complexe. Celui-ci invite les gens à éditer des documents en exécutant un gros programme JavaScript non libre, ce qui est sans conteste mauvais. Toutefois, il propose une API pour téléverser et télécharger des documents aux formats standards. Un éditeur de logiciel libre peut le faire par le moyen de cette API. Cet usage n'est pas du SaaSS, parce qu'il utilise Google Docs comme un simple dépôt. Montrer toutes vos données à une entreprise est mauvais, mais il s'agit de vie privée, pas de SaaSS ; dépendre d'un service pour accéder à vos données est mauvais, mais il s'agit de risque, pas de SaaSS. En revanche, utiliser ce service pour convertir des formats de documents est du SaaSS, parce que vous auriez pu le faire en exécutant un programme adéquat (libre, espérons-le) sur votre propre ordinateur.

Il est rare, bien sûr, d'utiliser Google Docs avec un éditeur libre. La plupart du temps, les gens l'utilisent avec le programme JavaScript non libre cité plus haut, qui est mauvais comme n'importe quel autre programme non libre. Ce scénario pourrait aussi comporter du SaaSS ; tout dépend des parties de l'édition qui sont effectuées respectivement par le programme JavaScript non libre et par le serveur. Nous n'en savons rien, mais puisque le programme JavaScript et le SaaSS sont similaires dans leur nocivité pour l'utilisateur, cette information n'est pas essentielle.

Publier par l'intermédiaire du dépôt de quelqu'un d'autre ne pose pas question pour la vie privée, mais publier par l'intermédiaire de Google Docs soulève un problème particulier : il est impossible, ne serait-ce que de voir le texte d'un document Google Docs dans un navigateur sans exécuter le code JavaScript non libre. Donc vous ne devez pas utiliser Google Docs pour publier quoi que ce soit – mais ce n'est pas parce que c'est un SaaSS.

L'industrie informatique dissuade les utilisateurs de faire ces distinctions. Voilà d'où vient la mode de l'« informatique en nuage » [cloud computing]. Cette expression est si nébuleuse qu'elle peut désigner quasiment toutes les utilisations d'Internet. Cela comprend le SaaSS aussi bien que beaucoup d'autres usages du réseau. Dans un contexte déterminé, un auteur qui écrit « nuage » (s'il a un bagage technique) a probablement une signification particulière à l'esprit, mais d'habitude il n'explique pas que dans d'autres articles ce terme a d'autres significations particulières. Ce terme conduit les gens à faire des généralisations à propos de pratiques qu'ils devraient examiner individuellement.

Dans la mesure où « informatique en nuage » veut dire quelque chose, il ne s'agit pas d'une manière de faire de l'informatique mais plutôt d'une manière de penser à l'informatique : une approche je-m'en-foutiste qui dit : « Ne posez pas de questions. Ne vous souciez pas de savoir qui contrôle votre informatique ou détient vos données. Ne vérifiez pas la présence d'un hameçon caché dans notre service avant de l'avaler. Faites confiance aux entreprises sans hésiter. » Dit autrement : « Pensez comme un pigeon. » Avoir un nuage dans l'esprit fait obstacle à la clarté de la pensée. Pour réfléchir clairement à l'informatique, évitons le terme « nuage ».

Différence entre serveur de location et SaaSS

Si vous louez un serveur (réel ou virtuel) dont vous contrôlez tous les logiciels, ce n'est pas du SaaSS. Dans le SaaSS, une autre personne décide des logiciels qui tournent sur le serveur et donc contrôle les traitements informatiques qu'ils font pour vous. Si vous installez les logiciels, vous contrôlez ce qu'ils font pour vous. Ainsi, le serveur de location est-il virtuellement votre ordinateur. Pour ce qui nous occupe ici, vous pouvez le considérer comme le vôtre.

Les données sont moins en sécurité sur le serveur de location distant que si ce serveur était chez vous, mais c'est un problème différent de celui que pose le SaaSS.

Ce type de location de serveur est quelquefois appelé « IaaS », mais ce terme correspond à une structure conceptuelle qui minimise les problèmes que nous considérons importants.

Traiter le problème du SaaSS

Seule une petite partie de tous les sites web font du SaaSS ; la plupart ne posent pas ce problème. Mais que sommes-nous censés faire à propos de ceux qui le posent ?

Pour le cas simple où vous travaillez sur des données que vous possédez personnellement, la solution est évidente : utilisez votre propre copie d'une application logicielle libre. Écrivez vos textes avec votre copie d'un éditeur de texte libre comme GNU Emacs ou d'un logiciel de traitement de texte libre. Retouchez vos photos avec votre copie d'un logiciel libre comme GIMP. Et si aucun programme libre n'est disponible ? Un programme privateur ou un SaaSS vous priverait de votre liberté, aussi ne faut-il pas l'utiliser. Vous pouvez contribuer en temps ou en argent au développement d'un logiciel libre qui le remplace.

Qu'en est-il de la collaboration avec d'autres personnes au sein d'un groupe ? Cela risque d'être difficile à l'heure actuelle sans utiliser un serveur et votre groupe peut ne pas savoir comment mettre en œuvre son propre serveur. Si vous utilisez le serveur de quelqu'un d'autre, au moins ne faites pas confiance à un serveur mis en œuvre par une société. Un simple contrat en tant que client n'est pas une protection à moins que vous ne puissiez détecter une infraction et effectivement poursuivre devant les tribunaux ; la société a probablement rédigé son contrat de manière à permettre un large éventail d'abus. L'État peut l'assigner pour obtenir vos données en même temps que celles de tous les autres (c'est ce qu'a fait Obama avec les opérateurs téléphoniques), à supposer que cette société ne les donne pas volontairement comme l'ont fait les opérateurs téléphoniques américains qui ont illégalement mis leurs clients sur écoute pour Bush. Si vous devez utiliser un serveur, utilisez-en un dont les opérateurs vous donnent une bonne raison de leur faire confiance, au-delà de la simple relation commerciale.

Cependant, à plus longue échéance, nous pouvons créer des alternatives à l'utilisation de serveurs. Par exemple, nous pouvons créer un programme pair-à-pair de travail collaboratif qui chiffrera les données partagées. La communauté du libre doit développer des logiciels fonctionnant sur un modèle pair-à-pair distribué pour remplacer les « applications web » importantes. Il pourrait être judicieux de les publier sous la licence publique générale GNU Affero, car elles sont candidates à être transformées en programmes serveurs par quelqu'un d'autre. Le projet GNU recherche des bénévoles pour travailler sur ces programmes de remplacement. Nous invitons également les autres projets libres à prendre en compte cette question dans la conception de leurs logiciels.

En attendant, si une société vous invite à utiliser ses serveurs pour exécuter vos propres tâches informatiques, ne cédez pas ; n'utilisez pas le SaaSS. N'achetez pas et n'installez pas de « clients légers », qui sont simplement des ordinateurs si peu puissants qu'ils vous font faire le vrai travail sur un serveur, à moins que ce ne soit pour les utiliser avec votre serveur. Utilisez un véritable ordinateur et gardez vos données dessus. Faites votre propre travail informatique avec votre propre copie d'un logiciel libre, par souci de votre liberté.

Voir également…

Le bogue que personne n'est autorisé à comprendre.


Notes de traduction
  1. Autre traduction de proprietary : propriétaire. 
  2. Digital Rights Management
  3. Le verbe to kindle signifie « allumer un feu » et kindle veut dire « bois d'allumage ».