Professor dels Estudis d'Informàtica, Multimèdia i Telecomunicació de la UOC
La supervivència dels projectes ‘open source’
“L'abandonament de contribuïdors als projectes provoquen problemes de sostenibilitat en el programari lliure”
El programari lliure (Open Source Systems, OSS) proposa un procés de desenvolupament col·laboratiu on el codi és accessible i qualsevol persona que ho desitgi pot contribuir-hi. En l'actualitat, plataformes com GitHub ofereixen un lloc on desenvolupar projectes OSS, on tant el codi com les interaccions entre els desenvolupadors (per exemple, les notificacions de problemes o les propostes de millora) són accessibles lliurement. No obstant això, aquesta naturalesa tan característica del programari lliure es converteix molt sovint en la principal font de problemes, ja que l'abandonament de contribuïdors als projectes provoquen seriosos problemes de sostenibilitat.
D'aquesta manera, quan busquem projectes de programari lliure amb els quals treballar, sigui per tirar contribuir o per utilitzar-los en els nostres projectes, la sostenibilitat a llarg termini o, almenys, el seu nivell d'activitat i evolució temporal, són factors fonamentals que cal considerar per triar el projecte que millor s'ajusti als nostres objectius. Desafortunadament, la tasca d'explorar i seleccionar projectes OSS no és fàcil. Les tècniques actuals de filtratge i consulta oferts per plataformes com GitHub no són suficients per localitzar de manera efectiva bons projectes. Aquesta tasca és encara més complicada quan es tracta de triar projectes que volem assegurar-nos que continuen vius i en desenvolupament.
“L'abandonament de contribuïdors als projectes provoquen seriosos problemes de sostenibilitat en el programari lliure”
Com a part de les línies de recerca del grup SOM Research Lab de l'IN3, hem dut a terme un estudi per analitzar aquest problema mitjançant l'aplicació de l'anàlisi de supervivència als projectes de GitHub. L'estudi, juntament amb els seus resultats, el publiquem en l'article An Empirical Study on the Survival Rate of GitHub Projects el qual va ser acceptat i presentat en la conferència Mining Programari Repositories 2022. A continuació resumim els resultats i conclusions del treball, però us convidem a llegir l'article per a comprendre millor els detalls metodològics.
En l'anàlisi de supervivència es para especial atenció a l'evolució temporal de diferents aspectes d'un projecte OSS, que ens permet comprendre la seva probabilitat de supervivència. D'una forma més específica, en el nostre estudi realitzem una anàlisi quantitativa de la supervivència dels projectes OSS al llarg del temps, centrant-nos en la seva taxa de supervivència, la dinàmica d'evolució i la identificació de factors que es correlacionen positivament amb majors taxes de supervivència.
Enfoquem la nostra anàlisi en quatre ecosistemes de programari en GitHub ben coneguts: paquets per a NodeJS (NPM), paquets per a l'eina R, complements de WordPress i paquets del framework Laravel. Entre aquests ecosistemes, estudiem l'activitat d'un total de 1127 repositoris de GitHub creats en 2016 i observem la seva evolució fins a octubre de 2021. El nostre estudi va explorar dues principals vies de recerca, per a les quals us vam mostrar els seus resultats a continuació.
“Quan un projecte es deté i se centra en discussions entre els contribuïdors, és improbable que recuperi l’activitat en el codi”
En primer lloc, analitzem els diferents estats (o fases) que un projecte pot transitar durant la seva vida útil (per exemple, períodes de temps amb alta activitat i altres en els quals el projecte pot semblar mort). En estudiar l'evolució de l'activitat del projecte, l'objectiu és comprendre millor el dinamisme i els patrons d'evolució comunes de la vida dels projectes.
Els nostres resultats van demostrar que l'activitat dels projectes és intermitent, és a dir, passa d'estar viu i amb el seu codi en desenvolupament a estats morts i sense activitat; passant, curiosament, més temps sense activitat (en mitjana, aproximadament el doble). A més, quan en un projecte el desenvolupament del codi es deté i l'activitat se centra en discussions entre els contribuïdors, és molt improbable que el projecte recuperi l'activitat en el codi.
En segon lloc, enfoquem el nostre estudi a identificar projectes que han mort i quan han mort (és a dir, han estat abandonats i sense activitat provinent d'un contribuïdor). Després calculem la taxa de supervivència (és a dir, projectes morts versus vius), la qual cosa ens permetrà comprendre la capacitat de supervivència dels projectes en diverses dimensions. Els resultats demostren que més de la meitat dels projectes analitzats moren en els seus primers quatre anys. De fet, la probabilitat de supervivència és inferior al 50% més enllà del cinquè any de vida.
"Més de la meitat dels projectes analitzats moren en els seus primers quatre anys"
Aquests resultats ens ajuden a comprendre la dinàmica dels projectes de programari lliure en plataformes com GitHub i ens permeten proposar possibles vies per a intentar incrementar la seva supervivència. Per exemple, la identificació de recomanacions per a mantenir els projectes vius, la importància d'incorporar nous contribuïdors o l'impacte que poden tenir els bots en la supervivència.
Finalment, també creiem que aquests resultats són útils per a crear consciència sobre la volatilitat de Open Source projectes i els riscos assumits per moltes organitzacions que generalment confien en projectes Open Source sense parar esment a la seva salut ni a la seva sostenibilitat.