Ricercatori del Dipartimento di Ecologia e Biologia Evolutiva della Princeton University hanno deciso di prendere alla lettera le definizione spesso abusata di “ecosistema software”, applicando i principi della biologia all’analisi dell’evoluzione dei pacchetti software e della loro interdipendenza.
Lo studio traccia la storia dello sviluppo dell’OS Debian dal 1993 in poi, e si focalizza appunto sull’evoluzione di una distro Linux nota per la sua stabilità e popolarità all’interno della community dell’open source.
I ricercatori hanno tenuto traccia dell’evoluzione dei pacchetti software, della loro rimozione o reimplementazione nella distro col trascorrere del tempo e dei legami dei singoli pacchetti in “moduli” software comuni – definiti come cluster di package applicativi altamente interdipendenti fra di loro.
Uno dei trend emersi dallo studio rivela come i succitati moduli siano cresciuti di numero e dimensione col trascorrere del tempo, inglobando un numero sempre maggiore di pacchetti. Di conseguenza il numero di conflitti tra moduli tende a diminuire, mentre quelli tra i singoli pacchetti appartenenti a uno stesso modulo crescono in proporzione.
“C’è dunque un compromesso nel riutilizzo di molti pezzi di codice esistente e l’emergere di incompatibilità fra i package software”, dicono i ricercatori dell’ateneo statunitense. Ragionando in termini biologici, rivela lo studio, l’interdipendenza tra i singoli pacchetti rassomiglia molto al rapporto che si instaura in natura fra la preda e il predatore.
Quale uso pratico si può fare dall’applicazione dei principi di biologia evolutiva agli “ecosistemi” di pacchetti software? I ricercatori USA ipotizzano (senza esempi concreti) la possibilità di capire meglio la biologia studiando il comportamento e l’evoluzione dei pezzetti di codice che brulicano nel sottobosco dell’open source.
Alfonso Maruccia