Software per tutti: come funzionano le comunità open source?

heart, typography, open source

heart, typography, open source

Uno studio dell’UOC descrive l’importanza dei contributori non codificati nella sostenibilità di questo tipo di progetto

I sistemi open source  sono un tipo di software che può essere liberamente modificato e distribuito. I progetti open source sono al  centro dell’infrastruttura della nostra società digitale , ma sono suscettibili di notevoli problemi di sostenibilità perché  molte persone li utilizzano ma pochissimi contribuiscono  al loro  sviluppo . Ricerca di  Javier Cánovas  (membro della  Facoltà di Informatica, Multimedialità e Telecomunicazioni dell’UOC  e ricercatore presso il gruppo Systems, Software and Models Research Lab ( SOM Research Lab ) presso l’  IN3  Internet Interdisciplinary Institute), insieme a  Jordi Cabot (professore di ricerca ICREA e capogruppo), ha analizzato i  profili degli utenti coinvolti  in questi progetti. I risultati mostrano che la presenza di contributori che non sviluppano codice è molto significativa e che esiste anche un certo grado di specializzazione tra queste persone. Secondo i ricercatori, questi dati ” demistificano l’idea che solo gli sviluppatori guidano progetti open source ” e potrebbero essere utilizzati per progettare nuove strategie per migliorare la sostenibilità di tali iniziative. 

Completare il quadro parziale dei progetti open source

La struttura dei progetti open-source dipende fondamentalmente sia dalla comunità dei contributori (che mantengono vivi i progetti) sia dalla loro collaborazione in modo attivo e arricchente. Tuttavia, la stragrande maggioranza della ricerca su queste comunità si concentra sullo studio dei profili degli utenti responsabili della programmazione e di altre attività tecniche, come la revisione o la combinazione di codice. “Questo è solo un quadro parziale di ciò in cui consiste realmente un progetto open source e di come va avanti, che è generalmente  basato su una comunità di utenti che si occupano di un’ampia varietà di compiti  (come marketing, promozione e design), che aiutano anche a redigere la documentazione o prendono parte alle discussioni sull’evoluzione futura del progetto”, ha spiegato Javier Cánovas.

Per comprendere più a fondo le dinamiche di collaborazione nei sistemi open-source, i ricercatori hanno  analizzato i 100 progetti più importanti di npm  (npm è il gestore di pacchetti per Node.js, uno dei server di applicazioni Web più popolari) trovati su GitHub, uno dei principali social piattaforma di codifica. “Questo studio ci ha permesso di verificare che  attività non codificate  (non tecniche), come segnalare un problema, suggerire un miglioramento, partecipare a una discussione o semplicemente reagire ai commenti di altre persone (ad esempio con un’emoji per comunicare accettazione di una proposta), sono  una caratteristica comune nei sistemi open-source .In effetti, la loro presenza è altamente significativa, a dimostrazione del loro coinvolgimento nella vita del progetto”, ha sottolineato Javier Cánovas.

Divisione dei compiti del progetto

Lo studio ha anche esaminato se i contributori del progetto di solito hanno un unico compito o se svolgono più compiti e, quindi, i diversi ruoli si sovrappongono. I risultati mostrano che ci sono utenti che  contribuiscono al progetto solo con attività non tecniche , che integrerebbero il lavoro delle persone che si concentrano sulla programmazione e sullo sviluppo del codice, che, al contrario,  avrebbero poco coinvolgimento in altri compiti . 

Questi dati forniscono  nuovi indizi per la progettazione di strategie di onboarding e governance  che facilitino l’evoluzione di questi utenti e una migliore collaborazione tra i vari ruoli. “Nella maggior parte dei progetti open source, gli sforzi per attirare e coinvolgere nuovi contributori sono chiaramente rivolti agli sviluppatori, ma ciò significa che perdono l’opportunità di attrarre altri tipi di profili che potrebbero essere più facili da inserire e potrebbero anche aiutare il progresso e il lungo -sostenibilità a termine del progetto”, hanno osservato gli autori dello studio. 

“In effetti”, hanno aggiunto, “i progetti interessati ad attrarre più contributori tecnici dovrebbero anche compiere uno sforzo aggiuntivo per  aiutare alcuni dei contributori non tecnici a prendere parte alla parte di programmazione , poiché questa non è un’evoluzione naturale”. 

Studiare l’evoluzione della comunità nel tempo

Questa ricerca fa parte del lavoro del  SOM Research Lab  incentrato  sull’ottimizzazione e sulla promozione della collaborazione dei contributori nei sistemi open source , che ha diverse ramificazioni. “L’aspetto più significativo in questo momento è considerare la dimensione temporale, ovvero come lo stato di un progetto e la sua comunità si evolvono nel tempo”, ha affermato il ricercatore.

Altre linee di lavoro in quest’area includono lo studio  dei meccanismi per attrarre nuovi contributori  a progetti open source, esplorare nuovi modi di  visualizzare i contributi  dei membri della comunità o proporre soluzioni per definire  regole (o modelli) di governance della comunità . 

Questo progetto di ricerca UOC contribuisce all’obiettivo di sviluppo sostenibile ( SDG ) 9 ( Industria, innovazione e infrastrutture) .

Articolo correlato

Cánovas Izquierdo, JL, Cabot, J. Sull’analisi dei ruoli non codificanti nello sviluppo open source. Empir Software Ita  27,  18 (2022). https://doi.org/10.1007/s10664-021-10061-x

%d blogger hanno fatto clic su Mi Piace per questo: