Perquè els governs encara no comparteixen el codi de les seves aplicacions

Il·lustració de pantalla amb codi font

Que els governs i l’administració en general haurien d’usar software lliure i formats de dades lliures és quelcom que avui en el que la gran majoria estem d’acord, i que molts, a més, compartim i creiem.

De fet, cal fer un pas més i compartir el codi font de les aplicacions pròpies, no només usar les creades. Els beneficis son múltiples i per citar-ne alguns de manera ràpida:

  • Eficiència econòmica (estalvi de llicències, economia d’escala, reaprofitament de serveis ja generats)
  • Impacte sobre els serveis públics (estandarització de procediments, facilitació dels accessos, usabilitat, no dependència de tecnologies concretes)
  • Transparència i rendiment de comptes (obertura de procediments, transparència, revisió dels mecanismes de funcionament)
  • Impacte social (impuls d’estàndars de facte, generació d’economia de serveis)

La qüestió és perquè no s’usa ja a major escala? Perquè encara s’usa tan software privatiu i no es comparteix el codi?

Les causes son múltiples, i atacar-les totes a l’hora no és gens fàcil.

  • No és únicament un canvi tecnològic, és un canvi cultural de la organització.
  • El canvi s’ha de fer de manera gradual, per no aturar cap servei, i això implica que tot canvi s’ha de fer preveient la convivència entre l’ús de software i dades en formats privatius i software i dades en formats oberts, el que complica aquest pas.
  • L’impacte econòmic del canvi és molt, molt gran. Per més que s’usi software lliure i es comparteixi, no és bufar i fer ampolles. Sembla una obvietat dir-ho, però no l’és: el software per si és coneixement i valuós, però cal aplicar-ho, desplegar-ho i integrar-ho perquè sigui operatiu, i això vol dir recursos interns o bé contractació de serveis externs a l’administració per fer-ho. Que genera impacte en un ecosistema d’empreses tecnològiques local? Sens dubte, però alguns d’aquests impactes, seran molt grans.
  • L’administració no és una única organització. Són moltes organitzacions, a molts nivells, tots fent coses similars. Aquesta fragmentació i alhora similitud d’objectius i, per tant, càrrega de feina, fa que costi molt crear sinèrgies entre els diferents elements: el marc legal i els objectius poden ser els mateixos i molt similars, però l’aplicació pot variar molt i sense una normalització del funcionament, no es pot utilitzar una mateixa eina (que reflecteix un funcionament, uns processos)
  • Sinèrgies entre administracions: el software lliure és també una filosofia, més enllà del codi: compartir coneixement, reaprofitar-lo. Aplicar el software lliure a la administració és aplicar també aquesta filosofia, doncs (el primer punt), i això vol dir crear sinèrgies no només a nivell tencològic entre administracions similars (equips de treball comú, establiment d’objectius) sino compartir pressupostos, inversions i despeses, o normalitzar processos i funcionaments per adaptar-nos al software (adaptar-se a l’eina).
  • Fa molts anys que l’administració està informatitzada: això vol dir un històric molt gran a compatibilitzar, i una dispersió de tecnologies i llenguatges important. Usar les mateixes eines, compartir codi, és també unificar les eines ja usades i compatibilitzar-ne l’ús cap enrere.
  • Existeix molt software privatiu (i no és MS Office) desplegat i instal·lat a les administracions que suporta processos clau. Substituir-lo per un altre software sempre és un problema (repte?), per més robust (i obert) que aquest sigui.
  • L’administració no és un ens aïllat. Conviu i interactua tant amb la ciutadania com amb les empreses, i això vol dir que haurà de conviure (ser compatible, en termes informàtics) amb el que usi la ciutadania (acceptar documents en word o excel, treballar amb documents autocad, per exemple). Es pot usar a nivell intern, però no imposar a nivell extern.
  • La complexitat i diversitat del software usat és molt, molt gran: Des de la gestió tributària o la gestió administrativa a la gestió dels serveis de la ciutat, des de la gestió de policía o serveis socials fins a la connexió interadministrativa i reús de dades via serveis web, de la gestió dels arxius a la necessitat de la gestió documental integral, la supressió del paper o la integració amb el ciutadà digital, el govern obert i mecanismes de participació continua…
  • Tots aquests canvis no es poden fer de manera ràpida: l’afectació a serveis dels que depèn la ciutadania no es deixar de tenir en compte!

