Galateo semi-serio dell'Open Source - Luigi Dell' Aquila - Codemotion Rome 2017

94
GALATEO SEMISERIO DELL’OPEN SOURCE (OVVERO, COME CONQUISTARE IL MONDO CON IL LAVORO DEGLI ALTRI) LUIGI DELL’AQUILA @ldellaquila

Transcript of Galateo semi-serio dell'Open Source - Luigi Dell' Aquila - Codemotion Rome 2017

Page 1: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

GALATEO SEMISERIO DELL’OPEN SOURCE (OVVERO, COME CONQUISTARE IL MONDO CON IL LAVORO DEGLI ALTRI)

LUIGI DELL’AQUILA @ldellaquila

Page 2: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

GIARDINO DELLE DELIZIE

UN VIAGGETTO NEL

Page 3: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

PER IL VIAGGIO MI SERVE UNO SPIRITO GUIDA…

Page 4: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL NEMICO…?STEVE

Page 5: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL REDENTO…?SATYA

Page 6: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

NO… NON BASTA… DOBBIAMO CONQUISTARE IL MONDO, MICA GUADAGNARCI LA PENSIONE…

Page 7: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL SANTO…?RICHARD

Page 8: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

POI, IL MESSAGGIO DIVINO

Page 9: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

@LUISYOU’VE GOT MAIL

Page 10: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

DA DOVE VIENE LUIS?

Page 11: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

“UTENTE ANONIMO” COME HA TROVATO ORIENT…? PERCHE’ LO HA SCELTO…?

Page 12: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

COME SI DIVENTA UTENTE?

▸ Conferenze

▸ Community on line

▸ Meetup

▸ …

▸ O tuo malgrado, Il telefono, il router, il frigorifero, il tostapane

▸ Sei gia’ un po’ Luis, deal with it!

Page 13: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

PERO’ LUI L’HA SCELTO…

Page 14: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

PERCHE’ PROPRIO ORIENT?

▸ Feature

▸ Adoption

▸ Reputazione

▸ Licenza

▸ MIT

▸ Apache 2 *

▸ GPL / dual license

Page 15: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

SE QUEL SW ENTRA NELLA TUA ARCHITETTURA, IL MAINTAINER DI FATTO LAVORERA’ PER TE

Page 16: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

FAGLI UN COLLOQUIO: - QUANTO E’ BRAVO? - QUANTO COSTA? - QUANTO E’ AFFIDABILE?

Page 17: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

NON FARE IL VAGO, LE LICENZE ESISTONO, ANCHE SE NESSUNO TI CONTROLLA!

Page 18: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

Page 19: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

ACCERTATI CHE IL MAINTAINER NON SIA TROPPO SUSCETTIBILE

Page 20: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LEFTPAD?CHI SI RICORDA LA STORIA DI

Page 21: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

NON E’ MAI STATO RILASCIATO

REISERFS

Page 22: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

Page 23: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

SI, MA TANTO SE QUALCOSA VA MALE, HO SEMPRE IL CODICE…

Page 24: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

BULLSHIT!!!

Page 25: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

TORNIAMO A LUIS

Page 26: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 27: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LUIS UN GIORNO HA UN PROBLEMA

Page 28: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

DEVE CHIEDERE AIUTO

Page 29: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker

Page 30: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker, Twitter, StackOverflow, Linkedin, il tuo blog, sui muri col pennarello

Page 31: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker, Twitter, StackOverflow, Linkedin, il tuo blog, sui muri col pennarello

▸ “it’s unacceptable that your product does not support xxx”

Page 32: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker, Twitter, StackOverflow, Linkedin, il tuo blog, sui muri col pennarello

▸ “it’s unacceptable that your product does not support xxx”

▸ “I don’t want XXX, for me YYY is enough”

Page 33: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 34: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker, Twitter, StackOverflow, Linkedin, il tuo blog, sui muri col pennarello

▸ “it’s unacceptable that your product does not support xxx”

▸ “I don’t want XXX, for me YYY is enough”

▸ “Do you plan to implement XXX?”

Page 35: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (NUOVE FEATURE)

▸ “product xxx sucks” sull’issue tracker, Twitter, StackOverflow, Linkedin, il tuo blog, sui muri col pennarello

▸ “it’s unacceptable that your product does not support xxx”

▸ “I don’t want XXX, for me YYY is enough”

▸ “Do you plan to implement XXX?”

▸ Pull Request!

Page 36: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

▸ Se proprio devi insultare il prodotto, fallo bene

Page 37: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

Page 38: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

▸ “I have a bug on XXX feature, can you please fix it?”

Page 39: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

▸ “I have a bug on XXX feature, can you please fix it?”

▸ “I’m using feature XXX, I expect YYY, I get ZZZ, can you please fix it?”

Page 40: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

▸ “I have a bug on XXX feature, can you please fix it?”

▸ “I’m using feature XXX, I expect YYY, I get ZZZ, can you please fix it?”

▸ “I have a bug, you can reproduce it by…” (quando ero piccolo, mio papa’ mi ha comprato un Commodore 64…)

Page 41: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

▸ “I have a bug on XXX feature, can you please fix it?”

▸ “I’m using feature XXX, I expect YYY, I get ZZZ, can you please fix it?”

▸ “I have a bug, you can reproduce it by…” (quando ero piccolo, mio papa’ mi ha comprato un Commodore 64…)

▸ “Here is a piece of code to reproduce the problem (!!!)

Page 42: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

I MODI DI CHIEDERE AIUTO (BUG)

▸ “Product XXX sucks because of bug YYY”

▸ “I have a bug on XXX feature, can you please fix it?”

▸ “I’m using feature XXX, I expect YYY, I get ZZZ, can you please fix it?”

▸ “I have a bug, you can reproduce it by…” (quando ero piccolo, mio papa’ mi ha comprato un Commodore 64…)

▸ “Here is a piece of code to reproduce the problem”

▸ “Here is a TEST CASE to reproduce the problem” (PR!!!)

Page 43: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

▸ Se proprio devi insultare il prodotto, fallo bene

▸ Scrivere un test case per dimostrare il tuo problema non ti farà diventare cieco

Page 44: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LUIS STA PASSANDO AL LATO OSCURO

Page 45: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

STA DIVENTANDO UN CONTRIBUTOR

Page 46: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL CONTRIBUTOR

▸ Tweet, blog post, meet up

▸ Dare una mano agli utenti della community

▸ Scrivere documentazione!!!

Page 47: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

▸ Se proprio devi insultare il prodotto, fallo bene

▸ Open Source is not (only) about code

Page 48: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL CONTRIBUTOR

▸ Tweet, blog post, meet up

▸ Dare una mano agli utenti della community

▸ Scrivere documentazione!!!

▸ La famigerata PULL REQUEST

Page 49: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LA PULL REQUEST / CODE CONTRIBUTION

▸ Una nuova feature

Page 50: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 51: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LA PULL REQUEST

▸ Una nuova feature

▸ Una fix

LA PULL REQUEST / CODE CONTRIBUTION

Page 52: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 53: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LA PULL REQUEST

▸ Una nuova feature

▸ Una fix

▸ Un test case

LA PULL REQUEST / CODE CONTRIBUTION

Page 54: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 55: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LA PULL REQUEST

▸ Una nuova feature

▸ Una fix

▸ Un test case

▸ Docs

LA PULL REQUEST / CODE CONTRIBUTION

Page 56: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 57: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

▸ Se proprio devi insultare il prodotto, fallo bene

▸ Scrivere un test case per dimostrare il tuo problema non ti farà diventare cieco

▸ Vuoi dare una mano? Fatti una domanda: sei sicuro che ci hai capito qualcosa?

Page 58: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

SI, MA CHI C’E’ DALL’ALTRO LATO?

Page 59: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL COMMITTER, CHI E’? LUIS PUO’ DIVENTARE UN COMMITTER?

Page 60: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL COMMITTER

▸ Può sfasciare tutto senza chiedere il permesso

Page 61: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL COMMITTER

▸ Può sfasciare tutto senza chiedere il permesso

▸ Pero’ poi tocca a lui rimettere a posto

Page 62: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL COMMITTER

▸ Può sfasciare tutto senza chiedere il permesso

▸ Pero’ poi tocca a lui rimettere a posto

▸ E tocca a lui pure rimettere a posto i danni degli altri

Page 63: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LE REGOLE

▸ Scegli la licenza giusta (e magari rispettala…)

▸ Accertati che il maintainer non sia un potenziale assassino

▸ Se proprio devi insultare il prodotto, fallo bene

