Proprietario od open source?

Nel mondo dello sviluppo software prosegue il dibattito sul confronto tra software proprietario e software open source, con sviluppatori, produttori e utenti che assumono diverse posizioni al riguardo, alcune volte nascondendo interessi personali e secondi fini. In ogni caso, come accade spesso nella vita di tutti i giorni, l'argomento non è o bianco o nero, ma presenta diverse sfumature di grigio. La presenza di diversi modelli e applicazioni significa che i software open source possono essere resi disponibili senza costi di licenza, oppure come parte di un'offerta commerciale più elaborata con gestione delle licenze a parte. I due approcci non si escludono a vicenda: in molti casi, i software proprietari e open source coesistono tranquillamente, e possono addirittura contribuire a migliorare l'offerta dei prodotti e ad animare le community a cui il progettista si rivolge quando ha bisogno di supporto.

La crescita dell'open source
Fin dalla loro comparsa e diffusione come “movimento free software” negli anni '80, i software open source (termine che si è affermato negli anni '90) hanno goduto di una fortuna sempre più crescente. Coperti da contratti di licenza che consentono l'ispezione, la modifica, il miglioramento e la distribuzione del codice sorgente, i software open source si possono oggi trovare in applicazioni che vanno dalle macchine industriali alla strumentazione medica, dall'elettronica di consumo ai sistemi di difesa.
Tra i numerosi vantaggi che derivano dall'adozione di un software open source ci sono i costi (spesso è disponibile gratuitamente), la flessibilità di sviluppo e realizzazione, e la mancanza di far riferimento ad un singolo costruttore. Gli argomenti portati dalla comunità dei software proprietari focalizzano anch'essi l'attenzione sui costi (il fatto che le organizzazioni investano in ricerca tecnologica e/o in assistenza tecnica a lungo termine implica che i software open source raramente siano da considerarsi gratuiti).  Senza lo sviluppo commerciale e il supporto, un'organizzazione potrebbe sostenere l'intero sviluppo del software open source da sola, il che alla lunga si rivelerebbe un approccio più costoso rispetto a quello proprietario. Inoltre non vanno sottovalutati i rischi che derivano dalla mancanza di documentazione e protezione di marchi e copyright che derivano dall'utilizzo di software open source. Per molti sostenitori dell'approccio open source, il vantaggio più evidente è la creazione di community vive il cui obiettivo è quello di collaborare per il continuo miglioramento della qualità, delle prestazioni, dell'affidabilità e della flessibilità del prodotto che hanno scelto di adottare. Queste community non solo funzionano da consulenti tecnici per il software, ma contribuiscono migliorando il codice, fungono da portavoce del marchio e formano giovani talenti stimolandoli a creare nuovi prodotti e a sperimentare nuove tecnologie in generale. Secondo la nostra esperienza, le aziende commerciali e gli sviluppatori open source possono stringere relazioni utili che consentono agli utenti di godere dei vantaggi di entrambi gli approcci, a patti che entrambe le parti si impegnano in una relazione di lungo periodo e siano trasparenti sui propri obiettivi. Le aziende possono contribuire allo sviluppo dei progetti open source proprio come i volontari, ma i loro contributi sono di natura differente. I contributi necessari a un progetto possono essere identificati in tempo, denaro e conoscenza. È facile per le aziende contribuire economicamente e condividere una conoscenza di diverso livello rispetto a quella offerta dai volontari.  Più questi contributi diventano complementari a quelli dei volontari, più il software open source potrà trarre giovamento da questa collaborazione. Occorre poi menzionare anche le diverse opzioni di licenza disponibili per gli sviluppatori. Il vero software open source, per esempio, è generalmente coperto da una licenza pubblica generale o Gpl (General public license) secondo cui il codice sorgente e le modifiche devono essere condivise con l'utente finale; il software può essere venduto, ma solitamente è disponibile gratuitamente, mentre l'assistenza (se necessaria) viene venduta separatamente e l'utilizzo del software è libero da royalties. Canonical, ad esempio, opera un business di questo tipo supportando la distribuzione di Ubuntu Gnu/Linux. Una licenza software commerciale, di contro, richiede un contributo economico e non implica la necessità di condividere il codice sorgente; di conseguenza, permette agli utenti di sviluppare applicazioni proprietarie e di far pagare le licenze temporanee. Le licenze commerciali comportano sempre un certo tipo di assistenza tecnica compresa nell'acquisto del software. C'è poi una terza via nota come Lgpl (Lesser general public license): è simile alla licenza Gpl nel fatto che il codice sorgente del software e dei suoi derivati non può essere nascosto agli utenti, ma il software può essere utilizzato per creare anche applicazioni proprietarie.

