Vai al contenuto

Open Source e Inner Source

logo_opensource

Si può forse brevettare il sole?

  • "A chi appartiene il brevetto?"
  • "Direi alla gente. Non esiste un brevetto. Si può forse brevettare il sole?" risposta di Salk al brevetto sul vaccino antipolio, 1952

e così tutt'ora molto del nostro mondo è costruito su tecnologie e convenzioni aperte patrimonio dell'umanità:

  • Internet (TCP/IP e protocolli) / Apache
  • Firefox / Chromium
  • LibreOffice / OpenOffice
  • il formato PDF
  • Blender
  • Midi
  • ISO e tutti gli standard industriali

Open Source

Il termine "Open Source" si riferisce a prodotti il cui codice sorgente è aperto, pubblico, condiviso con il mondo.

I progetti OpenSource richiedono una collaborazione aperta, una buona comunicazione pubblica e un'adeguata qualità generale.

Collaborare pubblicamente su un progetto implica:

  • più occhi e più mani
  • accessibilità
  • diffusione

Inoltre si possono usare progetti preesistenti per non dover reinventare tutto, sopratutto i bricks (mattoni) di base, spesso i più complessi, le famose librerie o packages, oggi tanto integrate in ogni ambiente di sviluppo.

É inoltre gratificante migliorare un progetto comune, dove altri costruiscono partendo da dove siamo arrivati noi.

in un progetto Open si dà molto, è forse un po' più faticoso, ma si riceve ancora di più

Pros

  • costo: gratuito
  • scalabilità: si parte con una soluzione minima e poi si scala
  • community engagement: mille occhi puntati.
  • flessibilità: gli sviluppatori open hanno a cuore il non essere "locked-in" una soluzione chiusa, quindi c'è grande inter-operabilità
  • le Università, i Centri di Ricerca, le Istituzioni e tanti Indie ormai lavorano qui
  • licenza: non bisogna tenere conto dei problemi di utilizzo / tracciare le licenze. Non c'è scadenza

Cons

  • problemi di sicurezza
  • mancanza di garanzia, manutenzione e supporto
  • non sempre user-friendly / necessita studio
  • facilità di progetti abbandonati / segmentazione
  • non sempre c'è qualità

Considerazioni sull'Open Source

  • una filosofia, più che una pratica
  • storia: anni 90, Linux il primo grandissimo progetto OpenSource, big companies oggi lo adottano (Facebook, Google, Microsoft, Oracle), ROI (Return Of Investment)
  • intelligenza collettiva: in tanti possono partecipare e mettere il meglio di se in modalità open e meritocratica
  • feedback in tempo reale con gli utenti
  • possibilità di lavoro (manutenzione, customizzazione, velocità)
  • il progetto sopravvive al nostro tempo e interesse. qualcun altro potrà portarlo avanti
  • aprire i propri cassetti di idee e pubblicare.
  • Game Jams sono i migliori eventi dove il prodotto deve essere rilasciato OpenSource. più del prodotto in sé è interessante il come è stato fatto, con chi e le referenze a futuro (portfolio)

InnerSource

l'InnerSource è il processo di sviluppo collaborativo di progetti basandosi sulle tecnologie e procedure OpenSource, ma stando all'interno di un ambiente privato, non pubblico.

l'InnerSource usa le skills degli sviluppatori abituati all'OpenSource e le porta dentro i firewalls dei progetti privati, garantendo una piattaforma interna per collaborare ai progetti.

  • OpenSource dietro ad un firewall
  • lavorare internamente come se fosse un progetto OpenSource
  • portare le best practices dell'OpenSource nel team work
  • Inner-sourcing è un mind-shift mentale

Perché InnerSource

  • la tecnologia rimane proprietaria
  • sviluppo più efficiente
  • riuso del codice: comprensione del codice e dell'architettura dei moduli sviluppati da altri
  • codice più pulito
  • Documentazione Completa: il codice è documentato meglio
  • riduzione dei colli di bottiglia
  • ottimizza la collaborazione
  • migliora i contributi dei talenti
  • Collaborazione cross-teams
  • riduce la concentrazione della Conoscenza
  • sviluppo più veloce, con Unit Tests e Continuous Integration
  • mix tra repo privati e pubblici

Closed Source vs Open Source

Tutti i progetti "proprietari" hanno virtù tipo - poter usare assets commerciali - segreto industriale - controllo sulla proprietà - ...


Approfondimenti