6. Repositoris de codi lliure: oberts i comunitaris

"La plataforma GitHub és el repositori de codi més popular que inclou molt del programari que utilitzem cada dia (Google, Facebook, Twitter o Airbnb, i també de governs com el francès o el nord-americà)."
"Al programari lliure, tothom hi pot contribuir, independentment del seu coneixement tècnic o de si saben o no programar."
"En projectes de programari lliure s’ha de precisar bé qui decideix, quan es decideix i com es decideix cada aspecte. Cal ser transparents en la seva governació.."

La primera condició de tot programari lliure és que el seu codi sigui obert, és a dir accessible a tothom que vulgui consultar-lo. Això podria ser tan simple com penjar el codi en un web, però la complexitat del codi font de qualsevol programari, per petit que sigui, fa que l'ús de repositoris de codi públics sigui una millor opció.

Els repositoris faciliten l'emmagatzematge i la gestió del conjunt de fitxers que formen el codi font del programari, així com les seves dependències, versions i formats. Via el repositori, els usuaris es poden descarregar la versió del programari que desitgin o seleccionar només aquells fitxers que volen examinar de més a prop. Tot i que cada organització pot instal·lar i mantenir els seus propis repositoris, és molt més útil crear aquests repositoris dins una de les grans plataformes en línia especialitzades en l'allotjament de programari. GitHub, amb més de 30 milions de projectes, és la més popular actualment i inclou molt del programari que utilitzeu cada dia (per exemple, el creat per Google, Facebook, Twitter o Airbnb o per una creixent llista de governs com el francès o el nord-americà).

Participació comunitària

Més enllà d'una major visibilitat i accessibilitat, aquestes plataformes ofereixen una sèrie d'eines per facilitar la col·laboració a l'entorn del programari. Per exemple, els usuaris poden avisar d'errors que han trobat, enregistrar peticions de noves funcionalitats o participar a les discussions públiques sobre qualsevol aspecte relacionat amb el el seu ús, tot des d'una única interfície gràfica que centralitza la comunicació.

I, de fet, és precisament aquest el gran benefici del programari lliure: permetre que tota la comunitat col·labori en la seva millora i evolució. El codi no només ha de ser obert sinó que ha de ser comunitari i respondre a les necessitats col·lectives, presents i, sobretot futures, que sense donar veu a la comunitat són impossibles d'endevinar. Tothom hi pot contribuir, independentment del seu coneixement tècnic o de si saben o no programar. Els experts poden ajudar amb millores al codi mateix, que, per exemple, solucionin errors detectats per altres usuaris no experts. Aquests darrers, al seu torn, poden contribuir millorant les guies d'usuari, moderant els fòrums, disseminant el projecte o simplement donant feedback.

Afavorir aquesta participació és crític per a l'èxit del projecte de programari, però implicar la comunitat requereix no només escoltar-la sinó també fer-li cas. Cal ser transparent en la definició de la governació del projecte per evitar alienar-la, explicant clarament com els gestors del projecte tindran en compte les contribucions de la comunitat a l'hora de prendre decisions a tots els nivells, per exemple, en definir la prioritat dels errors a corregir o en triar les funcionalitats que s’afegiran en la propera versió. S'ha de precisarqui decideix, quan es decideix i com es decideix cada aspecte del projecte.

A part de ser transparents, convindria també apoderar la comunitat, perquè no només tingui veu sinó també vot. Fins a quin nivell de democràcia es vol arribar (tothom pot votar? què es vota? quant val cada vot?) ja dependrà de la estratègia que se segueixi per a cada programari a nivell individual, però està clar que la capacitat del projecte d'atraure gent amb ganes d'ajudar i dedicar-hi temps està lligada a la percepció que aquestes persones tinguin de la valoració que es faci del seu treball.

Gràcies als repositoris i plataformes de codi actuals, no hi ha cap impediment tecnològic real per obrir el programari i començar a desenvolupar-lo de forma col·laborativa conjuntament amb la seva comunitat d'usuaris. Depèn només de nosaltres ser valents i fer aquest pas.

 

AUTOR

Jordi Cabot és Professor d’Investigació ICREA a l'IN3 (Internet Interdisciplinary Institute) de la UOC, on dirigeix el grup d'investigació en informàtica SOM, especialitzat en l'àrea d'enginyeria del programari i sobretot en l'estudi de les diferents comunitats que participen en el seu desenvolupament. El podeu trobar en línia al seu blog modeling-languages.com o a twitter @softmodeling.