Opportunità e prospettive


 

Utilizzare componenti o applicativi free può rivelarsi utile in molti processi di sviluppo, ma bisogna tenere ben presenti potenzialità e limiti intrinseci di questo approccio.

Il ricorso a prodotti appartenenti all’area del free software è da molto tempo croce e delizia dei responsabili IT che gestiscono lo sviluppo di applicazioni. Nel corso degli anni il fenomeno ha assunto connotazioni più precise, che fanno di quest’area una fonte di opportunità, ma anche di rischi. Cercheremo quindi di mettere a fuoco entrambi gli aspetti, per capire quando e sotto quali condizioni si può scegliere questa soluzione.

Vantaggi e svantaggi

Il software gratuito non è un fenomeno nuovo e nemmeno omogeneo: le offerte si differenziano per molti aspetti, i più importanti dei quali sono il tipo di licenza e la disponibilità del codice sorgente. I tipi di prodotti che si possono trovare sono i più diversi, e vanno dai componenti per gli strumenti RAD (Rapid Application Development) a programmi completi di livello professionale.

L’esperienza insegna che, in generale, il free software ha tanti vantaggi quanti svantaggi. A fronte di un investimento pressoché nullo, offre programmi generalmente di buona qualità in quasi tutti i settori applicativi: dalla multimedialità all’office automation. Quasi mai, però, garantisce un supporto adeguato alle necessità, e la sua manutenzione è affidata alla buona volontà di singoli programmatori.

Per questi motivi è sempre stato considerato un potenziale valore solo quando lo si prende in considerazione per progetti a breve termine, il cui prodotto avrà una durata di vita limitata.

Il ruolo di Internet

La caratteristica principale dell’open source è la capacità di aggregare il maggior numero possibile di sviluppatori intorno a un unico progetto, garantendo contemporaneamente che i lavori procedano con regolarità al cambiare dei partecipanti. Nonostante si tratti di un’organizzazione complessa, i risultati sono stati decisamente positivi grazie anche all’uso di Internet, che ha fornito il supporto ideale per creare in modo economico ed efficace gruppi di lavoro altrimenti irrealizzabili. Non solo l’allargamento della base di sviluppatori ha reso più stabili i rilasci delle applicazioni, ma ha anche ridotto il rischio di fallimento dei progetti, in quanto li ha di fatto resi indipendenti dalla volontà di un singolo autore.

L’esperienza ha dimostrato che anche quando i prodotti distribuiti con licenza pubblica abbandonano questa filosofia per assumere un carattere commerciale, la comunità di sviluppatori è in grado di riproporre, in tempi solitamente brevi, una soluzione open source alternativa alla precedente. Un altro pregio non trascurabile è rappresentato dalla disponibilità del codice sorgente, che garantisce (entro i termini della licenza) la possibilità di intervenire attivamente sul funzionamento dell’applicazione.

Da alcuni anni, però, la situazione è assai migliorata, grazie prevalentemente alla diffusione di Internet. La Rete ha permesso a migliaia di sviluppatori di diffondere il proprio lavoro a un pubblico enorme, ricevendo in cambio importanti feedback; inoltre ha permesso al fenomeno dell’open source di assumere una struttura più stabile e aperta rispetto alla prima metà degli anni Novanta.

L’open source è software il cui codice sorgente è reso disponibile senza fini di lucro, e che può essere modificato a piacere a patto che le modifiche siano rese pubbliche anch’esse; non presenta, invece, limiti di utilizzo anche commerciale. Generalmente questo software è rilasciato sotto licenza GPL (General Public License).

L’esempio più clamoroso di software open source è certamente Linux, il popolare sistema operativo che insidia lo strapotere di Windows, ma sarebbe sbagliato ricondurre il fenomeno solo a questo pur importante prodotto. Dietro l’open source, infatti, si cela una filosofia diversa dello sviluppo del software, legata a strategie di mercato che privilegiano i servizi rispetto ai prodotti.

Strategie diverse