El canvi, doncs, va molt més enllà del posar OpenOffice o usar Linux en estacions de treball (tot i que només això ja és un pas en la bona direcció), i és un canvi molt profund, que ha de transmetre’s a tota la organització que l’ha de fer.

Quo vadis, certificat?

El pal de paller de les polítiques de seguretat i identificació a la xarxa son els certificats: una criptografia robusta i el reconeixement jurídic de l’equivalència amb la signatura manuscrita fan que siguin la tecnologia ideal per a la seguretat.

Però totes aquestes bondats tecnològiques no acaben de quadrar amb la facilitat d’ús rapidesa, comodització i descuit que comporten les aplicacions, dispositius i el públic d’avui en dia, i el poc suport per part dels fabricants no ho facilita.

Per fer la correcta gestió d’un certificat t’has de personar físicament en un lloc, demostrar que ets tu (o portar uns poders, imagina’t!), després instal·lar-te’l en un o varis dispositius que usis (si es pot), tenir-ne cura i vigilar que no te’l robin i encara després, anar-lo renovant.

En un entorn empresarial/professional això té un sentit i aquestes feines es fan i amb diferents suports (certificats software, targes criptogràfiques, o amb HSMs), però ves i diga-li a un ciutadà mitjà que ha de fer això. La gran majoria faran una ganyota, uns quants ho faran i l’usaran i un grup més petit encara es molestarà en entendre el perquè de tot plegat (sense entrar en raons tècniques).

S’entén doncs la poca expansió de l’ús de certificats malgrat els anys que fa que n’hi han, malgrat les campanyes per exemple del DNIe o de l’idCAT (en diferents suports) o l’impuls a la e-Administració. El que més ha triomfat és el de FNMT, i perquè l’usa Hisenda per tal que presentis la declaració de la renda.

A tot això, suma-li que està pensat (o es molt més còmode fer-lo anar) sobre un ordinador, i encara tindràs menys ús, perquè el que es demana cada vegada més és mobilitat (telèfon o tablet), i aquí si que topem amb un mur.

Vist això, als certificats, com els coneixem fins ara, no els veig gaire futur.

Desapareixeran? No, és clar que no. A la banda servidor seguiran existint, en el mon empresarial també… però en el dia a dia dels usuaris acabaran desapareixent… de les interfícies.

Signatura biomètrica
Els seguirem trobant, però darrere de solucions portàtils com signatures biomètriques, identificacions i claus d’un sol ús enviades al mòbil, proves de coneixença (preguntes) o similars
. Totes aquestes tecnologies, que no requereixen d’anar carregant ni custodiant un certificat software o hardware, o que es basen en aparells (mòbils) que tots portem a sobre, son les que ens anirem trobant cada vegada més.

La mobilitat i per tant la comodització de les solucions allunyen cada vegada més l’usuari final de fer-se càrrec de la seva pròpia identitat amb mitjans digitals propis, i deixen aquestes proves a càrrec de tercers que seran els que generin el certificat a partir de claus d’un sol ús generades amb dades numèriques que només l’usuari pot haver produït/saber/posseir.

I els sistemes jurídics que donen validesa a tots aquests processos s’acabaran adaptant a aquestes tecnologies.

Així que seguirem tenint certificats, i usant-los, però segurament sense gairebé adonar-nos-en que ho fem.

Java, certificats i e-Administració: més difícil encara


Google ha deixat de donar suport a Java des de setembre, Microsoft no suporta certificats digitals a Edge, l’API criptogràfica del W3c no arrenca, el suport per certificats no és fàcil a Linux…

