La crisis del coronavirus

El Gobierno publica un código incompleto y confuso de la ‘app’ Radar Covid

La liberación del ‘software’ es un hito en la Administración española que permitirá a programadores externos comprobar el funcionamiento real de la aplicación

Radar Covid, la app del Gobierno de España.
Radar Covid, la app del Gobierno de España.

La esperada publicación del código de la aplicación Radar Covid no fue un éxito. La Administración ha logrado el hito notable de liberar el software de la aplicación móvil pública española con un récord de descargas más rápido y extenso: lleva 3,7 millones. Pero el gesto no parece que vaya a colmar las expectativas de más de 200 académicos españoles que firmaron un manifiesto a favor de la transparencia en el desarrollo de software público. La buena intención se ha quedado, por ahora, a mitad de camino.

El debate no está de momento en si la app es segura o si esconde en el código errores o trampas que no deberían estar ahí. Uno de los grandes objetivos de la liberación del código es responder esas preguntas. “Se trata de un ejercicio de transparencia para que el funcionamiento de la aplicación pueda ser auditado de forma abierta y directa por parte de la ciudadanía”, dice Carme Artigas, secretaría de Estado de Digitalización e Inteligencia Artificial, encargada de la app. El contenido se encuentra disponible en GitHub.

Pero antes de que se pueda analizar a fondo, al rato de liberarse el código, la comunidad de desarrolladores empezó a debatir sobre un par de cuestiones centrales. La primera era: ¿cómo sabemos que el código publicado es el que está en la app que llevamos en el móvil? Esto sería fácil de comprobar si la aplicación del móvil pudiera descompilarse sin problema, pero el código está ofuscado. La ofuscación del código es una práctica común: sirve para esconder detalles que impiden la copia. Pero en el caso de una app cuyo código será libre tiene poco sentido usar esta técnica.

Aun así, entre las sombras de ese código se ve que hay líneas y ficheros que no coinciden con lo publicado en GitHub, que es el repositorio habitual donde los desarrolladores publican y comentan código abierto. “Cualquier desarrollador Android puede descompilar la aplicación que está disponible en la Play Store y verificar que existen ciertas diferencias”, dice el informático Raúl Martínez o @RME. “Probablemente no sea nada grave y se trate solamente de que han retirado métodos antiguos. Esto no significa que dude de su eficacia o su seguridad, simplemente que no es una buena práctica”, añade.

Pero si el código de las dos versiones es distinto, ¿cómo saber cómo es el que funciona en nuestros móviles? “Genera desconfianza porque seguimos igual que ayer”, dice David Barragán, cofundador y desarrollador de software en Kaleidos Open Source. “Tenemos en el móvil una app de la que no conocemos el código, y tenemos un código publicado que no vale porque no coincide con el de la app. ¿Qué otras cosas puede esconder si no son iguales?”, explica.

El caso se convierte en más misterioso cuando, a preguntas de EL PAÍS, la Secretaría de Estado de Digitalización e Inteligencia Artificial, niega que las dos versiones sean distintas: “La versión ofuscada es la misma que hay en GitHub”, dicen fuentes oficiales. ¿Cuál puede ser el motivo de este desajuste? “En mi opinión el equipo de desarrollo ha estado limpiando el código para subirlo pero sin dar tiempo a subir esa nueva versión a la Play Store. Igual la secretaría de Estado no está al corriente”, explica Martínez (@RME).

En la próxima actualización, que será aproximadamente el 15 de septiembre (según fuentes oficiales), el código de la versión Android de Radar Covid irá ya desofuscado. Entonces será ya plenamente posible comparar ambas versiones y quizá ver qué ha pasado. En todo caso, es una petición que un programador ya ha hecho en GitHub.

Solo la última versión

El segundo gran problema es la falta de contexto en el código. Solo se ha publicado la última versión, sin más. “Lo más importante es que nos falta el histórico. Es una parte esencial. No sabemos cuándo empezó, como se ha ido construyendo, sobre qué bases ni qué decisiones se han ido tomando”, dice Jorge J. Ramos, desarrollador independiente. “Esa información es básica para programadores. Si entras en los repositorios de las apps italiana o alemana los históricos están desde mayo”, añade.

Esta falta de documentación que se produce a lo largo del proceso es “muy laboriosa de hacer”, según Ramos. “¿Si no la han sacado quiere decir que no la tienen?”, se pregunta. No se sabe. Solo se sabe que el programador de Indra que subió el código a GitHub lamentaba públicamente en Twitter este miércoles por la noche la falta de comprensión de la comunidad ante las críticas que estaba recibiendo el código. Además, decía, porque "no se sabe el contexto”.

Una de las pruebas de que el proceso de publicación del código ha sido hecho con prisa es que quedaban claves privadas o restos del código del piloto de La Gomera que no deberían estar ahí. Mientras, las issues (cuestiones, dudas, problemas) planteadas en GitHub por un buen puñado de programadores no cesa de crecer. El análisis detallado de cada función del código está por llegar.

La liberación del código ha sido un foco constante de críticas por buena parte de la comunidad tecnológica. El sábado pasado, más de un centenar de académicos firmó una carta en la que exigía al Ejecutivo unos mínimos necesarios para que el open source fuera realmente exitoso. Para ellos, conocer la programación es esencial, pero insuficiente. La transparencia debe ser absoluta. “La apertura del código debe ir acompañada de la documentación e información completas, a fin de que la comunidad científica y la sociedad civil tengan la capacidad de escrutinio necesaria para identificar puntos a mejorar y contribuir a desarrollar y desplegar Radar Covid conforme a los más altos estándares”, exponían los firmantes.

Hasta el momento, la app de rastreo de contagios está implantada en 13 comunidades —todavía faltan por sumarse Galicia, País Vasco, Cataluña y Castilla-La Mancha—, un 70% de todo el territorio. Esto no implica que funcione porque aún varias regiones están en pleno desarrollo de pruebas piloto. “El código abierto permite también mostrar públicamente el funcionamiento interno de la aplicación para que la ciudadanía pueda tener confianza plena en que la seguridad y la privacidad han sido los principios centrales que sustentan la creación de esta herramienta”, destaca la secretaría de Estado.

Nuevas versiones disponibles

“La última versión disponible de la aplicación pasa a estar disponible para la comunidad bajo la licencia Mozilla Public License 2.0, la misma que utiliza el proyecto DP-3T, protocolo con el que se ha trabajado durante el desarrollo de Radar Covid. Se publicarán, además, sucesivas actualizaciones conforme vayan estando disponibles las nuevas versiones de la aplicación”, afirman fuentes oficiales.

Puedes seguir a EL PAÍS TECNOLOGÍA RETINA en Facebook, Twitter, Instagram o suscribirte aquí a nuestra Newsletter.

Información sobre el coronavirus

- Aquí puede seguir la última hora sobre la evolución de la pandemia

- Así evoluciona la curva del coronavirus en España y en cada autonomía

- Descárguese la aplicación de rastreo para España

- Buscador: La nueva normalidad por municipios

- Guía de actuación ante la enfermedad

Más información

Lo más visto en...

Top 50