¿Por qué Apple no acepta emuladores de otros sistemas en el App Store?


Si hay algo que causa tremendas susceptibilidades entre muchos usuarios de dispositivos móviles, son las normas de publicación de Apple que provocan que determinado tipo de programas estén prohibidos en la tienda oficial.

Y uno de estos tipos son los emuladores de otros sistemas, como el que se ha lanzado recientemente,GBA4iOS que además se instala por fuera de la App Store aprovechando un certificado de aplicaciones de empresa. Apple, lógicamente, ha anulado dicho certificado por lo que ya no se puede instalar la app(a no ser que se cambie la fecha del sistema a un día anterior a dicha anulación).

Pero, ¿por qué no podemos tener emuladores de Game Boy, Super Nintendo u otras máquinas, de manera completamente legal, en el App Store? ¿Es por el hecho que son ilegales? ¿Importa si es un sistema que ya no tiene explotación comercial alguna o incluso que se enmarque dentro del concepto de abandonware o software del que se renuncia a sus derechos de explotación comercial por no existir posibilidad de obtener más beneficios del mismo? ¿Por qué sí existen para Android?

Emuladores, software legal

Los emuladores son legales. Crear un software que traduzca las instrucciones que se generaron para ejecutarse en un determinado hardware para que este se ejecute en otro es legal. La única condición para ello es que no usen volcados de datos de ninguno de los componentes originales (como las BIOSdel sistema). Si todos los componentes del emulador/traductor son creados desde 0 replicando la funcionalidad de una máquina y sus componentes, es legal. ¿Entonces? ¿Por qué no podemos jugar a ellos en el App Store?

ROMS, contenido legal (pero solo a veces)

¿Apple no los admite porque se usan para ejecutar ROMS (imágenes de juegos) que sí tienen derechos?Estaríamos en lo cierto siempre y cuando no tuviéramos el juego. Si yo tengo una Super Nintendo con el Super Mario World original y me bajo su ROM, legalmente puedo jugar a él y es completamente legal ya que estoy haciendo uso de un software del que ya compré la licencia, aunque sea en otro medio. Al final es un volcado bit a bit de lo que yo compré y el medio es indiferente. El juego es mío.

Si no lo tengo, yo, como usuario, estoy actuando ilegalmente porque no tengo licencia, pero el desarrollador del emulador no tiene responsabilidad alguna. Es como el que vende un arma, que la vende legalmente pero usarla para un homicidio por una persona es ilegal y no implica en nada al vendedor del arma. Es un ejemplo un poco radical, pero es una forma fácil de entenderlo. Entonces, de nuevo la pregunta: ¿por qué entonces no hay emuladores en el App Store?

Normas de la App Store, 2.7 y 2.8

app_review_website_620px

Dicen las normas 2.7 y 2.8 de la Guía de Revisión de la App Store:

  • Apps that download code in any way or form will be rejected, es decir, cualquier app que descargue código de cualquier forma o manera será rechazada.
  • Apps that install or launch other executable code will be rejected, o sea, las apps que instalen o lancen código ejecutable serán rechazadas.

Estas dos normas son lo que impide que en Apple exista ninguna máquina virtual o motor de ejecución de código, que no sea el motor de navegación WebKit, que la propia Apple controla. Es el motivo por el que Firefox no publicará jamás su navegador en Apple o por el que Adobe no tiene Flash ni Oracle puede montar Java. Apple no permite intérpretes de código que puedan ejecutar alguno que ellos no pueden verificar previamente. Para garantizar la seguridad y estabilidad de su sistema.

La forma de cargar ROMs en el emulador siempre será descargando código (quebrantando la norma 2.7) y luego se ejecutará dicho código en nuestra app (rompiendo la norma 2.8). Por lógica, esto no pasa en Android, lo que posibilita que exista este tipo de software sin problema legal alguno.

Resumiendo: por seguridad y estabilidad del sistema, para impedir cualquier agujero de seguridad en un componente que Apple no controle, está prohibida la ejecución de cualquier código que no sea revisado por la propia Apple. Un emulador es eso: ejecuta código (el juego) y eso es un tipo de máquina virtual que Apple no puede controlar porque no puede garantizar un uso no autorizado de la misma. Este, y no otro, es el motivo por el que nunca habrá emuladores abiertos de otros sistemas en la Apple App Store de iOS.

Sin embargo, sí hay emuladores. Por ejemplo, determinados juegos de Sega como algún Sonic, hacen uso de un emulador de Sega Megadrive con la ROM de Sonic pre-cargada. Pero el emulador está cerrado, solo ejecuta esa ROM (que Apple sí ha podido testear) y no permite otra descarga o ejecución de código o ROM diferente. La app puede modificarse y poner otra ROM sustituyendo ficheros y funciona, pero esto no se permite de manera nativa por lo que es legal para Apple y cumple sus normas.

¿Por qué GBA4iOS se ha bloqueado?

2014-02-20-17.24.46

Apple tiene un modelo de negocio paralelo a la App Store que son las aplicaciones de empresas. Yo, como empresa, puedo pagar 299$ dólares al año y obtener un certificado de firma de mis propias apps, crearlas y distribuirlas sin pasar por Apple ni publicar en el App Store. Lo hacen miles de empresas en todo el mundo para tener su software corporativo en dispositivos gestionados donde se instala un certificado que autentifica las descargas. Así funcionan sistemas de tests de appscomo el famoso TestFlight.

Pero hay una norma básica: dichos certificados no pueden hacerse públicos para permitir la instalación de cualquier persona. Los responsables de GBA4iOS han hecho público este certificado, han roto la norma y Apple ha anulado la validez de dicho certificado.

No tiene nada que ver con lo que haga o deje de hacer la appes simple incumplimiento del programa de empresas del App Store. Aunque claro, siempre queda el truco de poner la fecha del equipo anterior a la revocación del certificado. De una forma u otra, esta comunidad ha hecho un flaco favor al resto del mundo porque ahora Apple podría restringir más las normas de los certificados de empresa, con lo que podría repercutir en este interesante negocio de B2B o uso interno y en la enorme flexibilidad que hasta ahora se tenía.

Previous Facebook compra WhatsApp por 16 mil millones de dólares
Next 5 opciones alternas a WhatsApp