Adoptando la cultura de lo abierto en la Administración Pública

Por Óscar Hernández

Tiempo de lectura: 17 minutos·12 may 2022

Imagen de blog

Ya han pasado dos años desde que la Secretaría de Salud hizo la declaratoria de la Jornada Nacional de Sana Distancia, y entraron en vigor las medidas sanitarias y de distanciamiento social para disminuir los contagios por COVID-19.

En pocos días, todos los niveles de gobierno migraron a formas de trabajo remoto, y empezó una carrera para poder ofrecer de manera digital servicios básicos que antes eran presenciales, sumado a la necesidad de tener que lidiar con la contención y mitigación de los efectos económicos y sociales de una pandemia.

La nueva realidad puso en evidencia las carencias digitales de la administración pública y fue una llamada de atención, no solo para el gobierno mexicano, sino para el mundo entero, sobre la necesidad de acelerar sus planes de transformación digital.

No fue hasta año y medio después, que el gobierno publicó el acuerdo por el que se expedía la Estrategia Digital Nacional 2021–2024 (EDN) y las políticas y disposiciones en esta materia.

Estos documentos representan la hoja de ruta para que la administración federal refuerce sus iniciativas de tecnología, alineado con el Plan de Desarrollo 2019–2024.

La EDN se basa en cinco principios fundamentales:

  1. Principio de austeridad, para lograr servicios de calidad aprovechando de la mejor manera los recursos disponibles.
  2. Principio de combate a la corrupción.
  3. Principio de eficiencia en los procesos digitales, simplificando la operación de servicios.
  4. Principio de seguridad de la información.
  5. Principio de soberanía tecnológica, para lograr autonomía e independencia tecnológica.

Tras leer estos principios, que deben guiar la transformación digital del país, inmediatamente pensamos en el papel fundamental que debe jugar la apertura, el software libre y el código abierto para la entrega efectiva de servicios digitales a las personas.

Una percepción generalizada es que el software libre es simplemente software gratuito, y en los documentos de la EDN y las Políticas y Disposiciones, pareciera que el gobierno federal lo percibe de la misma manera. En estos documentos se menciona como algo deseable, de una manera casi utilitaria, con énfasis en el ahorro de costos y sin profundizar en aspectos de por qué es realmente importante su adopción al interior de la administración pública.

Sin olvidar los riesgos y la inversión necesaria, adoptar software libre, abrir código y una cultura de apertura y colaboración, pueden traer consigo muchos beneficios clave para alcanzar los objetivos de transformación digital.

Software libre: más barato, pero no gratis

Con la llegada de la actual administración, desde el gobierno se ha hecho un énfasis especial en la denominada austeridad republicana, un llamado a que los recursos económicos se administren con eficacia, eficiencia, economía, transparencia y honradez.

En este sentido, en el Artículo 16, párrafo III de la Ley Federal de Austeridad Republicana se estipula que se debe priorizar en la administración pública federal la adquisición de programas con licencias libres en vez de con licencias propietarias, siempre que este cumpla con las características necesarias para el ejercicio de las funciones públicas.

Reutilizar soluciones puede ser mucho más barato que desarrollar una solución desde cero, y normalmente las licencias libres son gratuitas, pero es un error pensar que su uso está exento de costos, y no se debe reducir los beneficios únicamente al posible ahorro económico.

Ciertos costos simplemente se trasladan del diseño y desarrollo a la implementación y mantenimiento. Además un proyecto que reutiliza el código de un software libre tiene costos asociados de planificación, infraestructura digital y de recursos humanos con conocimientos técnicos para utilizarlo exitosamente.

Estimar el costo de desarrollo de cualquier aplicación es especialmente complicado, porque rara vez todos los requerimientos se conocen completamente al principio de un proyecto. Un beneficio de usar soluciones con licencias libres es que permite dimensionar algunos de los costos de manera predecible, y evita sorpresas como por ejemplo las subidas en los costos de licencias privativas.

Código abierto no es únicamente código

Cuando hablamos de código abierto, no solo nos referimos al código fuente de una aplicación o librería.

