Depuis quelques semaines, Apple autorise finalement les émulateurs sur l'App Store. Mais comme toujours avec ce type de logiciel, des questions se posent : est-ce légal et qu'est-il possible de faire ? Nous allons débroussailler ce sujet qui est parfois considéré comme une zone grise, alors que l'ensemble est relativement carré, même si certains aspects dépendent un peu des pays.
Est-ce qu'émuler une console est légal ?
La réponse à cette première question est évidente, étant donné qu'Apple distribue maintenant des émulateurs sur l'App Store. Oui, il est légal d'émuler une console, un ordinateur et n'importe quel appareil. Les applications qui simulent une Super Nintendo, une Mega Drive, un Macintosh ou un Commodore 64, pour ne prendre que quelques exemples, sont légales, et si le droit français n'indique rien de particulier sur celles-ci, la rétro-ingénierie nécessaire au développement est parfaitement réglementaire.
Mais, car il y a un mais, il y a une contrainte : les composants logiciels, au sens large, sont protégés par le droit d'auteur et ils ne peuvent donc pas être reproduits.
BIOS, ROM, firmware, systèmes d'exploitation, etc.
La question des droits d’auteur se pose différemment selon les choix d'origine des constructeurs. Si vous prenez la console NES de Nintendo, il n'y a pas de soucis particuliers : elle n'a pas de système d'exploitation ni de code en ROM (une zone en lecture seule) pour démarrer. Mais si vous cherchez un émulateur de Macintosh, vous aurez besoin de ce qu'on appelle la ROM chez Apple, le BIOS chez d'autres et le firmware au sens large — nous utiliserons ce mot dans la suite.
Le fonctionnement diffère selon les appareils, mais il s'agit, en simplifiant un peu, du code nécessaire au démarrage de l'appareil et il est protégé par le droit d'auteur. Vous n'avez donc pas le droit de le distribuer et les développeurs des émulateurs ont choisi plusieurs voies au fil des années pour contourner le problème.
La première solution, quand c'est possible, consiste à émuler le code, ce qui demande quelques explications. Partons d'un exemple simple : si l'appareil que vous devez émuler dispose d'API pour accéder au stockage dans son firmware, vous pouvez parfaitement concevoir votre propre API qui réagit de la même façon. C'est un procédé qui va dépendre de la complexité de l'appareil : si le firmware effectue beaucoup de tâches, reproduire toutes les API peut vite devenir très compliqué. Qui plus est, une difficulté arrive rapidement : il faut recréer les API sans reprendre le code de la version originale1. C'est une voie assez rare dans la pratique, qui n'est réellement envisageable que sur les machines les plus anciennes.
La seconde solution, courante, consiste à demander à l'utilisateur d'amener sa propre copie du firmware. Le problème est le même que pour les jeux, nous le verrons plus bas, mais en résumé vous avez le droit d'effectuer cette copie si vous possédez le matériel et si vous la faites vous-même. Il est aussi possible, dans certains cas, de fournir un firmware que vous avez acheté.
Commençons par le premier cas, la copie. Si vous voulez émuler la Nintendo DS, vous aurez besoin du firmware de la console. Et donc en théorie d'une Nintendo DS et du matériel pour le récupérer, comme une cartouche R4. Maintenant, ne soyons pas hypocrites : nous savons (et les développeurs des émulateurs aussi) que vous n'allez probablement pas faire la copie vous-même, ne serait-ce que parce que vous n'avez peut-être pas, ou plus, la console.
Le second cas est plus rare : pour certains appareils, par exemple les Amiga, les ayants droit de la marque vendent une licence du firmware. Au lieu de devoir allumer un Amiga et tenter de trouver comment transférer le nécessaire, il est possible d'acheter les fichiers ou un émulateur qui intègre le firmware en question. Cette possibilité n'est évidemment pas systématique : Nintendo ne le fait pas — nous avons sélectionné cette société totalement au hasard.
Enfin, de façon plus large, le système d'exploitation est dans le même cas. Si vous voulez émuler un PC, vous aurez besoin éventuellement d'un BIOS mais aussi vraisemblablement d'un système d'exploitation (DOS, Windows, etc.) ou d'un pendant libre. Dans le cas des consoles, c'est assez simple : elles n'intègrent un véritable OS que depuis une vingtaine d'années. Les précédentes, comme la PlayStation, se limitaient à un firmware plus ou moins complexe ou bien… ne contenaient rien du tout (comme certaines consoles 8 et 16 bits). Et de la même manière que les firmwares, les systèmes d'exploitation ne sont pas nécessairement distribués, ce qui implique donc une copie à partir du matériel d'origine quand c'est possible.