SOFTWARE LIBERO SIGNIFICA COLLABORAZIONE GLOBALE L’ESEMPIO DI GITHUB
LINUX DAY 2015 GENOVA 24/10/2015
MARCO PERRANDO
@MARCOPERRANDO [email protected]
CHI SVILUPPA IL SOFTWARE LIBERO?
https://i.ytimg.com/vi/lGABWh3fRfc/maxresdefault.jpg
DIAMO UN PO’ DI NUMERI
VLCFONTE: OPENHUB.NET
Fonte: openhub.net
LIBREOFFICEFONTE: OPENHUB.NET
Fonte: openhub.net
LINUX KERNELFONTE: OPENHUB.NET
Fonte: openhub.net
totali 1anno 30gg LOC
716 94 21 0,6 mln
1429 282 96 7,2 mln
14829 3726 447 18,2 mln
COME SI COLLABORA A UN PROGETTO
COME INVIO UNA CORREZIONE AL SOFTWARE?
???
COME INVIO UNA CORREZIONE AL SOFTWARE?
MANDO L’INTERO CODICE
▸ PRIMO PROBLEMA: magari si tratta di centinaia di MB o anche qualche GB di codice e io ho corretto solo poche linee!
▸ SECONDO PROBLEMA: chi deve integrare modifiche provenienti da molti contributori sarebbe in difficoltà!
IL PROGRAMMA V1.3
HA 2 BUG!
IL PROGRAMMA V1.3
HA 2 BUG!
IL PROGRAMMA V1.3
HA 2 BUG!
SCARICA DA INTERNET
SCARICA DA INTERNET
TROVA IL BUG XIL PROGRAMMA V1.3
HA 2 BUG!
SCARICA DA INTERNET
SCARICA DA INTERNET
TROVA IL BUG X
TROVA IL BUG Y
IL PROGRAMMA V1.3
HA 2 BUG!
SCARICA DA INTERNET
SCARICA DA INTERNET
CORREGGE IL BACO X
INVA CODICE
CORREGGE IL BACO X
INVA CODICE
CORREGGE IL BACO X
CORREGGE IL BACO Y
INVA CODICE
CORREGGE IL BACO X
CORREGGE IL BACO Y
INVA CODICE
INVA CODICE
CORREGGE IL BACO X
CORREGGE IL BACO Y
INVA CODICE
QUESTO CODICE HA ANCORA IL BUG X!
INVIARE SOLO LE ISTRUZIONI SU COME HO MODIFICATO IL CODICE SORGENTE!
http://cdn-1.faidatemania.it/o/orig/come-mettere-la-toppa-ai-jeans_c944c67273cf2ee46a81a2842019fd2e.jpg
RIPARA (FIX) UN “BUG” NEL SOFTWARE
IL SOFTWARE “CRESCE” PATCH DOPO PATCH
È PIÙ DIFFICILE INTEGRARE LE MODIFICHE CHE FARLE!
TOP CONTRIBUTORSPROGETTO LIBREOFFICE
Fonte: openhub.net
Fonte: openhub.net
Fonte: openhub.net
Fonte: openhub.net
Fonte: openhub.net
https://cdn2.vox-cdn.com/thumbor/MdRppF7b3o80Hv6zj0-c7Ok_qPQ=/0x17:640x377/1600x900/cdn0.vox-cdn.com/assets/1019714/linustorvalds.png
https://cdn2.vox-cdn.com/thumbor/MdRppF7b3o80Hv6zj0-c7Ok_qPQ=/0x17:640x377/1600x900/cdn0.vox-cdn.com/assets/1019714/linustorvalds.png
https://cdn2.vox-cdn.com/thumbor/MdRppF7b3o80Hv6zj0-c7Ok_qPQ=/0x17:640x377/1600x900/cdn0.vox-cdn.com/assets/1019714/linustorvalds.png
2005
https://cdn2.vox-cdn.com/thumbor/MdRppF7b3o80Hv6zj0-c7Ok_qPQ=/0x17:640x377/1600x900/cdn0.vox-cdn.com/assets/1019714/linustorvalds.png
GIT
COSA FA GIT?
▸ Ogni volta che inseriamo una patch nel codice, git ne tiene traccia in una cosa chiamata
GIT
COSA FA GIT?
▸ Ogni volta che inseriamo una patch nel codice, git ne tiene traccia in una cosa chiamata
COMMIT
GIT
COS’È UNA COMMIT?
▸ È una patch con un po’ di informazioni aggiuntive
▸ Un messaggio che descrive la patch
▸ L’autore
▸ Il “committer”
▸ Le commit “genitori”
IN QUESTO MODO IL PROGETTO SOFTWARE HA UNA PROPRIA “STORIA”
SOLO 1036 LINEE DI CODICE
http://google-opensource.blogspot.it/2015/03/farewell-to-google-code.html
https://code.google.com/export-to-github/
GITHUB
NON È SOLO GIT
▸ Issue tracker raccoglie segnalazioni e ne traccia il ciclo di vita.
▸ Wiki permette di scrivere delle pagine web di supporto.
VEDIAMO UN PO’ CHI C’È SU GITHUB
LICENZE SU GITHUB
FONTE: GITHUB 9 MARZO 2015
https://github.com/blog/1964-license-usage-on-github-com
UTENTI DI GITHUB
FONTE: GITHUB 17 GENNAIO 2013
1. FORKPULL REQUEST
2. MODIFICO IL CODICEPULL REQUEST
3. MI PREPAROPULL REQUEST
4. FACCIO LA MIA PRPULL REQUEST
CHIUNQUE PUÒ COLLABORARE A UN PROGETTO SU GITHUB!
COSA CI DA ANCORA GITHUB?
GITHUB PAGES
SU COSA POSSIAMO CREARE LE PAGINE DI GITHUB?
▸ i nostri progetti
▸ noi, profilo personale
▸ per la nostra organizzazione
QUINDI COSA ASPETTATE?
ANDATE SUBITO A LAVORARE AD UN REPOSITORY SU GITHUB!
https://theleidener.files.wordpress.com/2015/03/unclesam.png
GRAZIE.https://www.slideshare.net/mperrando/linux-day-2015-genova-54320564
https://creativecommons.org/licenses/by-nc-sa/4.0/
Distribuito con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 4.0 Internazionale.