Connexion
Abonnez-vous

Apple autorise puis supprime un émulateur Game Boy sur iOS

Quel est ce phoque ?

Apple autorise puis supprime un émulateur Game Boy sur iOS

Unsplash

Apple a récemment autorisé les émulateurs sur iOS et iPadOS. La question était posée : l’entreprise allait-elle permettre les émulateurs pouvant récupérer des ROM depuis l’extérieur ? L’arrivée, puis le retrait sur la boutique d’iGBA permet d’y voir un peu plus clair.

Le 15 avril à 14h09

Apple se prépare à une année 2024 mouvementée, et sans doute au-delà. Des deux côtés de l’Atlantique, la pression s’accumule. On le savait déjà en Europe, où l’arrivée du DMA s’est faite avec bien des remous, Apple ayant présenté une longue liste de changements pour iOS 17.4 et plus tard. Dans le même temps, elle s’est largement plainte des mesures imposées, qui entraineraient, selon elle, une baisse générale de la sécurité sur les iPhone européens. Aux États-Unis, la société doit maintenant faire face à une plainte pour abus de position dominante, déposée par le gouvernement.

Depuis, l’entreprise procède à certaines annonces, dans une volonté manifeste de détendre un peu l’atmosphère avant le début des enquêtes et des procédures. Des gestes de bonne volonté, en quelque sorte. Après avoir une fois encore assoupli la règle des liens externes dans les applications de streaming musical en Europe, Apple a surpris en autorisant les émulateurs de « jeux rétro » dans son App Store, cette fois à l’échelle mondiale.

Peu de détails étaient fournis et une question restait en suspens : les émulateurs permettant de charger des ROM depuis l’extérieur allaient-ils eux aussi être autorisés ? Il semblait que non, à la manière dont les termes étaient rédigés. Pourtant, la validation de GBA4iOS a surpris tout le monde. Son retrait beaucoup moins. Mais c’est là que l’affaire se complique : a priori, le retrait ne serait pas dû au fonctionnement de l’application.

Aller et retour d’un hobb émulateur

Samedi, l’émulateur est apparu sur l’App Store. Très rapidement, le nombre de téléchargements a explosé, faisait apparaître l’application dans le Top 10 de la boutique. Beaucoup avaient de quoi se réjouir : non seulement le premier émulateur n’avait mis qu’une semaine à arriver, mais il était en plus spécialisé dans les jeux Game Boy, donc particulièrement adapté à la taille des téléphones. Les titres Game Boy, Game Boy Color et Game Boy Advance étaient acceptés.

Mais l’élément le plus surprenant était qu’iGBA permettait de charger les fichiers ROM depuis des sources externes, notamment les volumes de stockage distants comme Google Drive ou OneDrive. Depuis l’application, on sélectionnait la source et le jeu se lançait, tout simplement.

La question sur la source des ROM semblait tranchée. Seulement voilà, Apple a supprimé l’application hier, sans donner d’explications. La firme se serait-elle trompée ? Aurait-elle accepté trop vite, avant de se rendre compte qu’elle entrait en territoire contesté ? Peut-être, mais la situation est un peu plus complexe que cela.

Un clone mort au combat

iGBA n’est pas une création originale. La petite semaine écoulée entre l’autorisation donnée par Apple et l’arrivée de l’application dans la boutique l’indiquait déjà. C’est en fait un clone d’un émulateur plus ancien nommé GBA4iOS. Ce dernier, créé par Riley Testut et open source, ne pouvait réellement s’installer que sur des iPhone « jailbreakés » ou via l’environnement de développement Xcode, en respectant les étapes données par le développeur sur le dépôt GitHub. Depuis, Testut est passé sur un émulateur remanié, appelé Delta.

Le développeur s’est fendu d’un message sur Threads : « Apparemment, Apple a approuvé une contrefaçon de GBA4iOS – le prédécesseur de Delta que j'ai créé au lycée – dans l'App Store. Je n'ai donné à personne la permission de le faire, et pourtant il est maintenant en tête des classements (bien qu'il soit rempli de publicités et de suivi) ».

