Care and Feeding of FOSS
Ma come si inserisce il modello di sviluppo open-source in un panorama tecnologico sempre più accentrato nelle mani di poche e potenti aziende? Il timore è infatti quello che rendendo il codice disponibile a tutti si potrebbe essere subito vittima di plagio da parte di giganti del settore in grado di realizzare in poco tempo ciò che prenderebbe a un team open-source svariati mesi, accaparrandosi così una larga fetta di mercato. Craig James smentisce tuttavia tale visione nel suo articolo, in cui descrive il ciclo di vita di un software FOSS (Free and Open Source Software) come la sequenza delle seguenti fasi:
- Invenzione: qualcuno ha un’idea e la implementa facendola funzionare. Dal momento in cui l’idea viene resa pubblica si assiste una grossa esplosione di progetti in tal senso finanziati da varie aziende che cercano di diventare leader nel nuovo mercato.
- Espansione e innovazione: il mondo si accorge dell’invenzione e la tecnologia inizia a espandersi in quanto le aziende si ‘rincorrono’ a vicenda cercando di aggiungere più funzionalità possibili. Questa fase non rappresenta un buon momento per far nascere un progetto open source: un piccolo gruppo non riuscirebbe a prevalere sulle grandi aziende; poiché inoltre le specifiche non sono ancora ben definite si rischierebbe di implementare funzioni inutili.
- Consolidamento: i prodotti di alcune aziende iniziano a dominare il mercato, mentre i competitor vengono assorbiti, falliscono o diventano di nicchia (solitamente quando si verifica questo caso significa che l’azienda fornisce il prodotto con delle particolarità che non si possono trovare altrove). Diminuisce complessivamente il numero di player e l’innovazione rallenta.
- Maturità: il problema e le specifiche sono ora ben chiare e consolidate. Per un prodotto commerciale è ormai difficile entrare nel mercato, ma per uno open source è paradossalmente il momento migliore: il piccolo team ha uno slancio innovativo che le grosse aziende non hanno più e il loro prodotto può brillare dei vantaggi del mondo open-source, tra cui sicurezza e flessibilità. L’esempio più importante e degno di nota è quello di Linux; Linus Torvalds conoscendo già tutti i concetti base di un sistema operativo grazie a Minix (sistema operativo con scopo puramente didattico creato da Tanenbaum per insegnare la materia ai suoi studenti, tra cui Linus) creò il kernel di linux. Lui inizia in un momento in cui le specifiche per creare un sistema operativo sono ben note, perciò c’è poca innovazione nel settore e quindi può far nascere un’alternativa che ha dalla sua parte tutti i vantaggi del mondo open-source.
- Passaggio tra maturità e FOSS Domination: Quando un prodotto open-source diventa famoso le aziende ne soffrono, di conseguenza hanno iniziato a sfruttare anch’esse le idee di altri per il proprio prodotto. Un esempio è IBM che inizialmente vendeva i propri prodotti insieme ad un sistema operativo sviluppato da loro, ma quando Linux divenne un OS molto affermato lo sfruttarono smettendo di fornire il loro software e offrendo supporto per linux. Solaris invece decise di rendere open-source il proprio sistema operativo ma questo venne dimenticato in poco tempo, in quanto le componenti che aveva in più rispetto a linux vennero subito prese e integrate a quest’ultimo.
- FOSS Domination: lentamente, il prodotto open-source inizia a erodere il vantaggio tecnologico dei competitor commerciali, che d’altra parte non hanno alcun interesse ad innovare ulteriormente: ciascuna loro innovazione potrebbe infatti essere facilmente copiata ed essi sono inoltre già largamente rientrati del loro investimento iniziale. Il prodotto open-source inizia ad accaparrarsi fette di mercato.
- The FOSS era: alla fine il progetto open-source domina completamente il nuovo mercato, mentre le grandi aziende devono ripiegare sulla vendita di servizi più che di software. Questa è una situazione ideale, probabilmente utopica, che fino ad oggi non è mai successa
Il vantaggio di un progetto open-source non è dunque tanto la rapidità di espansione o l’abilità di intercettare il mercato, quanto il fatto che esso permetta una continua innovazione che segue le necessità del mercato, cosa che le grandi aziende faticano a conseguire in quanto ancora legate a un paradigma di investimento in cui una volta fatto il lavoro e guadagnato un tot è più costoso fare manutenzione del software piuttosto che lasciarlo morire.