L'ecosistema open source
Contribuendo con conoscenza e denaro allo sviluppo di un prodotto che altrimenti vivrebbe solo della collaborazione dei volontari, le aziende si ritagliano uno spazio ben definito nelle community open source, assumendo la posizione di parte integrante della comunità che ruota intorno a quel prodotto e scegliendo su quali aspetti lavorare e apportare il proprio contributo. A seconda di quanto e per quanto tempo intende essere coinvolta nelle attività della community, i ruoli di un'azienda possono essere diversi. Innanzitutto le aziende mettono al centro delle loro attività il business, il che comporta tenere in considerazione anche l'utente finale. Il coinvolgimento delle aziende nelle community open source solitamente porta ad un prodotto perfezionato e maggiormente testato. Le aziende possono poi garantire maggior stabilità e continuità allo sviluppo di un prodotto. Creando un team di lavoro dedicato ad un progetto specifico, si vanno a controbilanciare le variazioni fisiologiche degli interventi dei volontari, incrementando il volume di attività della community. Di contro, le aziende necessitano di solito di una maggiore organizzazione formale del lavoro, cosa che può andare a scontrarsi con il modus operandi assolutamente autonomo dei volontari; occorre quindi che le aziende prestino attenzione al rischio che l'attenzione ed il coinvolgimento di questi ultimi crollino. Infine, i volontari fortemente motivati tendono a selezionare gli aspetti sui quali lavorare in base ai loro interessi personali, e non si dedicano alle attività di routine che potrebbero essere utili agli utenti, come per esempio risolvere piccoli bug. Le aziende invece possono dedicare personale qualificato ad espletare queste attività, che vanno ad affiancarsi ai contributi spontanei dei volontari. Alla fine, pertanto, il ruolo delle aziende nelle community open source è positivo, sempre che si vada ad instaurare una forma di collaborazione costruttiva tra le parti.

L'importanza della collaborazione
Un esempio pratico di come la disponibilità di un software in versione sia commerciale che open source possa apportare vantaggi all'intera comunità si riscontra in Qt, un framework che mette insieme una libreria C++ modulare e una serie di strumenti per gli sviluppatori. Qt viene soprattutto utilizzato per sviluppare applicazioni multipiattaforma che richiedono un'interfaccia grafica, ma anche programmi non-gui quali tool a riga di comando e console server. Il framework Qt (che comprende Api intuitive per C++ e programmazione Css/JavaScript, un Qt Creator e tutta una serie di tool e toolchain) consente agli sviluppatori di scrivere un'applicazione una volta sola e poi usarla su più hardware e piattaforme. Nel 2012 Digia ha acquisito le tecnologie software e l'intera Qt da Nokia. La piattaforma originale di Qt venne sviluppata dall'azienda norvegese Trolltech e, nel 2008, fu acquisita da Nokia. La licenza commerciale Qt e i servizi professionali furono venduti a Digia nel 2011, anno in cui si formò la community Qt Project. Qt Project garantisce che lo sviluppo di Qt sia un progetto davvero open source, dove sia gli sviluppatori volontari che quelli professionali di Digia lavorano insieme per migliorare Qt.
La domanda più ovvia è: quando Qt verrà reso disponibile gratuitamente, ci sarà qualche sviluppatore disposto a pagare per una licenza commerciale? Tutto dipenderà dal target di riferimento, ma ci sono alcuni motivi che spingono a valutare comunque l'alternativa commerciale, perché potrebbe rappresentare la strada per risparmiare davvero. La licenza Lgpl, ad esempio, presenta alcune restrizioni che riguardano la possibilità per gli utenti di linkare le librerie, e altre che impongono requisiti di architettura che vanno ad incrementare i costi di utilizzo e di mantenimento per le aziende. La licenza commerciale Qt protegge inoltre le proprietà intellettuali di valore supportando lo sviluppo di software interamente proprietari, e offrendo allo stesso tempo un servizio di assistenza di qualità come parte integrante della licenza. Non solo. Per via di restrizioni dovute all'iniziare lo sviluppo di un software in versione licenza open source e poi passare alla versione commerciale, spesso si acquista una licenza commerciale nella fase iniziale dello sviluppo di un progetto. Lo sviluppatore ha poi la facoltà di decidere il tipo di licenza (commerciale o open source) del prodotto finito al momento della distribuzione del software. Per far questo si crea un'applicazione che linka dinamicamente alle librerie Qt e poi, al momento della distribuzione, si decide se linkare alle librerie Qt con licenza commerciale o a quelle con licenza open source.

Supporto reciproco
Indipendentemente dalla licenza adottata, sia gli sviluppatori volontari che quelli professionali e la community tutta possono trarre importanti benefici dalla presenza delle offerte commerciali e viceversa.  Ad esempio, si consideri la questione dei bug, una sfida difficile da affrontare per tutti i software in continua evoluzione. In Qt ci sono centinaia di dipendenti che lavorano a identificare bug esistenti e potenziali e che realizzano delle patch per risolverli. Queste persone non sono necessariamente esperte più dei loro colleghi che partecipano alla community Qt, ma sono persone assunte per la loro conoscenza di Qt e che dedicano gran parte del loro tempo a testare e a utilizzare la piattaforma, e che vengono pagate per i risultati che riescono a raggiungere. Eppure le patch che sviluppano vengono rese disponibili gratuitamente alla community Qt Project perché questa le utilizzi. Nella community Qt ci sono centinaia di migliaia utenti e migliaia di contribuenti attivi che utilizzano le ultime versioni di Qt per le loro applicazioni; queste persone aiutano a migliorare la qualità di Qt riportando i problemi quando ne trovano. Molti forniscono poi dei fix per migliorare la qualità del Qt Project. Grazie all'approccio open, molte nuove funzionalità di Qt arrivano direttamente dalle community open source e business. Infine, c'è da considerare l'aspetto del supporto. Gli utenti delle versioni open source di un prodotto devono pagare per ricevere assistenza; una realtà come Digia, che trae profitto e investe nell'assistenza per licenze commerciali, può rendere disponibili i propri servizi alle aziende che scelgono di perseguire la strada della licenza open source. Lo scopo è sempre quello di assicurare la soddisfazione dei clienti, indipendentemente dal tipo di versione da questi adottata.

Una community variegata
Dall'esempio di Qt risulta chiaro che quando le opzioni proprietarie / open source coesistono è l'intera comunità di utenti di un prodotto a beneficiarne, in termini sia di miglioramento costante della piattaforma che di accesso all'assistenza che semplifica e velocizza lo sviluppo di un'applicazione. E per un'organizzazione che offre licenze commerciali essere membro attivo di una community dà un senso diverso alla parola “business”, arrivando a coinvolgere non solo gli utenti diretti dei suoi prodotti e servizi ma anche altri utenti che condividono la loro esperienza e contribuiscono così a migliorare i prodotti offerti agli utenti commerciali.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome