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.

Volta de clau a la seguretat digital

El mètode més habitual per securitzar una web, una aplicació o un ordinador acostumen a ser els passwords. És el mètode de seguretat digital nadiu per defecte: es basa en alguna cosa que sabem, en el coneixement. Però per més que els guardem encriptats i en fitxers protegits o es donin consells per crear-los molt segurs, els passwords son la baula més dèbil de la cadena de la seguretat: la gent acostuma a fer-ne servir els mateixos, o no vigila gaire on els posa (phising o tècniques d’enginyeria social per aconseguir-los).

Per intentar solucionar aquests problemes la seguretat evoluciona: el reconeixement òptic, les empremtes per securitzar un dispositiu, els certificats digitals o els mètodes de login en dos passos (enviant un identificador al mòbil que després s’ha d’entrar a la web, per exemple). L’usuari (el seu comportament) no és fiable, com és, el que té, o forçar-lo a fixar l’atenció (dos passos) ja ho és més.

Ara Google, Yahoo o Microsoft comencen a provar mètodes d’identificació sense login i en un sol pas, derivant la identificació directament cap al nostre mòbil: volem entrar en un lloc, aquest ens avisa en el nostre mòbil (mitjançant una app) que validem l’entrada i ale-hop!, ja estem dins de la web al dispositiu inicial. Fàcil, molt fàcil, sembla. I segurament, a nivell general, incrementaran la seguretat (nota: un altre motiu per incrementar la seguretat dels nostres mòbils).

Ara bé,: aquests nous mètodes i dispositius no seran accessibles per tothom, només per aquells que tinguin smartphones capaços d’executar les aplicacions. La resta, o qui ho vulgui, podrà seguir fent servir la identificació amb el password tradicional (fins i tot en la identificació amb doble pas no calia tenir un smartphone, només havies de poder un sms amb el pin).

El temps ens confirmarà la utilitat i la fiabilitat d’aquests mètodes.

Però es constata una tendència a basar la seguretat no en allò que sabem (els passwords), sinó en allò que som (retina, empremta dactilar) o, cada vegada més, en allò que tenim.

Una curiosa volta de clau a la seguretat digital: basar-la cada vegada més en allò que tenim, com en la seguretat de tota la vida: qui no té la clau, no entra – només que la clau sembla, cada vegada més, un smartphone.

Outliner, Markdown i fitxers de text

He fet alguns retocs a la definició de l’outliner que vaig fer per Notepad++:

  • Petits canvis d’edició (números, comentaris)
  • Afegides paraules claus en castellà i anglès
  • Adaptació gràfica al tema Twilight

L’adaptació gràfica a un nou tema vé donada perquè combino l’ús de l’outliner amb fitxers de text fets amb Markdown (uso un mode de Markdown per l’editor que també usa el tema Twilight).

Aquests dos modes, junt amb la característica d’enllaços clickables del mateix editor em permet tenir un sistema complet d’informació, enllaçat i fàcil de mantenir:

  • Tasques, programació (què faig, objectius, estat)
  • Documentació de suport a les tasques (Markdown facilita la visualització de la informació)
  • Documentació de suport a projectes, plataformes, etc
  • Enllaços entre documents només marcant l’adreça (http://, file://)
  • Fàcil edició: només s’edita en mode text, no cal preocupar-se d’estils
  • Fàcil explotació (cerques, aniuaments)
  • Fàcil exportació: son fitxers de text

Millorar l’ample de banda i els accessos al WordPress

Una de les feines de tenir el blog en un hosting propi és que, de tant en tant, cal fer de sysadmin per tenir-ho tot al dia i que els consums de xarxa no es disparin.

Fa tres mesos va ser això el que em va passar: va començar a augmentar el consum d’ample de banda, arribant de vegades a la quota que tinc contractada… un desastre! Així que va tocar pujar-se de mànigues i entrar a treballar.

Per algun motiu, els consums anaven sense control, i no era pas per un augment de visites… Després de mirar i mirar, he arribat a la conclusió que tot plegat venia donat per més d’un motiu:

  1. Accés de molts robots molt continuat
  2. Intents d’accés a adreces d’administració
  3. Pes de la pagina massa gran

L’accés d’un número de crawlers gran, que fan accessos tothora, incontrolats, multiplicat pel pes excessiu de la plana va fer que el consum augmentés, sense que ho fessin les visites (les estadístiques d’accés marcaven molt tràfic no registrat -el dels robots- i tamanys de pàgina de fins a 180 KB!, i moltes vegades en hores estranyes).

Després d’aplicar un seguit de mesures, he anat vigilant el consum d’ample de banda i els accessos i han baixat espectacularment (no sé quin tant per cent pot tenir cada factor, però han baixat tant els tamanys de la pagina servida com el número d’accessos per robots i fins i tot els accessos -intents- a adreces d’administració, cgi…)

El controls que he aplicat i els llocs on he trobat informació son aquests:

1. Definir un fitxer robots.txt més refinat que el que hi ha per defecte, indicant

2. Tallar l’accés als robots (o intentar mesurar-lo) mitjançant .htaccess.

3. Reduir el tamany de la plana. En el meu cas, no cal que cada plana sigui una landing page i tingui tota la informació del blog i mil i un artefactes per navegar…

  • Escollir un tema que no sigui gràficament molt carregat (per més caches que posem, si eliminem imatges baixem pes, és així de simple)
  • A nivell de disseny, podem carregar el blog amb efectes de desplegables, carrussels, menús i moltes coses més… però cal plantejar-se si la navegació és la que volem o pot ser carregós.
  • Exemple: un canvi en el plugin d’arxiu (l’anterior –Moo Collapsing Archives– generava una llista sencera, ordenada per mesos i anys de tots els posts… no calia. L’actual –Compact Archives– genera una llista molt més compacta). Només això ha aprimat les planes 100 KB.

Un outliner per gestionar tasques

Els diferents mètodes per organitzar tasques pròpies no marquen, normalment, cap eina: és elecció personal de cadascú triar-ne una.

Així, uns usaran outliners (on-line o d’escriptori), altres potser el mateix gestor de correu via carpetes o alguna eina tipus One Note o Lotus, i els més durs usaran emacs amb org-mode).