Non è un caso che alcune società fornitrici di servizi partecipino, promuovendoli attivamente, a progetti open source. Esse non si preoccupano del fatto che la concorrenza possa disporre degli stessi strumenti informatici perché, a parità di software, ritengono di poter essere competitive grazie alla qualità dei servizi.

In cambio, abbattono le spese di licenza dei programmi (il software è gratuito) e della manutenzione, che viene affidata alla comunità di sviluppatori.

La Rete ha avuto e ha un ruolo fondamentale nel supportare i progetti open source, ma purtroppo non può evitare la duplicazione dei progetti stessi, per cui spesso ci si ritrova con prodotti open source molto simili, tra i quali diventa difficile scegliere quello più adatto alle proprie esigenze.

Un responsabile IT che volesse considerare l’uso di software gratuito per realizzare un progetto dovrebbe quindi avere una serie di discriminanti in base alle quali scegliere di volta in volta la soluzione migliore.

Open source in prima persona

Nel caso in cui un progetto di sviluppo abbia un valore strategico per l’azienda, può essere interessante partecipare attivamente allo sviluppo open source. Questa scelta implica che il prodotto sia a sua volta reso pubblico e non possa essere rivenduto o inserito in altri progetti destinati alla rivendita: non è, quindi, la scelta giusta per le software house.

Se pensiamo però a fornitori di servizi, come per esempio gli ISP, ci accorgiamo che nella determinazione del valore della loro offerta commerciale il software non assume un ruolo decisivo: la qualità, la varietà, ma soprattutto l’integrazione dei servizi in una logica ben precisa sono più importanti. In quest’ottica, può essere conveniente adottare i progetti open source per poi sviluppare solo quelle porzioni di codice che servono a integrare l’applicazione con le proprie strategie aziendali. Quand’anche il prodotto fosse rilasciato al pubblico, difficilmente un concorrente potrà farlo proprio senza dovere a sua volta intervenire per adattarlo alle proprie esigenze, che dovranno soddisfare strategie differenti.

L’investimento necessario ad avere il prodotto che serve attraverso l’open source, quindi, è abbastanza protetto, e inferiore alla realizzazione di un progetto partendo da zero.

Come muoversi

Il primo aspetto da considerare è se esista un prodotto gratuito che soddisfi pienamente i requisiti del progetto. In questo caso, è opportuno chiedersi se è disponibile il codice sorgente, se esiste una comunità di programmatori che ne supporta lo sviluppo e, infine, se il prodotto è andato oltre il rilascio iniziale.

Se una di queste domande ha risposta negativa, ci si devono attendere problemi di manutenzione in un futuro più o meno immediato. In particolare, la disponibilità del codice è una condizione necessaria, perché mette in grado chi lo usa di assicurare autonomamente lo sviluppo del software stesso, salvo il caso di una sua particolare complessità.

Se invece le domande hanno risposta affermativa, è ragionevole affidarsi all’open source.

Una base di partenza

Spesso, purtroppo, i prodotti disponibili soddisfano solo in parte le necessità, ma si può ugualmente usare il software gratuito, completo obbligatoriamente di codice sorgente, come base di partenza per svilupparne una versione personalizzata. E’ molto importante in questo caso accertarsi che la licenza sotto la quale il prodotto open source è rilasciato sia compatibile con gli scopi del progetto dal punto di vista commerciale (la modalità in cui è distribuito un codice open source può in alcuni casi limitarne l’uso commerciale).

Imparare lavorando

Altrettanto importante è il contesto nel quale si deve gestire il progetto, in particolare la dimensione e le attitudini del team di sviluppo. Soprattutto i piccoli gruppi di lavoro possono trovare vantaggioso partire da una base di software già sviluppato, sul quale svolgere un’operazione di reverse engineering per capirne l’architettura, i principii di sviluppo e lo stile di programmazione.

I benefici che si hanno da questo studio vanno oltre la comprensione del singolo programma, perché permettono di scoprire tecniche di programmazione di uso generale, ma richiedono una marcata capacità di analisi e di intuizione. Questa è una prerogativa che non tutti gli sviluppatori possiedono: molti preferiscono operare esclusivamente sul codice da essi stessi prodotto.

