Andrea, conosciuto in rete con il nickname andrix, contribuisce da 11 anni alla community del software aperto. Per lui è una scelta di vita, una battaglia, una crociata. Nessuno meglio di lui può spiegarti cos’è il software open e quali sono i suoi vantaggi. Abbiamo quindi deciso di fargli un'intervista, come si fa con le rock star. Parliamo del software open, di quali sono le sue potenzialità e di come lo usiamo qui a Lotrèk.
Allora Andrix, che diavolo si intende per open source?
Per open source si intende un codice progettato per essere accessibile pubblicamente in maniera tale che chiunque possa vederlo, modificarlo e distribuirlo, secondo le proprie necessità. Il software open source è sviluppato dai membri di una community con un approccio decentralizzato e collaborativo. Dato che è sviluppato dalle community, e non da un’azienda o da una singola persona, è spesso più economico, flessibile e dura di più rispetto ai software proprietari, tipo Microsoft Windows.
Grazie a questo modello produttivo e ai valori di apertura e condivisione, il movimento open source si è esteso fino a diventare, oggi, un nuovo modello organizzativo, basato su modalità di lavoro innovative.
Forte! Per questo anche a Lotrèk siamo fan dell’open?
In Lotrèk abbiamo da sempre rilasciato molto codice open source. Sia il software a uso interno, sia quello da utilizzare sui progetti per i clienti, sia applicativi completi. Per esempio, sull’organizzazione di GitHub di Lotrèk possiamo trovare diversi progetti:
- Handyman che è il nostro tool per fare check dei siti in produzione, creare test automatici e eseguire il backup dei dati durante la notte
- Librerie come DjLotrèk che contiene una serie di funzioni che ci semplificano la vita durante lo sviluppo di progetti con Django
- Piuma che è un l’applicativo per ottimizzare le immagini on-the-fly, su cui Edoardo Grassi ha scritto un ottimo articolo (👇vedi tra gli articoli del mese)
Diversi sviluppatori della community, in tutto il mondo, hanno contribuito a questi progetti, li hanno migliorati in tanti modi: c’è chi ha integrato la documentazione mancante, chi ha corretto alcuni bug, chi ha fatto una sua versione personalizzata del programma modificando il nostro codice.
L’approccio open source non è solo codice. Spesso abbiamo attirato altri sviluppatori a contribuire attraverso manifestazioni come l’HacktoberFest organizzato dal nostro partner DigitalOcean che si svolge in rete ogni anno nel mese di Ottobre per incentivare le persone a contribuire ai progetti open source.
Ma aspe’, quindi se il mio codice è aperto vuol dire che gli altri mi copiano?
Certo, chiunque può tranquillamente prendere spunto dal tuo codice, copiarne alcune parti. Ma sempre facendo attenzione alla licenza con cui viene rilasciato il codice. Questo significa anche, ed è la cosa più importante, che le altre persone possono vedere se nel codice ci sono errori da correggere o criticità oppure dare dei consigli migliorarlo. E, perché no, possono contribuire al progetto scrivendo del codice aggiuntivo, che poi può essere integrato all’interno del progetto principale.
Ma a noi quali vantaggi ci dà nei progetti?
Il primo vantaggio è sicuramente di avere più occhi esterni e anche aiuti che migliorano il progetto stesso. Condividere non deve far paura perché è un vantaggio per tutti: per noi che riceviamo aiuto dalla community e per le altre persone che sviluppano codice, le quali possono utilizzare il nostro software nel lavoro di tutti i giorni.
Anche noi del resto utilizziamo software open source sviluppato da altri come ad esempio il framework Django per costruire il backend dei siti web, Docker come strumento di base sia in sviluppo che in produzione nei vari progetti, Vue.js per sviluppare la parte frontend insieme a Sass e Bootstrap… e potrei continuare l’elenco.
Il supporto della community su questi progetti è strabiliante. Non si sente la mancanza di un servizio assistenza dedicata. Appena c’è un problema possiamo risolverlo direttamente modificando il codice oppure chiedere aiuto ai membri della community o addirittura con chi gestisce il progetto.
Nel mondo open source ci sarà sempre qualcuno pronto a darti una mano, come nelle migliori famiglie. Se hai un problema su Windows non puoi scrivere a zio Bill Gates per aiutarti a risolverlo.
Che ganzo! Vorrei approfondire: secondo te da dove posso cominciare per saperne di più?
Ti consiglio di partire dal sito opensource.com che ha un’ottima introduzione. E qui voglio sfatare un mito: non per forza occorre essere programmatori per contribuire a un progetto open source! Spesso è richiesto il contributo di persone che traducono, di persone che scrivono la documentazione, di persone che progettano l’interfaccia… ma basta anche semplicemente utilizzare il software: se trovi un problema o vuoi richiedere una funzione particolare puoi dirlo alla community e così facendo hai contribuito al miglioramento del programma!
Vuoi seguire andrix? Ecco il suo profilo LinkedIn. Se vuoi utilizzare il suo codice, ecco il suo profilo su GitHub. E se vuoi ricevere i suoi aggiornamenti, seguilo su Twitter.