«La sostenibilitat del software lliure està en risc, i si falla, pot ser un desastre»

Foto: UOC

Foto: UOC

28/11/2018
Àngels Codina
Jordi Cabot, professor d'investigació ICREA i líder del grup de recerca SOM de l'IN3

 

Doctor en Enginyeria Informàtica per la Universitat Politècnica de Catalunya, Jordi Cabot ha estat professor dels Estudis d'Informàtica, Multimèdia i Telecomunicació de la UOC; investigador visitant del Politècnic de Milà (Itàlia) i de la Universitat de Toronto (Canadà), i professor de l'École de Mines de Nantes (França), on liderava el grup de recerca Inria sobre enginyeria del programari. Cabot és l'únic investigador de l'Estat que surt en el top-20 dels investigadors consolidats en el camp de l'enginyeria del programari, segons un estudi bibliomètric publicat recentment a The Journal of Systems and Software.

Cabot es va incorporar a la UOC com a professor d'investigació ICREA el 2015, i des d'aleshores hi lidera el grup de recerca SOM (Systems, Software and Models) de l'IN3. La seva recerca s'inclou en l'àmbit de l'enginyeria del programari i té l'objectiu fonamental d'«ajudar les empreses a desenvolupar software més ràpidament i de més qualitat», en paraules de l'investigador. SOM estudia sobretot l'ús rigorós de models de programes en totes les tasques de desenvolupament i manteniment del programari. Els seus treballs els apliquen també al programari lliure, en què interessa especialment el problema de la sostenibilitat a llarg termini d'aquest tipus de projectes.

 

El programari s'acostuma a definir com la infraestructura digital de la nostra societat. Em podries explicar per què?

Perquè qualsevol cosa que fem i qualsevol dispositiu que tenim ?ja sigui el mòbil, l'ordinador, les neveres, les torradores..., és a dir, l'anomenada Internet of Things? hi està basat. La gran majoria d'aquest programari depèn ?si no tot, com a mínim una gran part? d'algun component que segueix els principis del programari lliure. Al final, tot el que fem i tot el que envolta la societat funciona, fins a un cert punt, gràcies al fet que en alguna part del programari hi ha un component que s'ha desenvolupat seguint els principis del programari lliure i l'enfocament col·laboratiu i obert.

I aquest programari lliure, qui el fa?

Aquest és el gran problema. El programari lliure és obert i tothom el pot fer servir, copiar i modificar lliurement. Tot això sona molt bé. A més, tothom hi pot contribuir. Quin és el problema? Que molt poca gent ho fa. Com tot el que és un bé comú, hi ha molta gent que l'utilitza, però molt poca gent hi contribueix. Això s'aplica al programari lliure, a la Viquipèdia o a qualsevol d'aquestes iniciatives. Perquè ens entenguem, en el cas de la Viquipèdia, per exemple, tothom hi accedeix per a aprendre coses noves, buscar-hi conceptes, trobar informació, etc., però quants de nosaltres l'hem editat? Es calcula que només l'1% de les persones hi afegeixen contingut, i això mateix passa amb el programari lliure. Per això la seva sostenibilitat és un dels grans problemes que tenim avui dia.

Què pot passar si falla el programari lliure?

Pot ser un desastre. Hi ha un exemple molt conegut d'això, el de Heartbleed. Es tracta d'un error de programari de la biblioteca de criptografia d'OpenSSL, de codi obert, que permetia als atacants potencials llegir la memòria d'un servidor web i recuperar-ne dades sensibles des del punt de vista de la privacitat. L'eina es feia servir en tots els servidors, per la qual cosa tenia, de retruc, un impacte en tots els webs i sistemes. Es va trigar almenys cinc mesos a detectar-se l'error perquè, al final, només hi havia una persona treballant-hi a temps complet. Els recursos, doncs, no eren suficients, i igual que hi va haver atacs com aquest, n'hi pot haver d'altres tipus. Per tant, si no hi ha prou gent que ajudi a monitorar i a mantenir acuradament el software lliure, en casos com aquest es pot produir una cascada d'efectes que pot afectar milions de productes.

Una de les línies de recerca del grup SOM és garantir la sostenibilitat d'aquest programari. Què proposeu fer?

Com que sabem que hi ha pocs recursos humans que es dediquin a contribuir al software lliure, el que intentem és que la comunitat que sí que hi vol contribuir s'optimitzi. Ho fem intentant millorar la comunicació entre ells i detectant àrees del programari que podrien necessitar més atenció. Ara bé, hem d'acceptar que no n'hi ha prou a millorar la comunitat que envolta el programari, perquè el problema de fons és que no hi ha prou gent que hi vulgui contribuir. El límit, per tant, està marcat pel nombre de persones que hi contribueix. Què hi podem fer? Doncs ja que no tenim gent, posem-hi robots! O bots, perquè al final són components de software. Inserim persones virtuals, o bots, dins del projecte, que seran capaços d'automatitzar moltes de les tasques repetitives. Així, identifiquem quines parts de la gestió i del manteniment del programari lliure es poden automatitzar i deixem que les tasques més creatives les facin persones. La nostra feina és desenvolupar aquests bots i mirar com poden interaccionar amb les persones de manera que siguin acceptats com a membres de la comunitat. També apliquem tècniques d'intel·ligència artificial perquè aquests bots no siguin ximples, per dir-ho així, sinó perquè puguin aprendre com funciona el projecte i puguin arribar a automatitzar tasques cada cop més complicades.

