vengono analizzati i software open source presenti in uno dei maggiori repository on line: sourceforge.net, ed il loro processo produttivo, partendo dai metodi di valutazione esistenti e sfruttandone le caratteristiche comuni. Sui progetti viene fatta una valutazione analitica delle qualità dei prodotti (bugs, patches e documentazione), dell'attività delle comunità che ruotano intorno a questi software (sviluppatori, release e donazioni), nonchè del supporto a breve termine. Lo studio mostra, tramite dati e report un'analisi di massima dei progetti di sourceforge. Infine vengono mostrate le problematiche riscontrate nel reperire e gestire i dati dei software open source.
2. Analisi delle Caratteristiche
Valutare i Progetti
OBIETTIVI di SourceForge
dei Progetti Open Source
Analisi dei Ricerca, Costruire
Analisi di Tutti
progetti in un Individuazione e Metodi
i Progetti
breve periodo Analisi delle Automatici
Caratteristiche
Valutazioni di Supporto a
Attività della
Alcune Qualità Breve
Comunità
Esterne Sviluppatori Termine
Bugs Release Tempo medio
di Risoluzione
dei Bugs
Patches Donazioni
Nascita di Tempo medio di
Documentazione Nuovi Progetti Assegnazione
dei Bugs
Download
Michele Proto
3. SITUAZIONE ATTUALE
Ideologie Strumenti
Opinioni +
Oggi come si valutano i prodotti di supporto solo manuali:
Scelte di “religione”
Open Source?
• OSMM
•OPEN BRR
•QSOS
•OPEN BQR
Errori di Valutazione
Analisi delle Caratteristiche dei Progetti
Michele Proto Open Source
4. REPERIMENTO DEI DATI
FLOSSmole
Mette a disposizione alcuni dati grezzi di
SourceForge
Alcuni dati sono aggregati
Non è stato possibile utilizzarli
Analisi delle Caratteristiche dei Progetti
Michele Proto Open Source
5. REPERIMENTO DEI DATI
L’accesso ad un nuovo set di dati.
VS
Analisi delle Caratteristiche dei Progetti
Michele Proto Open Source
6. L’UTILIZZO DEI DATI
Conseguenze:
Problemi:
Dump singoli
Analisi di tutte le tabelle e
relazioni
Inaccessibilità diretta ai dati
Esecuzione manuale tra schema e
Tabelle incongruenti delle query
dump query per singolo grafico
(es. 26
semestrale)
Incongruenza nella struttura
delle tabelle aggregazione
Estrazione ed
manuale dei dati
Mancanza documentazione
Schema ER del
Analisi delle Caratteristiche dei Progetti database
Michele Proto Open Source di SourceForge
7. L’ANALISI DEI DATI
PREALPHA
ALPHA
BETA
STABILE
Nr. Bugs MATURO
300000
250000
Bugs Scoperti 200000
150000
100000
Totale dei bugs 846950 50000 MATURO
BETA
0 PREALPHA
1 2 3 4 5 6 7 8 9 10
Totale dei progetti Livelli di Priorita'
135834
PREALPHA
ALPHA
Nr. di Bugs
BETA
16000 STABILE
6.2 bugs per progetto 14000 MATURO
12000
10000
8000
6000
4000
2000 MATURO
0 STABILE
BETA
1 2 ALPHA
3 4 PREALPHA
6 7 8
Analisi delle Caratteristiche dei Progetti 9 10
Michele Proto Open Source Livelli di Priorità
8. PREALPHA
L’ANALISI DEI DATI Nr. di bugs
ALPHA
BETA
STABILE
9000 MATURO
8000
7000
6000
Bugs Assegnati 5000
4000
3000
MATURO
2000
BETA
1000
PREALPHA
0
Totale dei bugs 1 2 3 4 5 6 7 8 9
Livelli di priorità
assegnati 59338
PREALPHA
Nr. di bugs ALPHA
Solo il 7% dei bugs 3000
BETA
STABILE
scoperti viene assegnato 2500
MATURO
agli sviluppatori per la 2000
risoluzione 1500
1000
500 MATURO
STABILE
0 BETA
1 2 ALPHA
3 4 PREALPHA
6 7
8
Analisi delle Caratteristiche dei Progetti 9
Michele Proto Open Source Livelli di priorità
9. PRE ALPHA
L’ANALISI DEI DATI
Nr. di patches ALPHA
45000 BETA
STABILE
40000
MATURO
35000
30000
25000
Patches Rilasciate 20000
15000
10000
5000
MATURO
0 BETA
1 2 3 PRE ALPHA
Totale delle patches
4 5 6 7 8 9
109119 Livelli di priorità
PRE ALPHA
Nr. di patches ALPHA
Progetti ricevono <1% 1000
BETA
STABILE
di soluzioni 900
800
MATURO
700
600
500
400
300
200
100 MATURO
STABILE
0 BETA
ALPHA
1 2 3 4 PRE ALPHA
6 7 8 9
Livelli di priorità
Analisi delle Caratteristiche dei Progetti
Michele Proto Open Source
10. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Open Source
Release Rilasciate
Release totali: 499677 Nr. release
200000 186716
161741
Rispetto al totale dei 180000
bugs sono il 58% di 160000
“miglioramenti” 140000
120000
83311
100000
Sommando release 80000
e patches si ha una 60000 47749 20160
risoluzione della 40000
20000
difettosità dei 0
progetti del 71% PREALPHA ALPHA BETA STABILE MATURO
Stabilità dei progetti
Michele Proto
11. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Open Source
Nr. documenti
Documentazione
PREALPHA
8000 7692 7804 ALPHA
BETA
7000
STABILE
MATURO
6000 4975
I documenti presenti sono 5000 4246
circa il 18% del totale dei
4000
progetti
3000
Documentazione 2000
776
presente sui siti dei 1000
singoli progetti 0
Stabilità dei progetti
Michele Proto
12. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Open Source
Download Effettuati
Nr. download
Progetti alpha e 1874
2000
maturo sono i
Milioni
1800
meno innovativi 1600
1400 1196
1200
1000
800
600 377
301
400 207
200
0
PREALPHA ALPHA BETA STABILE MATURO
Livelli stabilità
Michele Proto
13. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Open Source
PREALPHA ALPHA BETA STABILE MATURO
Nr. giorni
Tempo medio di
soluzione dei 250,00
bugs 200,00
150,00
Velocità di 100,00
risoluzione
diminuisce con il 50,00
salire di criticità
0,00
1 2 3 4 5 6 7 8 9
10
LIVELLI DI PRIORITA'
Michele Proto
14. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Open Source
PREALPHA
ALPHA
Tempo medio di
Nr. giorni
BETA
STABILE
assegnazione dei 140,00 MATURO
bugs 120,00
100,00
Dati ottenuti 80,00
indirettamente e validi 60,00
≅ 70% 40,00
20,00
Progetti dichiarati maturi MATURO
subiscono una 0,00
1 2
BETA
3 4 PREALPHA
“dimenticanza” 5 6 7 8 9
Livelli priorità
Michele Proto
15. Analisi delle Caratteristiche dei Progetti
L’ANALISI DEI DATI Nr. progetti
Open Source
4946
4708
Donazioni Finanziarie 5000
4500
4000 2764
RUOLO DEI MEMBRI NR. DI DONATORI DONATORI IN %
3500
Developer 5032 5,73 3000 2406
Project Manager 3023 11,64 2500
Unix Admin 82 7,24 2000 386
Doc Writer 40 3,03 1500
Tester 87 3,70 1000
500
Support Manager 27 5,31
0
Graphic/Other Designer 47 2,91
PREALPHA ALPHA BETA STABILE MATURO
Translator (I18N/L10N) 102 5,56
Editorial/Content Writer 14 3,46
Packager (.rpm, .deb etc) 61 7,19
Analysis / Design 19 3,09
Advisor/Mentor/Consultant 71 5,03
Distributor/Promoter 15 6,25 Nr.
Content Management 20 5,92 donazioni/Nr.
totale progetti 34167
Requirements Engineering 5 2,39 27354
Web Designer 92 4,64 26052
35000 24367
Porter (Cross Platform Devel.) 38 8,15
30000
Anonimus 12548 9,38
25000
All Hands Person (Gestori) 715 10,36
Others 119 5,73 20000
User Interface (UI) Designer 10 4,13 15000 2471
2764 4708 4946
Support Technician 15 7,50 10000 2406
DBA (Database Administrator) 5 4,67 5000 386
0
PREALPHA ALPHA BETA STABILE MATURO
DONAZIONI
Michele Proto TOTALE PROGETTI
16. L’ANALISI DEI DATI
Analisi di tutti i Progetti
ANALISI SEMESTRALE
Periodo arbitrario, ma rappresentativo di un intervallo
sufficientemente lungo (01 aprile 2007 – 30 settembre 2007)
26 Settimane
Mostra come evolvono le caratteristiche dei progetti nel tempo
Analisi delle Caratteristiche dei Progetti
Michele Proto Open Source
17. L’ANALISI DEI DATI SEMESTRALI
Bugs Scoperti
Nr. di bugs PREALPHA
PRIORITA' 5
1200 ALPHA
BETA
1000
STABILE
800
MATURO
600
400
200
0
1 3 5 7 9 11 13 15 17 19 21 23 25
NR. SETTIMANE
Nr. di Bugs PRIORITA' 9 PREALPHA
50
45 ALPHA
40 BETA
35 STABILE
30 MATURO
25
20
15
10
5
Analisi delle Caratteristiche 0
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
dei Progetti Open Source
NR. SETTIMANE
Michele Proto
18. L’ANALISI DEI DATI SEMESTRALI
Bugs Assegnati
Nr. di bugs PRIORITA' 5
250 PREALPHA
ALPHA
200 BETA
STABILE
150 MATURO
100
50
0
1 3 5 7 9 11 13 15 17 19 21 23 25
NR. SETTIMANE
Nr. di Bugs PRIORITA' 9 PREALPHA
25 ALPHA
BETA
20 STABILE
MATURO
15
10
5
Analisi delle Caratteristiche
0
dei Progetti Open Source
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
Michele Proto NR. SETTIMANE
19. L’ANALISI DEI DATI SEMESTRALI
Patches Rilasciate
Nr. patches PRIORITA' 5
PREALPHA
160
ALPHA
140 BETA
STABILE
120
MATURO
100
80
60
40
20
0
1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526
NR. SETTIMANE
PRIORITA' 9 PREALPHA
3,5
ALPHA
3 BETA
STABILE
2,5 MATURO
2
1,5
1
Analisi delle Caratteristiche
0,5
dei Progetti Open Source
0
1 3 5 7 9 11 13 15 17 19 21 23 25
Michele Proto NR. SETTIMANE
20. L’ANALISI DEI DATI SEMESTRALI
Release Rilasciate
PREALPHA
Nr. release ALPHA
BETA
2500 STABILE
MATURO
2000
1500
1000
500
0 STABILE
1 2 3 4 5 6 7 8 9 PREALPHA
10 11 12 13 14 15 16 17
18 19 20 21 22 23 24 25
26
Nr. settimane
Analisi delle Caratteristiche dei Progetti Open
Michele Proto Source
21. L’ANALISI DEI DATI SEMESTRALI
Analisi delle Caratteristiche
dei Progetti Open Source
Nr. giorni
700
Tempo medio di 600
500
PREALPHA
risoluzione dei
ALPHA
400 BETA
Bugs 300
200
STABILE
MATURO
100
0
1 2 3
4 5 6
7 8 9 STABILE
10 11 12
13 14 15
16 17 18 PREALPHA
19 20 21
22 23 24
25 26
Nr. giorni
Nr. settimane
Tempo medio di 80,00
70,00
assegnazione dei
PREALPHA
60,00
ALPHA
50,00
Bugs 40,00
30,00
BETA
STABILE
20,00 MATURO
10,00
0,00
1 3 5 STABILE
7 9 11 13 15 17 PREALPHA
19 21 23 25
Nr. settimane
Michele Proto
22. CONCLUSIONI – SVILUPPI FUTURI
ANALISI DELLE CARATTERISTISCHE
DEI PROGETTI OPEN SOURCE
Centralizzazione e accesso diretto ai dati
Sensibilizzare le comunità che sviluppano i
GRAZIE PER
sistemi di tracking
L’ATTENZIONE
Ampliare i parametri introducendo valori di
soddisfazione
Ridurre la soggettività nelle valutazioni e nelle
scelte
Analisi delle Caratteristiche dei Progetti
Open Source
Michele Proto