▸ Scrivere un test case per dimostrare il tuo problema non ti farà diventare cieco

▸ Vuoi dare una mano? Fatti una domanda: sei sicuro che ci hai capito qualcosa?

▸ Abbi pieta’ dei committer

Page 64: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL COMMITTER

▸ Può sfasciare tutto senza chiedere il permesso

▸ Pero’ poi tocca a lui rimettere a posto

▸ E tocca a lui pure rimettere a posto i danni degli altri

▸ Si diventa committer quando si guadagna la fiducia degli owner / maintainer

Page 65: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

ALLORA LUIS, FRA QUALCHE ANNO, SARA’ UN COMMITTER…

Page 66: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

E SE GLI OWNER NON VOGLIONO?

Page 67: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

FORK!

Page 68: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

FORK

▸ Per fare una pull request

Page 69: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

FORK

▸ Per fare una pull request

▸ Per resuscitare un progetto morto

Page 70: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

FORK

▸ Per fare una pull request

▸ Per resuscitare un progetto morto

▸ Fork ostile, in polemica con il main branch

Page 71: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

OK, ADESSO SEI TU IL CAPO. WHAT’S NEXT?

Page 72: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

GLI ONERI DELL’OWNER

▸ Dare la linea

▸ Accertarsi che le nuove feature siano in linea

▸ Coordinare i committer

▸ Vigilare sulla qualità del progetto

▸ Impegnarsi a dare visibilità al progetto

▸ Far crescere la community

Page 73: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

E IL CODICE…?

Page 74: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

SI, ADESSO PUOI SCRIVERE QUELLO CHE TI PARE!

Page 75: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

MA DI FATTO LO FAI MOLTO MENO (CON QUALCHE ECCEZIONE ILLUSTRE)

Page 76: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017
Page 77: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

OK, NUOVO PROGETTO, FROM SCRATCH!!!!

Page 78: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

ADESSO PUOI FARLO, HAI L’ESPERIENZA:

Page 79: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

HAI IMPARATO A LEGGERE IL CODICE DEGLI ALTRI

Page 80: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

HAI MIGLIORATO LE TUE SKILL DI CODER, GRAZIE AL CODICE DEGLI ALTRI

Page 81: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

HAI IMPARATO COSA SIGNIFICA COLLABORARE IN UN PROGETTO APERTO

Page 82: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

HAI ALLENATO LA PAZIENZA

Page 83: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

CHE COSA TI ASPETTA

▸ Idea != Risultato

Page 84: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

CHE COSA TI ASPETTA

▸ Idea != Risultato

▸ GitHub != Open Source

Page 85: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

CHE COSA TI ASPETTA

▸ Idea != Risultato

▸ GitHub != Open Source

▸ ti toccherà scrivere i docs

▸ far crescere la community (code of conduct)

▸ trovare i primi utenti

Page 86: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

CHE COSA TI ASPETTA

▸ Idea != Risultato

▸ GitHub != Open Source

▸ ti toccherà scrivere i docs

▸ far crescere la community (code of conduct)

▸ trovare i primi utenti

▸ Trovare un modello di business

Page 87: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

CHE COSA TI ASPETTA

▸ Idea != Risultato

▸ GitHub != Open Source

▸ ti toccherà scrivere i docs

▸ far crescere la community (code of conduct)

▸ trovare i primi utenti

▸ Trovare un modello di business

▸ All’inizio sei solo

Page 88: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

MA COMUNQUE

▸ Potrai di nuovo scrivere tanto codice

Page 89: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

MA COMUNQUE

▸ Potrai di nuovo scrivere tanto codice

▸ Sei tu che decidi cosa e come

Page 90: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

MA COMUNQUE

▸ Potrai di nuovo scrivere tanto codice

▸ Sei tu che decidi cosa e come

▸ Potresti anche diventare ricco con il tuo progetto (ma non ci contare troppo)

Page 91: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

NON AVRAI CONQUISTATO IL MONDO

Page 92: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

MA DA LI’ IN AVANTI, PER TUTTI SARAI

Page 93: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

IL CREATORE

Page 94: Galateo semi-serio dell'Open Source -  Luigi Dell' Aquila - Codemotion Rome 2017

LUIGI DELL’AQUILA @ldellaquila

http://www.orientdb.com https://opensource.guide