Treballeu, actualment, en algun projecte en aquest àmbit?

Estem treballant amb una empresa francesa en un projecte per a aplicar els bots a l'àmbit dels portals ciutadans. En aquest cas parlem sobretot de chatbots, és a dir, bots capaços de conversar amb el ciutadà. El nostre objectiu és veure com els bots poden ajudar la gent que accedeix, per exemple, a un portal com el de l'Ajuntament de Barcelona per a pagar un impost o per a buscar-hi informació. Un bot podria navegar per aquest web i assistir el ciutadà a l'hora de fer aquestes tasques, que sempre són més complicades del que sembla ?perquè s'han d'emplenar formularis, seguir diversos passos, etc.?; també es podria crear automàticament el chatbot a partir de la informació que ja hi ha disponible en el mateix web o en manuals interns. La idea, com sempre, és que tot sigui més ràpid de fer i més productiu.

El programari lliure neix el 1983 com un moviment idealista. El 2018, Microsoft compra per 7.500 milions de dòlars GitHub, la principal plataforma mundial de codi obert. Què ha passat entre un any i l'altre?

El que vol dir el codi obert és que una empresa, un individu o una comunitat posa a disposició de la gent les línies de codi d'un software determinat, de manera que un se'l pugui baixar. Després, es pot modificar, comercialitzar, etc. Microsoft està alliberant el codi de molts dels seus productes i, certament, està contribuint a desenvolupar productes de tercers. Bàsicament, el que fa és alliberar el codi font dels seus productes, i això es pot veure com una acció desinteressada perquè la gent vegi com es fan i els pugui adaptar o com una acció purament econòmica. En alliberar el codi font dels seus productes, Microsoft facilita que hi hagi un ecosistema de desenvolupadors que se sentiran més atrets per treballar-hi o que, potser, l'ajudaran a trobar errors que Microsoft no havia detectat. A més, també és una qüestió de marca. Al final, un dels recursos més escassos d'avui dia són els desenvolupadors, i per a una empresa és difícil trobar-ne i contractar-ne. Per això, qualsevol cosa que faciliti que els grans desenvolupadors acceptin treballar per a Microsoft l'ajudarà molt i contribuirà a millorar la seva imatge de marca dins de la comunitat de desenvolupadors.

En el camp del programari lliure, on creus que serem en els pròxims cinc o deu anys?

Penso que no hi ha marxa enrere. D'una banda, cada cop més, la gent exigirà que tot el que compra estigui disponible per si en algun moment necessita adaptar-ho o per si l'empresa que hi ha darrere d'aquell programari tanca. De l'altra, crec que el software està envaint cada cop més la nostra vida ?el que dèiem abans de la internet de les coses n'és el gran exemple. Al final, qualsevol aparell de casa nostra conté una part més o menys important de programari. Cada cop veurem més usuaris finals que, d'alguna manera, voldran ser capaços de crear o, més que crear, adaptar i compondre programari que respongui realment a les seves necessitats individuals. Fa anys que es diu la frase software is eating the world, i cada cop és més certa.

Ja per a acabar, ens podries recomanar alguna obra ?una pel·lícula, una sèrie, una novel·la, etc.? que, d'alguna manera, tracti els temes que aborda la teva recerca?

De la meva recerca en concret, és difícil. D'informàtica, sí que puc recomanar una sèrie i un llibre. Ja aviso que, com que ja penso tot el dia, en els moments d'esbarjo busco sèries i llibres poc intel·lectuals, que no em facin pensar. El primer llibre que recomanaria és l'últim de Dan Brown, Origen. El perquè és molt senzill: el nostre estimat Barcelona Supercomputing Center - Centre Nacional de Supercomputació hi té un paper important ?no diré res més? i hi surt un catedràtic conegut de la Universitat Politècnica de Catalunya. Trobo curiós que Barcelona i la seva informàtica tinguin un paper tan rellevant en un número u de vendes mundial, en aquest best-seller increïble. Pel que fa a la sèrie, em va agradar molt Person of Interest. Va d'uns informàtics que creen un ordinador capaç de predir possibles actes violents en el futur i que acaba adquirint consciència de si mateix. Al començament, la sèrie és eminentment policíaca, però desemboca en el tema de fins a quin punt s'ha donat massa poder a les màquines i planteja qüestions ètiques i la por que es pot tenir de la superintel·ligència. Val molt la pena veure-la.