Després de provar-ne algunes, el que més valoro és:

  • que sigui una eina senzilla
  • ràpida i lleugera (poca càrrega de memòria)
  • facilitat d’instal·lació i gestió
  • que no em tingui lligat per cap format propietari en guardar dades
  • que pugui substituir-lo ràpidament per alguna altra eina
  • que pugui explotar les dades senzillament.

Veient això, finalment m’he decidit per usar un simple fitxer de text, guardant les tasques agrupades per dies i posant una mena d’etiquetes. Tot plegat, com usar un org-mode “sui generis”.

El que faig és guardar les tasques en un document amb aquesta pinta:

13-03-2014 ***
2014-03-13  PDT [CE0371] Ercnffne thv tenpvó qr [rEhoevpn], pbzc
2014-03-13  FET [CE0312] Erivfne rf aúzrebf qr frevr
2014-03-13  FET [CE0022] CZnegn. N sre + cebi nare, dhrqb craqrag
2014-03-13  CUR [CE0357] Pbzcebine shapvbanzrag gf abh freivqbe.
---

14-03-2014 ***
2014-03-14  PDT [CE0371] Ercnff rtenpvó qr [rEhoevpn] v JPP.
2014-03-14  PDT [CE0312] Erivfne  gf, j qr yn GO0071 n yn GO0078
2014-03-14  PDT [CE0312] Raivne er vó ZNPf/IVQZ n Vina. C npvó
2014-03-14  PDT [CE0022] Ervfne fv nzo >>fvtovb/pb  f'raivra ryf< <
2014-03-14  PDT [Frh] Frzof geàzvgf f'rfobeen ha qryf qbf v f'nffvtar
2014-03-14  PDT [Frh] Erivfne credhè f gevtn gnag ra pneertne. 
2014-03-14  PDT [CE0369] Ercnffne qbphzrag q'nedgvyb raivng cre.
---

Setmana ***
2014-03-14  CUR [Setm] Cercn  nygerf [CE0312] (ahzrrf n Vina)
2014-03-14  OK  [Setm] Svanyvgmne ceb cre [CE00222], qrvkn
2014-03-14  CUR [Setm] Qrsvave pbawra cre [CE0352], cebtenzne
2014-03-14  CUR [Setm] Qrvkne gnapnqn ctenqr rEhoevpn [CE0371], nzo
2014-03-14  CUR [Setm] Rayyrfgve freivqbe qr ceegn [CE0357]
---

Com funciona?

  • Guardo les tasques agrupades per dies, i em fixo uns objectius setmanals.
  • Una vegada feta la setmana, les tasques diàries es van agrupant per mesos, i el fitxer va per anys.
  • Format: la primera columna és la data, la segona és l'estat, la tercera l'etiqueta principal i després vé la descripció, que pot incloure tags.
  • estat:
    • PDT Pendent
    • CUR En curs
    • FET Fet
    • REV Revisar
    • POS Posposat
    • OK i KO per tasques setmanals
  • [] marquen etiquetes, que es poden fer servir per remarcar projectes, aplicacions...
  • *** i --- marquen inicis/finals d'agrupacions
  • >> i << marquen l'inici/final de blocs destacats

Senzill, no costa res d'omplir i em permet fer una explotació posterior per projectes o per objectius complerts, o cercar dies o feines...

Per exemple:

  • amb
    grep -o -h "\[.*[^{Setm}]\]" Tasques.notes > resultat.txt

    es poden extreure tots els projectes de la primera columna, i tenim una idea de amb què hem estat treballant (podem fer-ho de tot un fitxer, o seleccionar el període que ens interessi, o combinar fitxers de diversos anys...)

  • Es poden fer cerques per tags (etiquetes entre []) i veure com evoluciona aquella feina
  • Es poden fer núvols de tags per veure què ocupa més el nostre temps

També és veritat que un fitxer de text pla costa de llegir si és una llista extensa, i com que les tasques creixen i creixen, el fitxer on es guarden també ho fa, així que per facilitar la visualització i gestió de les tasques, m'he definit un mode outliner per notepad++, que em permet:

  • Identificar per colors l'estat de les tasques
  • Trobar fàcilment projectes, etiquetes, feines
  • Remarcar comentaris o textos importants
  • Agrupar/desagrupar grups de línies (útil per tancar dies, setmanes, mesos, notes).

Amb una captura de pantalla s'entén millor:

captura_outliner

(els blocs s'obren/tanquen per facilitar el desplaçament entre dies, serveixen per crear notes i es poden aniuar)

La definició del mode és a GitHub, i es pot modificar com es vulgui (el mode té associada l'extensió ".notes" i està associat a un tema fosc, si el proveu).