Linux day 2012 1 Saluti, presentazione personale, domande (c’è qualcuno che ha già contribuito o contribuisce ad un progetto FOSS? codice, traduzioni, documentazione)
significa perdere Con l’opensource si campa direttamente ed indirettamente: Direttamente: - Si può offrire supporto a pagamento su un software opensource - Si possono usare strumenti opensource per comporne un altro non opensource (e quindi vendibile) Indirettamente: - Le conoscenze acquisite vengono rispese in altri progetti “Donare” il proprio tempo sottoforma di codice prodotto non significa avvantaggiare la concorrenza. “Se tu hai una mela e io ho una mela e ce le scambiamo, allora tu e io abbiamo sempre una mela per uno. Ma se tu hai un’idea e io ho un’idea e ce le scambiamo, allora abbiamo entrambi due idee”. Le idee possono essere codice, progetti, ecc.
software è distribuito come una scatola nera con manuale di istruzioni - Supporto in generale a pagamento - Nessun accesso diretto alle persone o ai sorgenti Consumatori (gli usufritori del progetto o della libreria) - Paganti o meno
da aziende o meno - Accessibili tramite mail diretta, mailing list, forum, chat Consumatori Contribuitori - Ibrido tra sviluppatore e contribuitore - Consumano, ma allo stesso tempo partecipano nello sviluppo
lavora su problemi esistenti - Si lavora spesso con altre persone, quindi si impara a comunicare le proprie idee/dubbi ecc. Lavoro - Se mentre state usando una tale libreria o progetto incappate in un problema, avendo accesso ai codici originali potete sistemare il problema una volta per tutte. La cosa è molto più complicata con codice closed Felicità - Mail di ringraziamento, donazioni, ringraziamenti di persona, ecc. <3 <3 <3 <3 <3
un programma intero, tipo open office o firefox Si intede anche una libreria che è un frammento di programma che risolve un problema specifico, ad esempio aprire e modificare musica mp3
Per lavoro: - Se conosco bene e contribuisco ad una libreria che poi uso per i progetti del cliente, il risultato sarà molto più migliore con le conoscenze acquisite Qualcosa che usate con frequenza: - Ricollegandosi alla cosa di prima, più usate un programma e più vi rendete conto di quali sono i problemi/i punti deboli
Non fa niente: Innescherete comunque una discussione tra le persone coinvolte. Probabilmente vi diranno perchè le modifiche vengono rifiutate e come sistemare per farle accettare. In qualunque caso imparerete qualcosa di nuovo e costruirete una relazione con le altre persone. Perchè alcune modifiche non vengono accettate? - Modifiche non consone agli stili guida del progetto - Non sono state fornite sufficienti prove - Le modifiche rompono il funzionamento di altre parti del progetto
= un file con la serie di modifiche al progetto Problemi: Devo cercare dove ottenere il codice sorgente e come inviare le modifiche (spesso tramite email) “Sto mandando le modifiche alla persona giusta?” Il destinatario potrebbe non essere più il responsabile del progetto e potrebbe aver passato il testimone a qualcun altro. Strumenti per gestire il codice inadatti a separare nettamente il progetto online dalle modifiche fatte offline
del progetto progetto con vostre modifiche progetto originale con vostre modifiche Forking! merging! Merging = Aggiungi salvataggi al progetto iniziale
riuscito a smussare tutti quegli angoli nel processo di contribuizione ad un progetto. Ha abbassato tutte le barriere iniziali: chiunque può forkare un progetto, aggiungere le proprie modifiche e rimandarle al progetto originale. I gestori del progetto riceveranno le modifiche e dopo averle valutate