Con este término nos referimos a cualquier proyecto que comparte los diseños, el código fuente, la documentación, la metodología o lo que sea que permita a alguien más entender, replicar y/o modificarlo. Y por lo tanto democratiza el acceso al conocimiento, la información y la tecnología.

Esto se puede aplicar a una infinidad de cosas, desde modelos de aprendizaje automático (machine learning), scripts de procesamiento junto con los datos, ficheros editables de diseño, especificaciones de un diseño hardware (Arduino), etc.

Un ejemplo de lo abierto con gran potencial para la administración pública son los estándares de datos. Estos suelen ser desarrollados por un conjunto de actores con objetivos parecidos que se ponen de acuerdo sobre normas de intercambio de información.

Estos estándares suelen ser abiertos y cualquiera puede adoptarlos y facilita el desarrollo de sistemas interoperables y compartir aplicativos, datos e incluso infraestructura digital, con el consecuente ahorro a largo plazo.

Algunos ejemplos en México son el Estándar de Datos para las Contrataciones Abiertas y el Estándar de datos e interoperabilidad para el Sistema de Evolución Patrimonial y de Intereses de la PDN , ya adoptados por algunas dependencias.

¿El software libre es inseguro?

Una creencia generalizada es que sí es inseguro, porque se puede revisar el código fuente, ver cómo está hecho y encontrar vulnerabilidades, o simplemente pensar que no es fiable porque no tiene detrás el certificado de una gran compañía.

De entrada, ningún programa, ya sea libre o propietario, puede considerarse que no tiene errores o vulnerabilidades, especialmente si se están desarrollando nuevas funcionalidades o servicios.

Cuando una solución es propietaria, y no está disponible con licencia de libre uso, los gobiernos están a la merced de los proveedores para proveer soluciones seguras y de realizar actualizaciones cuando se encuentren vulnerabilidades. Sin embargo, cuando hablamos de código abierto, este puede ser auditado y corregido cuando se necesite sin depender de terceros.

Algunos proyectos de software libre son especialmente populares, algunos con cientos de miles o millones de descargas, por personas que lo utilizan en su contexto específico. Gracias a esto es más probable encontrar errores y reportarlos. Y como tienen acceso al código, en muchas ocasiones, son los propios usuarios los que ayudan a tapar los agujeros de seguridad y comparten sus soluciones para el resto de la comunidad.

De hecho, es cada vez más común ver compañías privadas que ofrecen incentivos para quienes lo hagan. Como ejemplos están las compañías Facebook, Netflix, LinkedIn, Twitter, IBM, RedHat y Google que hace años vieron los beneficios de publicar el código de sus desarrollos para intentar mejorarlos y hacerlos más seguros.

Todo esto no significa que el software libre sea completamente seguro, sino que al igual que ya se hace con cualquier otra tecnología, como por ejemplo los medicamentos o maquinaria industrial, es necesario evaluar qué programas o librerías se incorporan a los desarrollos del sector público con un criterio de seguridad.

Cultura de abrir código, cultura de excelencia

El software libre es un pilar fundamental del desarrollo moderno de aplicaciones, y ya casi no se concibe el desarrollo sin utilizar sistemas operativos, lenguajes, frameworks o librerías de código libres. Esto significa que en la administración pública, sin lugar a dudas, se usa software libre y de código abierto.

Pero no es lo mismo usar código abierto que tener una cultura de abrir código. Los principios fundamentales de esta son la transparencia, la colaboración y la democratización del acceso al código, datos, modelos y en general liberar la información y el conocimiento. No se trata solamente de un tema tecnológico, es sobre todo una filosofía y manera de trabajar que repercute de manera positiva en los procesos y en los resultados finales.

Adoptar esta cultura es quizás uno de los mayores beneficios que puede tener para la administración pública.

