L'anatomie d'un brevet trivial
par Richard StallmanLes programmeurs sont bien conscients du fait que parmi les brevets logiciels existants nombreux sont ceux qui couvrent des idées ridiculement évidentes. Pourtant les défenseurs du système de brevets prétendent souvent que ces idées ne sont pas triviales, mais évidentes seulement a posteriori. Et il est étonnamment difficile de démontrer la fausseté de ce propos dans un débat. Pourquoi cela ?
Tout d'abord, n'importe quelle idée, analysée à l'extrême, peut paraître complexe. Ensuite, ces idées qui relèvent du simple bon sens paraissent souvent complexes de par leur description dans les brevets eux-mêmes. Les défenseurs du système de brevets peuvent ainsi souligner la complexité de la description et demander « Mais comment une chose aussi complexe peut-elle être évidente ? »
Je vais utiliser un exemple pour vous en montrer la méthode. Voici l'énoncé de l'objectif numéro un du brevet américain numéro 5 963 916 déposé en octobre 1996 :
1. Une méthode pour permettre à un utilisateur distant d'écouter une partie d'un produit musical préenregistré, depuis un site web faisant partie d'un réseau, contenant des extraits présélectionnés de différents produits musicaux préenregistrés, en utilisant un ordinateur, un périphérique d'affichage et un lien de télécommunication entre l'ordinateur de l'utilisateur distant et le site web du réseau, la méthode comprenant les étapes suivantes :
- a) utiliser l'ordinateur de l'utilisateur distant pour établir un lien de télécommunication vers le site web du réseau, le site web du réseau comprenant : (1) un serveur hôte central couplé à un réseau de communication pour rechercher et transmettre, sur demande d'un utilisateur distant, la partie présélectionnée du produit musical préenregistré, et (2) un périphérique de stockage central pour stocker les parties présélectionnées d'un ensemble de différents produits musicaux préenregistrés ;
- b) transmettre les données d'identification de l'utilisateur depuis l'ordinateur distant de l'utilisateur vers le serveur hôte central, et ce pour autoriser le serveur hôte central à identifier et à suivre le cheminement de l'utilisateur à travers le site web du réseau ;
- c) choisir au moins une partie présélectionnée du produit musical préenregistré depuis le serveur hôte central ;
- d) recevoir la partie présélectionnée choisie du produit préenregistré ; et
- e) prévisualiser interactivement la partie présélectionnée choisie et reçue du produit musical préenregistré.
Voilà bien un système qui semble complexe, pas vrai ? Il a sûrement fallu un gars vraiment malin pour penser à cela ? Non, mais il a fallu de l'habileté pour le faire paraître complexe. Analysons d'où vient cette complexité :
1. Une méthode pour permettre à un utilisateur distant d'écouter une partie d'un produit musical préenregistré, depuis un site web faisant partie d'un réseau, contenant des extraits présélectionnés
Voilà énoncé l'essentiel de leur idée. Ils mettent des sélections de certains morceaux de musique sur un serveur pour qu'un utilisateur puisse les écouter.
de différents produits musicaux préenregistrés,
Cela souligne que leur serveur stocke des sélections de plus d'un morceau de musique.
C'est un principe de base de l'informatique ; si un ordinateur peut faire quelque chose une fois, il peut faire cette chose de nombreuses fois, chaque fois sur des données différentes. Beaucoup de brevets prétendent qu'appliquer ce principe à un cas spécifique en fait une « invention ».
en utilisant un ordinateur, un périphérique d'affichage et un lien de télécommunication entre l'ordinateur de l'utilisateur distant et le site web du réseau,
Cela indique qu'ils utilisent un serveur sur un réseau.
la méthode comprenant les étapes suivantes :
a) utiliser l'ordinateur de l'utilisateur distant pour établir un lien de télécommunication vers le site web du réseau
Il est dit ici que l'utilisateur se connecte au serveur à travers le réseau (c'est comme ça qu'on utilise un serveur).
le site web du réseau comprenant : (1) un serveur hôte central couplé à un réseau de communication
Cela nous informe qu'un serveur est sur le net (c'est typique des serveurs).
pour rechercher et transmettre, sur demande d'un utilisateur distant, la partie présélectionnée du produit musical préenregistré,
Cela reprend l'idée générale indiquée dans les deux premières lignes.
et (2) un périphérique de stockage central pour stocker les parties présélectionnées d'un ensemble de différents produits musicaux préenregistrés ;
Ils ont décidé de mettre un disque dur (ou l'équivalent) dans leur ordinateur et d'y stocker les extraits. Depuis... disons 1980, c'est la manière courante de stocker des données sur un ordinateur pour y avoir accès rapidement.
Notez comme ils soulignent à nouveau le fait qu'ils peuvent stocker plus d'une sélection sur ce disque. Naturellement, tout système de fichiers vous permettra de stocker plus d'un fichier.
b) transmettre les données d'identification de l'utilisateur depuis l'ordinateur distant de l'utilisateur vers le serveur hôte central, et ce pour autoriser le serveur hôte central à identifier et à suivre le cheminement de l'utilisateur à travers le site web du réseau ;
Cela explique juste qu'ils gardent une trace de votre identité et de ce à quoi vous accédez, une tâche banale (bien que mauvaise) pour les serveurs web. Je crois que c'était déjà d'usage courant en 1996.
c) choisir au moins une partie présélectionnée du produit musical préenregistré depuis le serveur hôte central ;
En d'autres termes, l'utilisateur clique pour suivre un lien. C'est typique de l'usage d'un serveur web ; s'ils avaient trouvé un autre moyen de le faire, ça aurait pu être une invention.
d) recevoir la partie présélectionnée choisie du produit préenregistré ; et
Quand vous suivez un lien, votre navigateur lit le contenu. C'est un comportement typique pour un navigateur web.
e) prévisualiser interactivement la partie présélectionnée choisie et reçue du produit musical préenregistré.
Cela dit que votre navigateur joue l'extrait pour vous (c'est ce que font beaucoup de navigateurs lorsque vous suivez un lien vers un fichier audio).
Maintenant vous pouvez voir comment ils ont enrobé cette demande pour en faire une idée complexe : ils ont inclus dans leur propre idée, expliquée en deux lignes, des aspects importants de ce que font les ordinateurs, les réseaux, les serveurs web et les navigateurs web. Voilà ce qui constitue la prétendue « invention » pour laquelle ils ont reçu un brevet.
Cet exemple est typique des brevets logiciels. Même les quelques brevets dont l'idée n'est pas triviale utilisent le même genre de complications surajoutées.
Regardez maintenant la revendication suivante :
3. La méthode de la revendication 1 dans laquelle le support de stockage central comporte un certain nombre de disques compacts en lecture seule (CD-ROM).
Ce qui est dit là est que « même si vous ne pensez pas que la revendication 1 soit une invention, utiliser des CD-ROM pour stocker des données en fait une invention de façon incontestable. Un concepteur de système moyen n'aurait jamais pensé à cela ».
Maintenant regardez la revendication suivante :
4. La méthode de la revendication 1 dans laquelle le support de stockage central comprend une matrice de disques RAID.
Une matrice RAID est un groupe de disques durs configurés pour fonctionner comme un seul gros disque, avec la fonctionnalité spéciale suivante : même lorsque l'un des disques de cette matrice contient une erreur et arrête de fonctionner, toutes les données sont toujours accessibles sur les autres disques du groupe. De telles matrices sont disponibles dans le commerce depuis bien avant 1996, et sont un moyen standard de stocker des données pour une haute disponibilité. Mais ces brillants inventeurs ont breveté l'utilisation d'une matrice RAID pour cet usage particulier.
Trivial comme il l'est, ce brevet ne serait pas nécessairement considéré comme juridiquement invalide s'il y avait une poursuite judiciaire à son propos. Non seulement le bureau des brevets américain, mais également les cours de justice, tendent à appliquer une norme très basse lorsqu'ils jugent si un brevet est « non évident ». Ce brevet pourrait passer l'inspection, selon eux.
Qui plus est, les cours sont peu disposées à aller à l'encontre d'une décision de l'Office des brevets, on a donc une meilleure chance d'obtenir une annulation de brevet en exposant à la cour un état antérieur de la technique que l'Office des brevets n'a pas pris en considération. Si les cours sont disposées à appliquer des normes plus élevées en rendant des jugements de non-évidence, il est utile d'archiver ces états antérieurs de la technique à leur usage. Ainsi, fournir à l'Office des brevets une meilleure base de données des états antérieurs de la technique, proposition ayant pour but de « mieux faire fonctionner le système », pourrait au contraire faire empirer les choses.
Il est vraiment difficile de rendre rationnel le comportement d'un système de brevets ; c'est une bureaucratie complexe qui tend à suivre ses impératifs structurels indépendamment de ce qu'elle est « censée » faire. La seule manière pratique de se débarrasser des nombreux brevets évidents sur des fonctionnalités logicielles et des procédures économiques [business practices] est l'annulation de tous les brevets dans ces domaines. Heureusement, on n'y perdrait rien : les brevets non évidents dans le domaine du logiciel n'apportent rien de bon. Ce que font les brevets logiciels, c'est mettre en danger les développeurs et les utilisateurs.
Le système des brevets est censé favoriser le progrès et conçu dans ce but. Ceux qui tirent bénéfice des brevets logiciels nous demandent de croire, sans nous poser de question, qu'il a vraiment cet effet. Mais l'expérience des programmeurs est tout autre. Une nouvelle analyse théorique prouve que ce n'est aucunement paradoxal (voir researchoninnovation.org/patent.pdf sur webarchive.org [en]). Il n'y a aucune raison pour que la société expose les développeurs et utilisateurs de logiciels aux dangers des brevets logiciels.