Fet i fet, la e-administració sembla que té els peus de fang, o que li estan fent el llit.

Per treballar on-line amb l’Administració (sigui quina sigui) necessitem certificats per identificar-nos de manera segura i fiable (jurídicament fiable, de manera que es pugui demostrar qui som davant de tercers i els nostres actes tinguin validesa – per això la identificació usuari/password no és vàlida en tots els casos) i, si volem signar des del navegador, actualment java és la única tecnología “universal” a la banda client (mentre els fabricants de navegadors no implementin completament la API del W3C).

Però precisament aquests dos son els grans problemes que hi ha:

  • Els certificats: complicats d’usar, gestionar i entendre, magatzems diferents on guardar-los (Windows, Mac, Linux, Firefox per la seva banda), suports que tremolen (Edge), suport discutible i poca usabilitat (DNIe), finalitats del certificat, validesa…
  • Java: és pesat, les actualitzacions contínues son un calvari per usuaris i administració, no té suport complert a tots els sistemes operatius, i cadascú té versions diferents… un malson de manteniment per als informàtics i una font de disgustos per als usuaris.

Si a tot això hi afegim la necessitat i complexitat de donar també servei i facilitats en mobilitat, la cosa ja pinta negra, negra.

Hi ha solucions, alternatives (l’esmentada API, eines de signatura biomètrica que faciliten la vida a l’usuari , iniciatives com cl@ve) però la mateixa manera de fer de l’Administració (els seus propis requeriments administratius i jurídics) no ho facilita:

  • Què entenem per signatura? Documents signats, o accions signades i validades mitjançant un password o un pin?
  • Guardem documents? Això vol dir pdf signats? O ens valdria signar xml’s, afegint-hi una prova mitjançant una clau d’un sol ús generada a partir d’un password?
  • Si no s’usen certificats, com es construeix la representació de poders, com identifiquem representants, etc? Quan se sap com signo amb un certificat privat o un de pertanyença a una empresa, per fer determinat tipus de tràmits?
  • Si no s’usen signatures amb certificats, sinó altres tipus de signatures o comprovants signats (imaginem accions validades amb PINs), com demostrem la validesa davant de tercers? Serà universal, interoperable? Seran solucions compatibles amb el món privat?
  • Si s’usen eines com el DNI en el núvol, quina infraestructura caldrà? Federacions de HSM? Qui les mantindria? Com s’entendrien? No fem a l’usuari massa depenent de l’Administració?

I si generem signatures dependents d’entorns, circumstàncies o dades foranes, com assegurem la validesa a llarg termini? Com es guardarien les dades que ens asseguressin la fiabilitat de la signatura/comprovant?

No és que no es pugui fer, però el tancament de camins tecnològics per part dels fabricants sembla portar-nos a un redibuix de tota l’estructura de suport a la eAdministració que teníem fins ara…

Escric aquest article bastant a rajaploma, així que segurament molts dels arguments i idees exposats son discutibles i puntualitzables, en sóc molt conscient, i sempre trobarem nous camins i sortiran noves alternatives i solucions tecnològiques…

De tot això, però, en podem treure dos lliçons des de ja:

  • Cal que la tecnologia s’adapti a la eAdministració: cal tenir en compte factors com seguretat, facilitat d’ús, independència, validesa a llarg termini, autocontenció de les dades…
  • Cal que l’Administració es simplifiqui per facilitar l’ús, l’adopció i l’adaptació a la tecnologia.

Equips i compartició de coneixements: una millor Administració

Al I Congrés de Govern Digital s’hi van dir coses interessants (vegeu-ne el resum de la XIP), jo m’en quedo amb dues

[..]encara que les administracions no han estat dissenyades per innovar, és inajornable marcar-se reptes, que ajudin a implementar idees innovadores per canviar les rutines ineficients actuals.

[..]governança de la transició a la digitalització, gestió de recursos humans, reutilització del coneixement, col·laboració pública i privada, compartició d’infraestructures, transició de productes a serveis, interoperabilitat, seguretat, presència a les xarxes socials, gestió del funcionament de les ciutats i de les necessitats dels habitants.