Cuando desde un principio se piensa un un proyecto para que sea abierto ocurren varias cosas:

  • Como el código va a ser abierto, se presta más atención a que el código esté bien estructurado y pensado para su posible reutilización.
  • De manera indirecta, se promueve una cultura de excelencia al interior de los equipos, porque cuando sabes que alguien puede estar mirando el código, se pone más cuidado en crear una buena solución.
  • Cuando uno de los objetivos es promover la reutilización, comentar mejor el código y la documentación se convierten en prioridades.
  • Al publicar el código, los modelos, los datos, etc, se fomenta la transparencia, aumentando la confianza con los ciudadanos, que son quienes además se benefician directamente de los proyectos. Esto es de creciente importancia con el aumento en el uso de algoritmos y modelos de inteligencia artificial para la toma de decisiones que afectan a los ciudadanos a la hora de recibir servicios. Transparentar no sólo el código, si no también los modelos, puede ayudar a prevenir discriminaciones existentes en los modelos.
  • Al publicar el código para permitir su reutilización, otras personas interesadas dentro de la administración pública o fuera, pueden revisarlo, re-utilizarlo y colaborar con nuevas mejoras.
  • Permitir que otras personas revisen el código abre la puerta a tener aplicaciones más resilientes a través de las aportaciones de terceros.
  • El software no solo es código sino también estándares. La adopción de los mismos permite ahorrar tiempo, costos y fomenta la interoperabilidad de distintos proyectos.
  • Tanto al sector privado como a la administración pública les resulta difícil atraer talento tecnológico. Pero un gobierno que trabaja de manera abierta y creando software libre es un lugar más atractivo para muchos desarrolladores.

México de código abierto

La Unión Europea, Reino Unido, Canadá y EE.UU., ya reconocen el potencial que tiene el software libre en sus estrategias digitales, lo promueven de manera activa y lo consideran parte fundamental de su estrategia macro de gobierno abierto.

La publicación de la EDN y las Políticas y Disposiciones, y el hecho de que se hable de software libre en la agenda del gobierno federal es una gran noticia. Pero hay más cosas que nos gustaría ver en México:

  1. Políticas públicas que de manera específica impulsen el software libre, tanto en los procesos de licitación con proveedores externos como en los nuevos desarrollos al interior de la administración pública.
  2. Repositorios públicos de código para que tanto los ciudadanos como otras dependencias de gobierno estén al tanto de los nuevos desarrollos y fomentar su reutilización.
  3. La creación de guías de adopción del software libre al interior de la administración pública.
  4. Evaluación de licencias libres actuales, y la creación de una guía para facilitar la elección de una para los desarrollos propios del gobierno. Una de las características principales del código abierto es la licencia bajo la que se publica el código, los datos o los modelos. Si algo no se publica bajo una licencia libre, sencillamente no es libre.
  5. Las licitaciones de nuevos desarrollos por proveedores externos deben considerar adoptar estándares abiertos, y la obligatoriedad de entregar el código fuente y de preferencia su publicación bajo licencias de libre uso. Esto fomenta la soberanía digital al no depender de proveedores y licencias propietarias, ganando independencia y control.
  6. Publicar la documentación junto con el código. Normalmente cuando hablamos de programas pensamos solo en el código, pero la documentación de un proyecto y las normas o leyes que justifican la existencia del mismo son igual de importantes y deben colocarse cerca del código.
  7. Todos los nuevos desarrollos deberían considerarse para ser publicados bajo licencias libres. Aunque no tiene mucho sentido publicar todo el código desarrollado en la administración pública, sí debería ser la norma, siempre que no se vulnere la seguridad nacional ni la privacidad de los individuos.
  8. Trabajar en abierto, con un gobierno que publica código, comunica los avances y comparte de manera frecuente en qué están trabajando y cómo lo están trabajando.

Adoptar una cultura de lo abierto no es trivial. Pero cualquier gobierno que quiera ser más eficaz y servir mejor a sus ciudadanos debe considerar el software, su código, los modelos de aprendizaje automático u otros desarrollos digitales como infraestructura digital pública, de la misma manera que lo son las carreteras, caminos o puentes, porque se han desarrollado con recursos públicos y por lo tanto son bienes públicos.

Si te interesan los proyectos de carácter cívico que hacen uso de tecnología, software libre y datos abiertos únete a la conversación en el Slack de Codeando México o en Twitter.