Grand huit émotionnel pour les développeurs et les utilisateurs d'iSH Shell. Sur le point d'être exclue de l'App Store seulement deux semaines après y être entrée, l'application pourra finalement y rester à la suite d'une volte-face de l'équipe de validation. Un cas emblématique des controverses sur les règles de l'App Store et leurs interprétations.
Petit retour en arrière : le 22 octobre, iSH fait son apparition dans l'App Store, non sans avoir déjà consenti des concessions à la demande d'Apple. Par rapport à la bêta distribuée sur TestFlight, la version finale de ce terminal UNIX n'intègre pas apk, un gestionnaire de paquets permettant de télécharger des outils supplémentaires. Les développeurs ont retiré cette fonctionnalité afin de ne pas enfreindre la règle 2.5.2 de l'App Store qui interdit à une app « de télécharger, installer ou exécuter du code qui introduit ou change ses fonctionnalités. »
iSH Shell intégrant d'autres outils, les utilisateurs trouvent vite un moyen pour ajouter apk et par conséquent d'autres fonctionnalités. Patatras, le 26 octobre les développeurs reçoivent un coup de fil de l'équipe de validation de l'App Store leur indiquant que l'app viole la guideline 2.5.2 et qu'elle sera exclue deux semaines plus tard si elle n'est pas mise en conformité. Un délai jugé trop court par les développeurs, qui de plus contestent l'interprétation de la règle.
Dans ses échanges « difficiles et stressants » avec l'équipe de validation, Theodore Dubois, le créateur d'iSH Shell, fait valoir que wget, l'outil permettant de récupérer apk, ne fait rien d'autre que télécharger des fichiers, tout comme Safari permet de le faire. Un argument qui ne fait pas mouche auprès de son interlocuteur chez Apple (apparemment peu à l'aise avec l'aspect technique des choses), qui lui répond que Safari a le droit de télécharger des fichiers car c'est un navigateur, ce qui n'est pas le cas d'iSH Shell.
Outre ce point de désaccord, Saagar Jha, un contributeur de l'app, explique dans un autre billet blog que la règle 2.5.2 est une épée de Damoclès non seulement pour iSH, mais aussi pour toutes les autres applications permettant de lancer des scripts :
Non seulement il est impossible pour un développeur d'empêcher les utilisateurs de faire des choses que l'équipe de validation n'apprécie pas, mais en plus cette restriction supplémentaire devrait s'appliquer à toutes les apps de scripts, y compris celles d'Apple [Swift Playgrounds et Raccourcis, ndr].
D'ailleurs, a-Shell, un terminal UNIX similaire, a reçu le même ultimatum de la part d'Apple.
Finalement, après ces deux billets de blog et des heures de débat avec l'équipe de validation, un responsable de celle-ci a appelé hier soir les développeurs pour présenter ses excuses quant au déroulé des événements et pour leur annoncer que l'application ne serait pas retirée de l'App Store.
L'affaire n'est cependant pas totalement terminée. a-Shell reste sous le coup de l'injonction d'Apple et tant qu'elle restera ainsi, la règle 2.5.2 ouvrira la voie à des interprétations arbitraires et changeantes.