Migliori download

  Forum: Ultim Argomenti

25/04/2024

NAMP

Official Website

La Rivoluzione Dell’Open Source

Open Source

17/11/2010 – Open Source (termine inglese che significa sorgente aperta), in informatica, indica un software di cui gli autori (più precisamente i detentori dei diritti) rendono pubblico il codice sorgente, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche ed estensioni. Questa possibilità è regolata tramite l’applicazione di apposite licenze d’uso. Il fenomeno ha tratto grande beneficio da Internet, perché esso permette a programmatori geograficamente distanti di coordinarsi e lavorare allo stesso progetto.

Alla filosofia del Movimento Open Source si ispira il movimento Open Content (contenuti aperti): in questo caso ad essere liberamente disponibile non è il codice sorgente di un software, ma contenuti editoriali quali testi, immagini, video e musica. Wikipedia è un chiaro esempio dei frutti di questo movimento. Attualmente l’Open Source tende ad assumere rilievo filosofico, consistendo in una nuova concezione della vita, aperta e refrattaria ad ogni oscurantismo, che l’open source si propone di superare mediante la condivisione della conoscenza.

Storia

Negli anni quaranta il problema della condivisione del codice si poneva in termini molto diversi da quelli attuali. Esistevano pochi computer, costruiti spesso in un unico esemplare e con specifiche hardware molto diverse e non compatibili. Basti pensare che solo nel 1951 una ditta metterà a listino un modello di computer, il Ferranti Mark 1. Di conseguenza anche il software che veniva sviluppato caso per caso non poteva essere trasportato su altre macchine e aveva standard di riferimento a cui attenersi. D’altra parte, le conoscenze di programmazione venivano liberamente condivise in quanto erano considerate più simili alle conoscenze scientifiche che a quelle industriali.

Verso la fine degli anni cinquanta, e soprattutto negli anni sessanta, è stato possibile riusare lo stesso codice e distribuirlo anche se in modo oggi ritenuto piuttosto artigianale, ovvero con nastri e schede perforate. Questo fenomeno diventò evidente soprattutto quando si affermò il vantaggio di usare una stessa porzione di codice, il che presupponeva di avere macchine uguali e problemi simili.

Fino a tutti gli anni settanta, anche se in misura decrescente, la componente principale e più costosa di un computer era l’hardware, il quale era comunque inutile in assenza di software. Da ciò la scelta dei produttori di hardware di vendere il loro prodotto accompagnato da più software possibile e di facilitarne la diffusione, fenomeno che rendeva più utili le loro macchine e dunque più concorrenziali. Il software, tra l’altro, non poteva avvantaggiare la concorrenza in quanto funzionava solo su un preciso tipo di computer e non su altri, spesso neanche su quelli dello stesso produttore. Un altro fattore che favorì lo sviluppo di software condiviso fu la diffusione di linguaggi di programmazione. Specie in ambito scientifico un programma scritto in Fortran poteva essere scambiato tra diversi ricercatori. La disponibilità del codice sorgente era indispensabile per apportare le piccole modifiche rese necessarie dai “dialetti” adottati dalle varie ditte per il linguaggio di programmazione.

Lo sviluppo dei sistemi operativi rese i programmi sempre più portabili, in quanto lo stesso sistema operativo, con gli stessi compilatori veniva offerto dal produttore sui suoi diversi modelli di hardware. La presenza di sistemi operativi funzionanti per macchine di differenti produttori hardware ampliava ulteriormente le possibilità di usare lo stesso codice in modo relativamente indipendente dall’hardware usato. Uno di questi sistemi operativi era Unix, iniziato nel 1969 come progetto all’interno di un’impresa delle telecomunicazioni, la AT&T. Una famosa causa antitrust contro la AT&T le vietò di entrare nel settore dell’informatica. Questo fece sì che Unix venisse distribuito ad un prezzo simbolico a buona parte delle istituzioni universitarie, le quali si ritrovarono ad avere una piattaforma comune, ma senza alcun supporto da parte del produttore. Si creò spontaneamente una rete di collaborazioni attorno al codice di questo sistema operativo, coordinata dall’Università di Berkeley, da dove sarebbe poi uscita la versione BSD di Unix, che diventa da un lato un centro di sviluppo ed innovazione, dall’altro è la base di partenza per numerosi fork.

La Nascita Del Software Proprietario

Considerato che la condivisione del codice è nata insieme all’informatica, piuttosto che di origini dell’Open Source potrebbe essere più appropriato parlare, invece, di origine del software proprietario, ed esaminare il contesto storico in cui questa origine ha avuto luogo.

L’utilità principale delle licenze restrittive consiste nella possibilità di rivendere un programma più volte, se necessario con alcune modifiche purché non rilevanti. Questo presuppone che esistano clienti diversi con esigenze simili, oltre che l’esistenza di più computer sul quale poter far eseguire il programma. Queste condizioni cominciano a determinarsi negli anni sessanta, grazie al fatto che esisteva un maggior numero di utilizzatori con esigenze standardizzabili come lo erano quelle delle organizzazioni economiche nell’area della contabilità, la logistica o delle statistiche.

L’introduzione dei sistemi operativi rese inoltre possibile l’utilizzo dello stesso programma anche su hardware differente aumentando così le possibilità di riutilizzo dello stesso codice e dunque l’utilità nell’impedire la duplicazione non autorizzata dei programmi.

La suddivisione della AT&T in 26 società, le cosiddette Baby Bell, permise alla AT&T di usare logiche prettamente commerciali nella distribuzione del suo sistema operativo Unix, innalzando notevolmente i costi delle licenze e impedendo la pratica delle patch. Il 1982 fu anche l’anno della divisione delle diverse versioni commerciali di Unix, portate avanti dai singoli produttori di hardware. Questi ultimi, effettuando delle piccole modifiche alla propria versione del sistema operativo, impedirono ai propri utenti l’utilizzo di altri sistemi, facendo in modo che i programmi scritti per la propria versione di Unix non funzionassero su versioni concorrenti.

Modalità Di Guadagno

Lo sviluppo Open Source ha tra le sue caratteristiche quello di essere quasi sempre gratuito, tanto da creare confusione tra alcuni che credono che “Open Source” e “gratuito” siano sinonimi. Ci si potrebbe chiedere perché delle persone si dedichino allo sviluppo di progetti talvolta semplici, talvolta impegnativi e complessi, senza una remunerazione. In realtà, ci possono essere delle forme di guadagno (non sempre) e si può ricorrere ad una o più strategie per questo scopo. Nella seguente lista, con “sviluppatore” si può intendere sia uno o più privati, sia un’azienda che crea ed eventualmente si occupa di migliorare/manutenere il programma o prodotto software:

1. Donazioni: lo sviluppatore dà la possibilità di fare delle donazioni non obbligatorie a chi usa il suo programma, come ringraziamento o come incoraggiamento per un ulteriore sviluppo.

2. Servizio di supporto a pagamento: il programma è gratuito ma si paga per avere il supporto dello sviluppatore; se il supporto prevede donazioni, si può ritenere simile al punto precedente.

3. Sponsorizzazione: il programma o il sito che lo ospita può contenere il nome o altro tipo di pubblicità ad un’azienda che supporta economicamente lo sviluppatore; può anche succedere che un’azienda si occupi dello sviluppo di un programma gratuito e conti sulla pubblicità che riscuoterà da esso per farsi conoscere.

4. Guadagni grazie alla didattica: se il prodotto creato è particolarmente complesso, spesso si tratta di un nuovo linguaggio di programmazione o di una particolare libreria (o framework ecc.), lo sviluppatore può guadagnare grazie all’organizzazione di corsi di apprendimento del prodotto, la vendita di libri ecc. Questo tipo di guadagno può risentire della concorrenza di guide che sono o saranno pubblicate gratuitamente in rete da parte di utenti, e può dar vita ad una strategia di mercato piuttosto complessa. Nei casi di librerie (o framework) che vogliono fare concorrenza a prodotti esistenti, si deve convincere che essi siano efficaci e più facili degli altri prodotti disponibili. Il produttore può anche rendere disponibile in rete delle introduzioni all’apprendimento del proprio prodotto che però non coprono tutte le potenzialità dello stesso, cercando allo stesso tempo di creare una comunità di supporto ed un gergo che l’accomuni. Il gergo può far uso di termini nuovi che rimpiazzano quelli già in uso, giustificati con motivazioni diverse (ad esempio, le “funzioni” in Java sono chiamate “metodi“, nonostante compiano azioni o restituiscano un risultato di un’elaborazione). Talvolta può dar vita ad una serie di acronimi che rendono quasi criptico il linguaggio (si veda il framework Spring). In tal modo si riesce a far diminuire il numero degli autodidatti che imparano in rete, spingendo chi vuole apprendere a comprare libri per l’apprendimento e le pratiche ottimali da seguire e/o seguire corsi e contemporaneamente si crea una comunità di sviluppatori fedele nel tempo, spesso unita anche da una “filosofia” di programmazione.

Ti È Stato Utile Questo Contenuto?

Clicca Su Una Stella Per Esprimere Il Tuo Giudizio!

Voto Medio 4.8 / 5. Votanti Totali: 120

Nessun Voto Al Momento. Perchè Non Voti Per Primo!

Spiacente Che Non Sia Stato Utile Per Te!

Miglioriamo questo contenuto!

Mi Aiuti A Capire? Cosa Non Ti È Piaciuto?