Open Source
Il primo vero articolo del mio blog è dedicato a una delle mie scoperte più recenti: l’Open Source e al Software Libero, Free Software.
Cercherò brevemente (per quanto sia possibile parlando di un argomento così vasto) di spiegarvi cosa c’è di tanto meraviglioso nel mondo del “free software”, di introdurvi ai concetti basiliari e di fornirvi qualche conoscenza di base, sperando che anche voi cominciate ad interessarvi.
Premessa: non sono un esperto di software libero, lo conosco da poco, ma quello che sto per porvi di fronte è diciamo una guida “by newbies for newbies”. Se qualcuno incontra degli errori è pregato di farmeli presenti, ho cercato di informarmi al mio meglio sull’argomento. Grazie!
Ho apportato delle modifiche al post originale dopo essere stato informato che Open Source non sempre corrisponde al Software Libero. Grazie Stemby! :)
Cos’è l’Open Source e come funziona?
Open Source letteralmente significa “sorgente aperto”. Questo, applicato all’informatica significa che un programma verrà distribuito con il suo codice sorgente. Per coloro che non sanno cos’è un codice sorgente, vi basti sapere che avendolo a disposizione un programmatore può modificare e riscrivere un software. Normalmente infatti i programmi vengono distribuiti già compilati, e non possono esservi applicate modifiche, se non attraverso complessi procedimenti (che sono anche illegali tra l’altro). Invece con l’open source, nella maggior parte dei casi, non solo il programma è distribuito con il suo sorgente allegato, ma è permessa qualsiasi modifica e qualsiasi metodo di ridistribuzione, anche a pagamento. Questo in genere comporta un miglioramento del programma. Infatti chiunque può partecipare allo sviluppo del software ed è ovvio che potendo più persone partecipare ad un progetto questo si svilupperà più velocemente e in maniera trasparente. Infatti l’avere a disposizione il sorgente dei programmi garantisce all’utenza che il programma non conterrà porzioni di codice malevolo come spyware o virus.
Open Source != Freeware
(per chi non capisse “!=” significa “diverso”)
Open Source e Free Software (software libero) non significa gratis. Questo è il primo concetto da mettere in chiaro. La licenza GNU GPL (cioè la principale licenza con la quale vengono distribuiti i programmi Open Source) non vieta la distribuzione a pagamento dei programmi rilasciati con essa. E’ ovvio però pensare che un utente non pagherebbe mai per ciò che da altre fonti può essere prelevato gratuitamente (e soprattutto legalmente). In genere infatti quello che viene fatto pagare ad un utente che acquista un programma Open Source è ad esempio il supporto, la garanzia di aggiornamenti costanti, etc…
E bisogna anche precisare che chiunque può prendere un programma rilasciato sotto licenza GPL e ridistribuirlo come vuole, a pagamento o gratis. Incredibile eh? Quindi, quello che dovete farvi entrare in testa per capire l’Open Source è:
Think of “free speech”, not “free beer”
Dall’Open Source al Software Libero, anzi, il contrario!
Non sempre però l’Open Source può essere definito Free Software. Potrebbe infatti capitare di trovarsi di fronte a una licenza che permetta la visione del sorgente ma non ne permetta modifica e ridistribuzione, oppure che vieti solo alcuni tipi di ridistribuzione (ad esempio “è vietata la distribuzione per scopi commerciali”). In questo caso il software sarebbe sì Open Source ma non libero, in quanto violerebbe la Libertà 0, che sancisce il diritto di usare il software per qualsiasi scopo. Per la stragrande maggioranza dei casi però il software Open Source viene distribuito con una licenza GNU GPL, che garantisce all’utente finale le famose “quattro libertà“.
Perchè passare al Free Software?
La prima cosa che mi viene da dirvi per convincervi è: perchè è per il 99% gratis! Anche se siamo abituati ad utilizzare Windows senza pagare la dovuta licenza e a scaricare programmi da eMule come se fosse una fonte ufficiale dobbiamo comunque ricordarci che stiamo scaricando qualcosa di illegale e soprattutto stiamo vanificando il lavoro di decine di persone che si aspettano un introito dal loro prodotto. Al costo di sembrarvi un moralista è come non pagare un prodotto al supermercato.
Tra l’altro è noto che molti lo fanno diciamo per “combattere Microsoft”. Invece si sbagliano, e di molto. Voglio citarvi questo articolo trovato su un’altro blog del quale vi consiglio caldamente la lettura per rivedere le vostre posizioni.
In particolare vi cito delle domande che si pone l’autore:
Quanta gente esiste che crede di fregare Microsoft creando i crack per i suoi O.S. ?
Quanta gente furba esiste che passa il suo tempo trovando soluzioni per sorvolare i sistemi di protezione dei software ?
Quanti di questi credono di fare qualcosa di giusto?>
Le risposte sono molto semplici, ma il punto è che questo non porta ad altro che a rendere Windows sempre più diffuso. Immaginiamo invece se tutti dovessimo pagare il dovuto per i programmi, quanti di noi passerebbero subito al Free Software? Ecco, per questo sono d’accordo con imu sul fatto che questo comportamento, incredibilmente, non porta altro che la sempre maggiore diffusione di Windows.
Vi invito quindi a prendere in considerazione molto seriamente la filosofia del Software Libero, ricordandovi che essa non appartiene solo all’informatica, ma può essere applicata a qualsiasi opera, con il concetto di “open content”.
Letture Consigliate
Oltre a quanto già citato nel blog vi suggerisco:
Vorrei aggiungere qualcosa prelevato dal blog di Felipe e altri, ma purtroppo WordPress in questo momento è down.
Tag: Open Source, Pensieri
25 agosto 2007 alle 16.57
Premetto che ho letto fino alla fine questo intervento….diciamo che la maggior parte delle cose già le sapevo, cmq è risaputo che conviene O.S. ma certo sembra che tu (anche se non l’hai mai menzionato) ci spingi a passare a linux! :lol:
ps: nessuno di noi(almeno) si deve preparare una tesi su O.S. questo sembra una documentazione scolastica! Non scrivere ste cose sennò nessuno lo legge il tuo blogghino, è un argomento noioso! :sad: certo è utile saperlo ma al limite allegaci il link di wiki e chi è interessato va a vedere…
è lunghissimo noi utenti “semi-interessati” ci addormentiamo prima! io ho già la bavetta alla bocca e le lacrime a gl’ occhi! :roll:
ciauz ancora
25 agosto 2007 alle 20.58
Fatta bene tra l’altro. ;-)
Penso che il post l’hai scritto bene per i principianti, il che non è facile a chi come me ci è troppo abituato. :-D
26 agosto 2007 alle 00.35
Ben fatto, bravo!
Un unico appunto: forse non hai ancora ben chiara la differenza tra Open Source e Software Libero. Non ti preoccupare! Ci ho impiegato anche io qualche anno prima di capirla a fondo (spero) :wink: Comunque, in sostanza, faresti meglio a sostituire più o meno tutti gli “open source” (in particolare nel primo paragrafo) con “software libero” o (visto che, a quanto pare, siamo tutti esterofili) con “free software”. Questo perché ciò che illustri è proprio il software libero, e non l’open source.
Nella realtà i due concetti si sovrappongono quasi sempre (ma non sempre!), nel senso che per forza di cose un software libero (come lo intende Stallman) deve essere open source. Però con “open source” si indica l’aspetto tecnico, che non ha niente a che vedere con le licenze. Provo a spiegartelo con degli esempi: uno potrebbe distribuire i sorgenti senza pretendere, mettiamo, che il programma derivato possieda una licenza uguale (come chiede la GNU GPL). Ad esempio tu potresti scrivere un programma e distribuirlo rinunciando a qualsiasi diritto di sfruttamento economico (= dominio pubblico). A quel punto io posso prendere i sorgenti e farci quello che voglio. Altro esempio, forse più calzante: una licenza molto libera (troppo?) quale è la BSD, permette l’inclusione di codice rilasciato sotto questa licenza anche in software closed (ad esempio Mac OS X ha pescato abbondantemente da software open source rilasciati con questa licenza).
In sintesi: open source è un fatto tecnico, più legato se vuoi alla programmazione vera e propria. Software libero è un concetto più legato agli aspetti etici, ovvero all’inserimento di software, sotto particolari licenze che garantiscano le 4 famose libertà di Stallman, nella società reale in cui siamo immersi.
Spero di non averti confuso ancor più le idee.
In bocca al lupo!
26 agosto 2007 alle 01.01
Intanto grazie per la dritta! :)
Mi sono fatto un giretto quà e penso di aver capito cosa intendi. Non capisco però come si possa “litigare” per così poco, in fondo sono “quasi” la stessa cosa no? :D
Se mi vuoi dare una mano a migliorare il post ne sarei lieto :)
Io intanto ho applicato delle modifiche, dimmi tu se sono corrette!
P.S. Quindi si può affermare che l’Open Source con le relative licenze sia un ramo del Free Software?
26 agosto 2007 alle 03.57
Non voglio litigare! :grin: Il fatto è che il software libero è basato su delle scelte etiche, e conoscerle è importante. Diciamo che cambia il punto di vista: l’utente open source pensa “scelgo open source perché è un modello di sviluppo che funziona meglio, che genera prodotti di qualità migliore”. E’ più pragmatico, se vogliamo. Quello del software libero dà quasi “per scontato” il fatto di disporre dei sorgenti (riguarda solo 2 delle 4 libertà di Stallman), lo sceglie invece specialmente per le implicazioni sociali che l’uso del software libero provoca. Forse è meglio che ti leggi (se hai voglia, io ho solo dato una scorsa veloce) direttamente documento della Free Software Foundation (la fondazione di Stallman) che sicuramente lo spiega meglio di come possa fare io.
In sostanza secondo me è abbastanza giusto quello che dici: diciamo che il free software è un sottoinsieme del software open source, è comunque un sottoinsieme molto grosso, che riempie quasi totalmente l’insieme “software open source”.
L’introduzione ora è a posto. Il primo paragrafo è invece sbagliato, dove dici che bisogna redistribuire il software modificato sotto la stessa licenza: la cosiddetta “viralità” riguarda in pratica solo la GNU GPL e simili. Come ti ho già detto, la licenza BSD non richiede niente del genere (tanto è vero che quelli della Apple vi hanno pescato abbondantemente). Basta cancellare quelle poche parole, il resto va bene.
Una breve parentesi sulla BSD visto che, rileggendo quanto ho scritto nel mio primo intervento, forse ti ho confuso più di prima. Premetto di non conoscere molto dettagliatamente questa licenza, comunque si tratta della seconda più importante tra le licenze free software, dopo la GPL, e se vogliamo è ancora più libera della GPL. Per contro, non garantisce l’approccio impostato da Stallman. Vedi anche . E’ comunque compatibile GPL, nel senso che uno può pescare da un software sotto BSD e redistribuirlo sotto GPL (cosa che fa di solito imbestialire gli sviluppatori che rilasciano sotto BSD, visto che a quel punto non possono più inserire i miglioramenti sotto BSD a causa della viralità della GPL)… insomma, il mondo delle licenze è un po’ un casino, però secondo me è importante almeno conoscerle nei punti cardine.
Invece licenze open source non compatibili col software libero, oltre quelle che hai citato, sono quelle che non consentono l’utilizzo “per qualsiasi scopo” (libertà 0): no scopi commerciali, solo privati e no aziende, ecc. ecc, ecc.
Bel lavoro, complimenti ancora.
26 agosto 2007 alle 03.59
Ops… non ho chiuso i tag (non scrivo quasi mai niente in HTML…); sistemi tu?
26 agosto 2007 alle 11.24
Non mi hai capito! :D
Non dicevo di litigare con te, intendevo perchè litigano tra loro, ma ora comincio a capire.
Correggo quello che mi hai detto e ti ringrazio per i complimenti! :)
27 agosto 2007 alle 01.51
Ben fatto, ora mi sembra molto buono. (ti è sfuggito un punto nel paragrafo ” Open Source != Freeware”, prima di “E’ ovvio…”)
“oppure che non permettesse qualsiasi tipo di ridistribuzione”
io lo sostituirei (mi sembra meglio) con: “oppure che non permetta il suo utilizzo per qualsiasi scopo”, o simili. Trovo che la libertà di usare il software liberamente “per qualsiasi scopo” sia davvero uno dei punti cardine della GPL (non per niente è espresso nella “libertà 0″, la prima), e bisognerebbe fermarsi a rifletterci qualche istante.
Nel mio ultimo intervento, a metà circa del penultimo paragrafo: Vedi anche …
questo
Sarò mai riuscito ad usare la sintassi corretta, questa volta? :grin: