Nel mondo open source gli sviluppatori più capaci riescono spesso ad ottenere posizioni di rilievo nei progetti software con cui collaborano così come all'interno delle aziende di settore. Non è raro infatti che, dopo essersi costruiti una buona reputazione, i developer indipendenti vengano assunti da una compagnia tech di alto livello.
Anche durante la valutazione delle pull request è possibile che il curriculum dello sviluppatore incida notevolmente. Le esperienze pregresse permettono infatti di acquisire maggiore considerazione all'interno dei vari progetti. Tuttavia non è improbabile che la buona reputazione sia accompagnata anche da pull request contenti codice di scarsa qualità.
Ad evidenziare tale fenomeno è una recente ricerca pubblicata dalla rivista Information and Software Technology e intitolata "Does Code Quality Affect Pull Request Acceptance? An empirical study". Dai dati raccolti dai ricercatori emergerebbe un quadro abbastanza chiaro: la reputazione di uno sviluppatore software sembrerebbe avere più rilevo della qualità del codice che digita.
Il team dei ricercatori, composto da Valentina Lenarduzzi, Vili Nikkola, Nyyti Saarimäki e Davide Taibi, ha analizzato un campione di 28 progetti open source basati sul linguaggio Java che includono quasi 5 milioni di code quality issues suddivise in 36.000 pull request.
Per eseguire l'analisi del codice e delle varie pull request sono state sfruttate diverse tecniche di machine learning in combinazione con il tool di analisi PMD.
I risultati dalla ricerca evidenzierebbero una sorta di prassi generalizzata: se la feature proposta è di grande rilievo allora l'elemento più importante, in termini di accettazione della pull request, è la reputazione del developer che la propone e non la qualità del codice con cui è stata sviluppata. In buona sostanza quando uno sviluppatore ha un buon curriculum una sua pull request riceve più facilmente approvazione.
Questa ricerca non è la prima a riscontrare questa situazione all'interno del mondo open source, in passato anche i ricercatori della Tampere University (Finlandia) avevano riscontrato una dinamica analoga all'interno del loro campione d'analisi.
Tale sistema di valutazione delle pull request è sicuramente dannoso per i progetti software. Questo perché non solo si va a minare la stabilità generale dei codice, incrementando i tempi necessari per i bugfix, ma si impedisce anche alle aziende del settore di valutare adeguatamente il lavoro dei contributor.
Via Does Code Quality Affect Pull Request Acceptance? An empirical study