Al crescere delle dimensioni del team, quando i tempi di sviluppo sono più rapidi e la complessità gestibile è maggiore, diminuisce il vantaggio immediato nell’uso di programmi gratuiti, che conserva tuttavia una sua ragion d’essere per le funzionalità che esulano dalle competenze del gruppo di lavoro.

Un’eccezione a questa regola, degna di essere segnalata, è il caso in cui il software offra una struttura modulare per lo sviluppo di nuove funzionalità: qui lo studio della piattaforma è davvero una forma di investimento, dato che la modularità permette di gestire con facilità la manutenzione di progetti anche complessi.

Non per tutti

In conclusione, possiamo affermare che il ricorso all’open source dovrebbe sempre essere valutato senza pregiudizi.

Le sue caratteristiche ne fanno un riferimento affidabile e competitivo rispetto allo sviluppo interno o all’acquisto di prodotti commerciali, anche se il suo uso non può essere adatto a tutte le esigenze: i fornitori di servizi appaiono senza dubbio i fruitori migliori.

La partecipazione diretta a progetti open source, inoltre, può fornire agli analisti e ai programmatori notevoli miglioramenti professionali, sia nel confronto con altri colleghi sia nello studio generico delle tecniche di programmazione.

Prospettive

Ormai si può dire che il software libero ha raggiunto un buon grado di maturità, visto che sono disponibili alcuni sistemi operativi liberi ben funzionanti (GNU/Linux, FreeBSD, OpenBSD e NetBSD) e programmi per la maggior parte delle esigenze. 

Software Libero nelle aziende

Il software libero sta entrando nel mondo aziendale, innanzitutto per quello che riguarda il lato server, dove costituisce già un serio concorrente per sistemi basati su Unix proprietari, anche con soluzioni basate su Linux proposte da giganti dell'informatica come IBM. Negli ultimi tempi, inoltre, si è visto anche un notevole sviluppo sul ramo desktop. 

Software Libero nella pubblica amministrazione

I numerosi vantaggi sia dal punto di vista della sicurezza che da quello economico hanno spinto numerose nazioni in tutto il mondo a promuovere l'utilizzo di software libero nella pubblica amministrazione; in Italia è stata presentata una proposta di legge in tale senso e sono sempre più numerose le amministrazioni locali che hanno deciso di favorire soluzioni di questo tipo.

Software Libero sul desktop

Il prossimo passaggio nella diffusione del software libero sembrerebbe essere la sua diffusione tra gli utenti finali, sia sui computer usati come client all'interno di aziende, che nelle case di coloro che, pur dovendo o volendo usare un computer, non sono interessati alla sua conoscenza più o meno tecnica. 

Per questi casi, attualmente si può dire che i programmi più importanti esistano e siano sufficientemente funzionanti, tuttavia l'introduzione di sistemi totalmente liberi in tali ambiti incontra ancora alcune obiezioni, più o meno fondate. 

Un grosso problema è la libertà di scelta, uno dei grossi vantaggi del software open source, che però diventa un ostacolo quando presentata a persone che non hanno né le competenze né l'interesse a compiere una scelta, ma sono ben disposti ad accettare passivamente ciò che la maggioranza usa. 

Un problema meno pressante, ma che viene spesso citato, invece è la presunta difficoltà di installazione e configurazione dei principali sistemi liberi: oggi come oggi esistono distribuzioni Linux facili come le principali alternative proprietarie, se non di più, e coloro che non sono in grado di farlo sono coloro che si sarebbero comunque rivolti ad altri con qualunque sistema. Al più si potrebbe lamentare una scarsità di supporto commerciale per queste persone, compensata però almeno in parte dalla disponibilità di una buona parte degli altri utenti di software libero. 

La sfida per una diffusione in tale senso comunque è attualmente aperta, e sta vedendo gli sforzi di un numero sempre maggiore di persone.


Precedente ] Home ] Su ] Successiva ]

Un nuovo modo di comunicare: Open Source e Free Documentation License
ITIS "Luigi Negrelli" Feltre - Unione Artigiani e Piccola Industria di Belluno