Il a ajouté qu’il n’était pas en colère contre le développeur, mais bien contre Apple : « Je suis furieux qu'Apple ait pris le temps de modifier les règles de l'App Store pour autoriser les émulateurs, et qu'elle ait ensuite approuvé une copie de ma propre application, alors que j'étais prêt à la lancer ».

Et pour cause : le sideloading ayant été autorisé en Europe (sous une forme très stricte cependant), Riley Testut prépare le lancement de sa propre boutique alternative nommée AltStore. Dans un message publié il y a deux jours, le développeur indiquait d’ailleurs que cette boutique était en cours d’examen chez Apple. Si elle devait être acceptée au cours des prochains jours, elle serait la première. Chaque application proposée devrait quand même être validée par Apple, avec les mêmes règles que pour l’App Store. Y compris pour les émulateurs.

Pourquoi cette suppression ?

On ne sait pas vraiment pourquoi Apple a supprimé l’application. Elle pourrait s’être aperçue qu’elle était entrée dans un territoire dangereux, en particulier pour un émulateur visant les jeux Nintendo. Car l’entreprise japonaise est particulièrement jalouse de sa propriété intellectuelle et attaque régulièrement les sites proposant de télécharger des ROM, même quand il s’agit de titres issus de consoles aussi anciennes que la NES ou la première Game Boy.

Il pourrait donc s’agir d’une demande de Nintendo, auquel cas le retrait pourrait faire « jurisprudence » chez Apple, qui refuserait alors tous les émulateurs du même acabit. On ne sait pas cependant si la raison centrale de la suppression est la propriété intellectuelle de Nintendo ou le principe même de sélection d’un ROM depuis une source extérieure. Ce fonctionnement laisse après tout les portes du piratage grandes ouvertes, en autorisant le stockage d’un grand nombre de fichiers pour une utilisation illégale.

L’histoire est d’autant plus curieuse qu’Apple a autorisé cette application au premier examen. S’agissant du premier émulateur à être apparu, il serait logique qu’il ait fait l’objet d’une attention particulière. Auquel cas, le choix externe des ROM a été dûment validé par l’entreprise. Après tout, un jeu Game Boy peut être qualifié de « jeu rétro ». Sauf, bien sûr, s’il s’agit d’une erreur.

Il est probable qu’Apple ne s’exprimera pas sur le sujet. Il va falloir attendre que d’autres applications reviennent tenter leur chance.

Commentaires (16)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar
Le développeur s’est fendu d’un message sur Threads : « Apparemment, Apple a approuvé une contrefaçon de GBA4iOS – le prédécesseur de Delta que j'ai créé au lycée – dans l'App Store. Je n'ai donné à personne la permission de le faire, et pourtant il est maintenant en tête des classements (bien qu'il soit rempli de publicités et de suivi) ».
Il a ajouté qu’il n’était pas en colère contre le développeur, mais bien contre Apple : « Je suis furieux qu'Apple ait pris le temps de modifier les règles de l'App Store pour autoriser les émulateurs, et qu'elle ait ensuite approuvé une copie de ma propre application, alors que j'étais prêt à la lancer ».
Plusieurs choses (punaise, voilà que je défends Apple maintenant...) :
- Apple a approuvé une contrefaçon de GBA4IOS : impossible de parler de contrefaçon. Le logiciel est libre (sous GPLv2) et le nom a été changé.
- Je n'ai donné à personne la permission de le faire : et si, en mettant le logiciel sous licence libre, chaque utilisateur peut le redistribuer comme il l'entend. Un utilisateur n'a AUCUNE permission à demander à l'auteur (sinon, le logiciel ne serait pas libre)
- est-ce à Apple de vérifier si, pour chaque application Open Source, le titulaire des droits (dans la limite de ce que cela peut bien signifier) a pour objectif ou non la publication d'un application pour vérifier si un fork soumis doit être accepté ou non ? Pour moi, non.

Je serai Riley Testut, je serai bien en colère contre l'auteur du fork, et pas contre Apple. Son projet est effectivement parasité, et la présence de publicités et de trackers dans la version distribuée plaide pour une action plutôt volontaire voire malsaine et non pas pour un acte de quelqu'un d'un peu trop passionné ne pensant pas à mal.


Voilà, sinon, un point de détail : le dépôt actif semble être celui sur bitbucket. Celui sur github est archivé.
votre avatar
Je ne vois pas de license sur le dépot github archivé (ni celui de bitbucket), donc ce n'est pas libre de droit.
(cf. https://opensource.stackexchange.com/a/1721)
votre avatar
C'est dans le README :
The GBA4iOS codebase is distributed under the GNU GPLv2 license.
votre avatar
Sauf erreur ca a été rajouté hier suite justement à celà et t'as supprimé la partie qui dit l'inverse de ce que tu dis :
unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required
votre avatar
Ah oui, tu as raison, il a ajouté la partie licence hier. Avant, il n'y avait rien en terme de licence, ce qui fait que ce n'était pas un logiciel libre et qu'il y avait bien contrefaçon.

Mais aujourd'hui, c'est un logiciel libre et je pense que ce qu'il a écrit pour restreindre la diffusion par l'App Store est mal foutu (voir mon commentaire précédent).

En plus, comme c'est écrit hier, il a été maladroit en ne mettant la restriction que pour le store d'Apple. :D Les stores alternatifs et le téléchargement direct sont en dehors de sa restriction.
votre avatar
La citation complète est :
The GBA4iOS codebase is distributed under the GNU GPLv2 license. That being said, I explicitly give permission for anyone to use, modify, and distribute my original code for this project without fear of legal consequences — unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required.
Et c'est là que les problèmes commencent ! Le texte en plus de celui que tu as cité est mal foutu.

1) il commence par autoriser ce que la GPL V2 autorise déjà : utilisation, modification et distribution.

2) il met une limite à la distribution sur l'Apple App Store qui est d'avoir son autorisation écrite.

Mais la GPL V2 est plus permissive que cette restriction et il a dit que son code était distribué sous GPL V2. Donc sa restriction est en contradiction avec la première phrase. Cette restriction me semble inefficace. Elle l'aurait été s'il avait faite dans la même phrase et encore, je n'en suis pas sûr. Voilà ce que c'est quand un développeur, lycéen qui plus est, joue avec les licences logicielles, il se plante.
votre avatar
La distribution via l'App Store est déjà incompatible avec la GPL pour ces même raisons: les conditions de distribution obligent le développeur à des restrictions supplémentaires sur le code. https://opensource.stackexchange.com/a/9525

https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement
votre avatar
Je pense que tu as lu de travers.

Ce n'est pas la distribution par l'Appl Store qui est incompatible avec la GPL. Ce sont les restrictions d'Apple liées à l'Appl Store qui sont incompatibles avec la GPL :
You may not impose any further restrictions on the recipients' exercise of the rights granted herein. Emphasis added.) This last sentence is a crucial part of the strong copyleft in the GPL and AGPL: it prevents distributors from using separate legal agreements, like Terms of Service or NDAs, to take away the freedoms that the license is supposed to grant. This is the license condition that Apple is violating when it distributes GPL-covered software through the App Store.
Il faut donc simplement considérer que les restrictions supplémentaires d'Apple incompatibles avec la GPL sont nulles et non avenues.
Remarque : celui qui fait la distribution du logiciel sous licence GPL sur l'App Store est Apple et pas le développeur. C'est donc bien Apple qui viole la GPL en ajoutant desrestrictions.

Mais comme l'a fait remarquer aureus, le logiciel jusqu'à hier n'était pas sous licence GPL.

Par contre, la partie que je cite renforce ce que je disais : on ne peut pas ajouter de restriction de distribution comme l'auteur l'a fait hier à un logiciel sous licence GPL V2.
votre avatar
Cette restriction me semble inefficace. Elle l'aurait été s'il avait faite dans la même phrase et encore, je n'en suis pas sûr.
Même pas. La GPL interdit toute restriction, sous quelque forme que ce soit, dans la distribution. On a donc :
- soit le code est sous GPL, et il n'est pas possible de restreindre la diffusion (sa limitation ne tient donc pas)
- soit la diffusion est restreinte, mais son code ne sera pas sous GPL (ni même une quelconque licence libre).

Les deux sont purement et simplement incompatibles. Tout au mieux, on pourrait dire qu'il fait un dérivé non libre de la GPL (et encore, pas sur que cela plaise à la FSF de dire cela :francais:)
votre avatar
Tu confirmes mon doute initial, tout comme le lien vers la fsf d'Oliverpool.
votre avatar
C'est une problématique similaire avec les nouvelles licences qui sont apparus pour les services utilisées massivement dans le cloud (MongoDB, Redis, Elastic Search, ...). Les nouvelles licences veulent dire (comme la SSPL), c'est du libre, sauf en cas d'utilisation en SAAS. Sauf qu'en réalité, ce n'est donc plus du libre.

Pour faire simple : une licence libre avec une clause "sauf si" dans le cadre de la jouissance d'une des 4 libertés fondamentales qui constitue le libre, n'est plus libre.
votre avatar
C'est effectivement mal rédigé, mais sur le principe, il me semble que le principe de double-licence ne pose pas de problème.

La GPL interdit les restrictions, mais encore faut-il que tu possèdes une licence sous GPL du code source. Or, si tu prévois de mettre sur l'App Store, il ne t'octroie pas de licence GPL. Trolltech fait ça avec Qt depuis une éternité par exemple.
votre avatar
Il est effectivement possible de faire de la double licence (comme Qt que tu cites fort judicieusement).

Sauf que le choix de la licence à utiliser ne revient pas à l'auteur, mais à l'utilisateur :
- s'il peut distribuer son programme en respectant les termes de la licence GPL, il peut prendre la GPL ou la licence alternative, et l'auteur n'a rien à redire là-dessus
- s'il ne peut pas distribuer son programme en respectant les termes de la GPL, il ne dispose alors que de la solution de secours via le double-licensing.

Pour Qt, cela se traduit grosso modo par :
- si tu utilises Qt, que tu as apportés des modifications à la bibliothèque, alors soit ces modifications doivent être disponible en LGPL, soit tu dois acquérir la licence alternative
- si tu utilises Qt, que tu as apportés des modifications à la bibliothèque mais, que pour des raisons diverses, tu ne peux pas les rendre disponible en LGPL (utilisation d'une bibliothèque avec une licence incompatible avec la LGPL, code métier spécifique présentant une plus-value et devant resté confidentiel, etc.) alors tu dois acquérir une licence.
votre avatar
Si le logiciel est libre, alors le fork doit fournir ses sources et mentionner le copyright de l'auteur original. Il semblerait ici que cela ne soit pas le cas.

Sinon l'affaire est juste un peu dégueulasse de la part du forker qui profite du travail d'autrui à peu de frais mais c'est effectivement la règle.

Maintenant je ne me fais pas trop de soucis pour Delta qui a déjà une bonne réputation chez les bidouilleurs et qui si il est autorisé sur l'App Store, y trouvera son petit succès.
votre avatar
Si le logiciel est libre, alors le fork doit fournir ses sources et mentionner le copyright de l'auteur original. Il semblerait ici que cela ne soit pas le cas.
Cela dépend des licences. Mais dans le cadre de la GPL v2 oui. Après, je n'ai pas d'iBidule pour aller vérifier (et de toute façon, l'application a été retirée).
Sinon l'affaire est juste un peu dégueulasse de la part du forker qui profite du travail d'autrui à peu de frais mais c'est effectivement la règle.
On est tout à fait d'accord. C'est d'ailleurs bien à cela que je réagissais quand je voyais que l'auteur n'en voulait pas au forkeur, mais à Apple.

C'est légal (si les conditions de la licence sont respectées comme la conservation du copyright), mais pas très moral...
votre avatar
Sinon l'affaire est juste un peu dégueulasse de la part du forker qui profite du travail d'autrui à peu de frais mais c'est effectivement la règle.
C'est effectivement le jeu, en dehors de l'aspect moral il est difficile de reprocher quoique ce soit. L'auteur le permet.

Apple autorise puis supprime un émulateur Game Boy sur iOS

  • Aller et retour d’un hobb émulateur

  • Un clone mort au combat

  • Pourquoi cette suppression ?

Fermer