Per tant, smart cities, si, i transparència i opendata, però és cada vegada més imperatiu un canvi de les formes de treballar: no ens podem saltar els marcs legals, garants d’una correcta actuació, però no caldria potser actualitzar-los d’acord amb les noves possibilitats? I no caldria ja, sobretot, no només modernitzar les eines sino també modernitzar els processos i els funcionaments interns, flexibilitzar les estructures i les tasques de cada un, donar més llibertat i responsabilitat als diferents actors?

En l’àmbit de les TI, ho esmenta adalt: col·laboració pública i privada i interoperabilitat, i també la compartició d’infrastructures (les administracions com a plataforma?) o, fins i tot, la compartició de coneixement i d’eines: seria viable, un repositori comú, à la github, per desenvolupar eines comuns i fer les particularitzacions necessàries? Com aconseguir usar a nivell intra i interadminstratiu eines col·laboratives per compartir coneixements i experiències? Podem aplicar uns esquemes de treball col·laboratius similars als del món del sofware lliure, crear comunitats que tirin del carro?

Penso que cal establir relacions de confiança fermes en l’àmbit intern, que només poden provenir de treballar amb qualitat i ser efectius en les tasques pròpies: això és el que realment pot donar seguretat als altres i permetre formar equips de treballs basats en la col·laboració, base per una compartició posterior a més gran nivell.

Cal la transició d’una jerarquia departamental, d’uns grups establerts per criteris administratius a uns equips de treballs establerts per habilitats (meritocràcia) i amb objectius definits.

Les administracions com a plataforma

Usar els serveis propis del govern com una plataforma que pugui ser usada per tercers és una molt bona idea. En Dave Briggs explica i expandeix una idea inicial del Servei Digital del Govern Britànic en aquest sentit.

Blocs de construcció

Si utilitzem les diferents peces que componen els diferents sistemes com elements intercanviables que poden ser usats en diversos llocs, en comptes de repetir funcionalitats en sistemes verticals, estalviem despeses, reduim temps i facilitem el manteniment. I si a això hi afegim la possibilitat de reutilitzar aquestes mateixes peces en sistemes foranis al nostre, però amb les mateixes o similars necessitats, ja no només som nosaltres qui estalviem, l’estalvi és ara compartit també per la resta d’usuaris.

Com el mateix Dave diu, és una aproximació a una arquitectura orientada a serveis.

Fins aqui, sobre el paper, i sobre una única administració que doni servei a d’altres (siguin empreses, particulars o altres administracions) tot clar.

Però com apliquem aquesta reutilització a una estructura de govern de diversos nivells? Pensem en Catalunya, i apliquem els dos nivells de govern més propers: local i autonòmic.

Com fem que aquests dos nivells comparteixin aquestes peces? Segur que tenen elements comuns entre els diferents nivells, i està clar que tots els ajuntaments tenen les mateixes obligacions i necessitats, per tant sembla fàcil, en teoria, començar a pensar aquests blocs.

Però després resulta que cada casa aplica la seva recepta: les seves ordenances, les seves característiques i estructures de dades, i cadascú té unes regles de negoci similars però no iguals.

Això implica que el sistema a construir ha de ser enormement flexible, parametritzable i modular, per no parlar de les diferents tecnologies i llenguatjes que cadascú té a casa seva.

Així, com ho fem? Dissenyem un sistema tipus SaaS, parametritzable, però centralitzat i coordinat per algú? Es generen unes forges comunes a tothom, amb exemples en diferents llenguatjes i uns repositoris públics que es vagin actualitzant? I els grups de treball? Horitzontals, o liderats per algú? Podem usar un model de coneixement i programació similar al de l’Open Source, crear comunitats i establir ponts, distribuir coneixement i aprofitar esforços?

Els reptes tècnics i de coordinació son enormes, pero la idea és molt interessant i és la direcció en la que cal treballar per aprofitar millor recursos i coneixements.