thegnuproject.html (63048B)
1 <!--#set var="ENGLISH_PAGE" value="/gnu/thegnuproject.en.html" --> 2 3 <!--#include virtual="/server/header.it.html" --> 4 <!-- Parent-Version: 1.96 --> 5 <!-- This page is derived from /server/standards/boilerplate.html --> 6 <!--#set var="TAGS" value="gnu-history" --> 7 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> 8 9 <!-- This file is automatically generated by GNUnited Nations! --> 10 <title>Il progetto GNU - Progetto GNU - Free Software Foundation</title> 11 <style type="text/css" media="print,screen"><!-- 12 a[href*='#ft'] { font-size: .94em; } 13 --> 14 </style> 15 <meta http-equiv="Keywords" content="GNU, GNU Project, FSF, Free Software, Free Software Foundation, History, 16 progetto GNU, storia, software libero" /> 17 18 <!--#include virtual="/gnu/po/thegnuproject.translist" --> 19 <!--#include virtual="/server/banner.it.html" --> 20 <!--#include virtual="/gnu/gnu-breadcrumb.it.html" --> 21 <!--GNUN: OUT-OF-DATE NOTICE--> 22 <!--#include virtual="/server/top-addendum.it.html" --> 23 <div class="article reduced-width"> 24 <h2>Il progetto GNU</h2> 25 26 <address class="byline">di <a href="https://www.stallman.org/">Richard Stallman</a></address> 27 28 <h3>La prima comunità di condivisione del software</h3> 29 <p> 30 Quando cominciai a lavorare nel laboratorio di Intelligenza Artificiale del 31 <abbr title="Massachusetts Institute of Technology">MIT</abbr> nel 1971, 32 entrai a far parte di una comunità in cui ci si scambiavano i programmi, che 33 esisteva già da molti anni. La condivisione del software non si limitava 34 alla nostra comunità; è un cosa vecchia quanto i computer, proprio come 35 condividere le ricette è antico come il cucinare. Ma noi lo facevamo più di 36 quasi chiunque altro.</p> 37 <p> 38 Il laboratorio di Intelligenza Artificiale usava un sistema operativo a 39 partizione di tempo (timesharing) chiamato <abbr title="Incompatible 40 Timesharing System">ITS</abbr> (Incompatible Timesharing System) che il 41 gruppo di hacker <a href="#ft1">[1]</a> del laboratorio aveva 42 progettato e scritto in linguaggio assembler per il Digital <abbr 43 title="Programmed Data Processor">PDP</abbr>-10, uno dei grossi elaboratori 44 di quel periodo. Come membro di questa comunità, hacker di sistema nel 45 gruppo laboratorio, il mio compito era migliorare questo sistema.</p> 46 <p> 47 Non chiamavamo il nostro software “software libero”, poiché 48 questa espressione ancora non esisteva, ma si trattava proprio di 49 questo. Quando persone di altre università o di qualche società volevano 50 convertire il nostro programma per il proprio sistema ed utilizzarlo, erano 51 le benvenute. Se si vedeva qualcuno usare un programma sconosciuto ed 52 interessante, si poteva sempre chiedere di vederne il codice sorgente, in 53 modo da poterlo leggere, modificare, o prenderne alcune parti per creare un 54 nuovo programma.</p> 55 56 <div class="announcement comment" role="complementary"> 57 <hr class="no-display" /> 58 <p> 59 Perché ora è più importante che mai insistere sul fatto che <a 60 href="/philosophy/free-software-even-more-important.html">il software che 61 usiamo deve essere libero</a>. 62 </p> 63 <hr class="no-display" /> 64 </div> 65 66 <h3>La comunità si dissolve</h3> 67 <p> 68 La situazione cambiò drasticamente all'inizio degli anni '80 quando la 69 Digital smise di produrre la serie PDP-10. La sua architettura, elegante e 70 potente negli anni '60, non poteva essere estesa in modo naturale ai più 71 grandi spazi di indirizzamento che si stavano rendendo possibili negli anni 72 '80. Questo significò che quasi tutti i programmi che formavano ITS 73 divennero obsoleti.</p> 74 <p> 75 La comunità di hacker del laboratorio di Intelligenza Artificiale si era già 76 dissolta non molto tempo prima. Nel 1981 la Symbolics, nata da una costola 77 del laboratorio stesso, gli aveva sottratto quasi tutti gli hacker; l'ormai 78 esiguo gruppo rimasto fu dunque incapace di sostenersi (il libro 79 <cite>Hackers</cite> di Steve Levy narra questi eventi, oltre a fornire una 80 fedele ricostruzione di questa comunità ai suoi inizi). Quando il 81 laboratorio di Intelligenza Artificiale nel 1982 acquistò un nuovo PDP-10, i 82 sistemisti decisero di utilizzare il sistema timesharing non libero della 83 Digital piuttosto che ITS.</p> 84 <p> 85 I moderni elaboratori di quell'epoca, come il VAX o il 68020, avevano il 86 proprio sistema operativo, ma nessuno di questi era libero: si doveva 87 firmare un accordo di non-diffusione persino per ottenerne una copia 88 eseguibile.</p> 89 <p> 90 Questo significava che il primo passo per usare un computer era promettere 91 di negare aiuto al proprio vicino. Una comunità cooperante era vietata. La 92 regola creata dai proprietari di software proprietario era: “se 93 condividi il software col tuo vicino sei un pirata. Se vuoi modifiche, 94 pregaci di farle”.</p> 95 <p> 96 L'idea che la concezione sociale di software proprietario (cioè il sistema 97 che impone che il software non possa essere condiviso o modificato) sia 98 antisociale, contraria all'etica, semplicemente sbagliata, può apparire 99 sorprendente a qualche lettore. Ma che altro possiamo dire di un sistema 100 che si basa sul dividere gli utenti e lasciarli senza aiuto? Quei lettori 101 che trovano sorprendente l'idea possono aver data per scontata la concezione 102 sociale di software proprietario, o averla giudicata utilizzando lo stesso 103 metro suggerito dal mercato del software proprietario. I produttori di 104 software hanno lavorato a lungo e attivamente per diffondere la convinzione 105 che c'è un solo modo di vedere la cosa.</p> 106 <p> 107 Quando i produttori di software parlano di “difendere” i propri 108 “diritti” o di “fermare la <a 109 href="/philosophy/words-to-avoid.html#Piracy">pirateria</a>”, quello 110 che <em>dicono</em> è in realtà secondario. Il vero messaggio in quelle 111 affermazioni sta nelle assunzioni inespresse, che essi danno per scontate; 112 vogliono che siano accettate acriticamente. Esaminiamole, dunque.</p> 113 <p> 114 Una prima assunzione è che le aziende produttrici di software abbiano il 115 diritto naturale indiscutibile di proprietà sul software, e di conseguenza, 116 abbiano controllo su tutti i suoi utenti. Se questo fosse un diritto 117 naturale, non potremmo sollevare obiezioni, indipendentemente dal danno che 118 possa recare ad altri. È interessante notare che, negli Stati Uniti, sia la 119 costituzione che la giurisprudenza rifiutano questa posizione: il diritto 120 d'autore non è un diritto naturale, ma un monopolio imposto dal governo che 121 limita il diritto naturale degli utenti ad effettuare delle copie.</p> 122 <p> 123 Un'altra assunzione inespressa è che la sola cosa importante del software 124 sia il lavoro che consente di fare -- vale a dire che noi utenti non 125 dobbiamo preoccuparci del tipo di società in cui ci è permesso vivere.</p> 126 <p> 127 Una terza assunzione è che non avremmo software utilizzabile (o meglio, che 128 non potremmo mai avere un programma per fare questo o quell'altro 129 particolare lavoro) se non riconoscessimo ai produttori il controllo sugli 130 utenti di quel programmi. Questa assunzione avrebbe potuto sembrare 131 plausibile, prima che il movimento del software libero dimostrasse che 132 possiamo scrivere quantità di programmi utili senza bisogno di metterci dei 133 catenacci.</p> 134 <p> 135 Se rifiutiamo di accettare queste assunzioni, giudicando queste questioni 136 con comuni criteri di moralità e di buon senso dopo aver messo al primo 137 posto gli interessi degli utenti, tenendo conto che gli utenti vengono prima 138 di tutto, arriviamo a conclusioni del tutto differenti. Chi usa un 139 calcolatore dovrebbe essere libero di modificare i programmi per adattarli 140 alle proprie necessità, ed essere libero di condividere il software, poiché 141 aiutare gli altri è alla base della società.</p> 142 <p> 143 Non c'è modo in questa sede di trattare approfonditamente i ragionamenti che 144 portano a questa conclusione; il lettore interessato può vedere <a 145 href="/philosophy/why-free.html">Perché il software non deve avere 146 padroni</a> e <a 147 href="/philosophy/free-software-even-more-important.html">Adesso il Software 148 libero è ancora più importante </a>. 149 </p> 150 151 <h3>Una difficile scelta morale</h3> 152 <p> 153 Una volta che il mio gruppo si fu sciolto, continuare come prima fu 154 impossible. Mi trovai di fronte ad una difficile scelta morale.</p> 155 <p> 156 La scelta facile sarebbe stata quella di unirsi al mondo del software 157 proprietario, firmando accordi di non-diffusione e promettendo di non 158 aiutare i miei compagni hacker. Con ogni probabilità avrei anche sviluppato 159 software che sarebbe stato distribuito secondo accordi di non-diffusione, 160 contribuendo così alla pressione su altri perché a loro volta tradissero i 161 propri compagni.</p> 162 <p> 163 In questo modo avrei potuto guadagnare, e forse mi sarei divertito a 164 programmare. Ma sapevo che al termine della mia carriera mi sarei voltato a 165 guardare indietro, avrei visto anni spesi a costruire muri per dividere le 166 persone, e avrei compreso di aver contribuito a rendere il mondo peggiore.</p> 167 <p> 168 Avevo già sperimentato cosa significasse un accordo di non diffusione per 169 chi lo firmava, quando qualcuno rifiutò a me e al laboratorio AI del MIT il 170 codice sorgente del programma di controllo della nostra stampante; l'assenza 171 di alcune funzionalità nel programma rendeva oltremodo frustrante l'uso 172 della stampante. Per cui non mi potevo dire che gli accordi di 173 non-diffusione fossero innocenti. Ero molto arrabbiato quando quella 174 persona si rifiutò di condividere il programma con noi; non potevo far finta 175 di niente e fare lo stesso con tutti gli altri.</p> 176 <p> 177 Un'altra possibile scelta, semplice ma spiacevole, sarebbe stata quella di 178 abbandonare l'informatica. In tal modo le mie capacità non sarebbero state 179 mal utilizzate, tuttavia sarebbero state sprecate. Non sarei mai stato 180 colpevole di dividere o imporre restrizioni agli utenti di calcolatori, ma 181 queste cose sarebbero comunque successe.</p> 182 <p> 183 Allora cercai un modo in cui un programmatore potesse fare qualcosa di 184 buono. Mi chiesi dunque: c'erano un programma o dei programmi che io 185 potessi scrivere, per rendere nuovamente possibile l'esistenza di una 186 comunità?</p> 187 <p> 188 La risposta era semplice: innanzitutto serviva un sistema operativo. Questo 189 è difatti il software fondamentale per iniziare ad usare un computer. Con 190 un sistema operativo si possono fare molte cose; senza, non è proprio 191 possibile far funzionare il computer. Con un sistema operativo libero, 192 avremmo potuto avere nuovamente una comunità in cui hacker possono 193 cooperare, e invitare chiunque ad unirsi al gruppo. E chiunque sarebbe 194 stato in grado di usare un calcolatore, senza dover cospirare fin 195 dall'inizio per sottrarre qualcosa ai propri amici.</p> 196 <p> 197 Essendo un programmatore di sistemi, possedevo le competenze adeguate per 198 questo lavoro. Così, anche se non davo il successo per scontato, mi resi 199 conto di essere la persona giusta per farlo. Scelsi di rendere il sistema 200 compatibile con Unix, in modo che fosse portabile, e che gli utenti Unix 201 potessero passare facilmente ad esso. Il nome GNU fu scelto secondo una 202 tradizione hacker, come acronimo ricorsivo che significa “GNU's Not 203 Unix” [N.d.T. GNU non è Unix]. Si pronuncia <a 204 href="/gnu/pronunciation.html">come una sola sillaba con la <i>g</i> 205 dura, come “gru” ma con la lettera “n” al posto della “r”</a>.</p> 206 <p> 207 Un sistema operativo non si limita solo al suo nucleo, che è proprio il 208 minimo per eseguire altri programmi. Negli anni '70, qualsiasi sistema 209 operativo degno di questo nome includeva interpreti di comandi, 210 assemblatori, compilatori, interpreti di linguaggi, debugger, editor di 211 testo, programmi per la posta e molto altro. ITS li aveva, Multics li aveva, 212 VMS li aveva e Unix li aveva. Anche il sistema operativo GNU li avrebbe 213 avuti.</p> 214 <p> 215 Tempo dopo venni a conoscenza di questa massima, attribuita a 216 Hillel <a href="#ft2">[2]</a>:</p> 217 218 <blockquote><p> 219 Se non sono per me stesso, chi sarà per me?<br /> 220 E se sono solo per me stesso, che cosa sono?<br /> 221 E se non ora, quando? 222 </p></blockquote> 223 <p> 224 La decisione di avviare il progetto GNU si basò su uno spirito simile.</p> 225 226 <h3>“Free” come libero</h3> 227 <p> 228 Il termine “free software” [N.d.T. il termine <i>free</i> in 229 inglese significa sia gratuito che libero] a volte è mal interpretato: non 230 ha niente a che vedere col prezzo; si tratta di libertà. Ecco, dunque, la 231 definizione di software libero.</p> 232 233 <p>Un programma è software libero per voi, che ne siete un generico utente, se:</p> 234 235 <ul> 236 <li>l'utente ha la libertà di eseguire il programma come desidera, per qualsiasi 237 scopo;</li> 238 239 <li>l'utente ha la libertà di modificare il programma secondo i propri bisogni 240 (perché questa libertà abbia qualche effetto in pratica, è necessario avere 241 accesso al codice sorgente del programma, poiché apportare modifiche ad un 242 programma senza disporre del codice sorgente è estremamente difficile);</li> 243 244 <li>l'utente ha la libertà di distribuire copie del programma, gratuitamente o 245 dietro compenso;</li> 246 247 <li>l'utente ha la libertà di distribuire versioni modificate del programma, 248 così che la comunità possa fruire dei miglioramenti apportati.</li> 249 </ul> 250 <p> 251 Poiché “free” si riferisce alla libertà e non al prezzo, vendere 252 copie di un programma non contraddice il concetto di software libero. In 253 effetti, la libertà di vendere copie di programmi è essenziale: raccolte di 254 software libero vendute su CD-ROM sono importanti per la comunità, e la loro 255 vendita è un modo di raccogliere fondi importante per lo sviluppo del 256 software libero. Di conseguenza, un programma che non può essere 257 liberamente incluso in tali raccolte non è software libero.</p> 258 <p> 259 A causa dell'ambiguità del termine “free”, si è cercata a lungo 260 un'alternativa, ma nessuno ne ha trovata una valida. La lingua inglese ha 261 più termini e sfumature di ogni altra, ma non ha una parola semplice e non 262 ambigua che significhi libero; “unfettered” è la parola più 263 vicina come significato [NdT: “unfettered” è una parola di tono 264 aulico o arcaico che significa <em>libero da ceppi, vincoli o 265 inibizioni</em>]. Alternative come “liberated”, 266 “freedom” e “open” hanno significati errati o non 267 sono adatte per altri motivi [NdT: rispettivamente, <em>liberato</em>, 268 <em>libertà</em>, <em>aperto</em>].</p> 269 270 <h3>Software GNU e il sistema GNU</h3> 271 <p> 272 Sviluppare un intero sistema è un progetto considerevole. Per raggiungere 273 l'obiettivo decisi di adattare e usare parti di software libero tutte le 274 volte che fosse possibile. Per esempio, decisi fin dall'inizio di usare TeX 275 come il principale programma di formattazione di testo; qualche anno più 276 tardi, decisi di usare l'X Window System piuttosto che scrivere un altro 277 sistema a finestre per GNU.</p> 278 <p> 279 A causa di questa decisione e altre simili, il sistema GNU e la raccolta di 280 tutto il software GNU non sono la stessa cosa. Il sistema GNU comprende 281 programmi che non sono GNU, sviluppati da altre persone o gruppi di progetto 282 per i propri scopi, ma che possiamo usare in quanto software libero.</p> 283 284 <h3>L'inizio del progetto</h3> 285 <p> 286 Nel gennaio 1984 lasciai il mio posto al MIT e cominciai a scrivere software 287 GNU. Dovetti lasciare il MIT, per evitare che potesse interferire con la 288 distribuzione di GNU come software libero. Se fossi rimasto, il MIT avrebbe 289 potuto rivendicare la proprietà del lavoro, ed avrebbe potuto imporre i 290 propri termini di distribuzione, o anche farne un pacchetto proprietario. 291 Non avevo alcuna intenzione di fare tanto lavoro solo per vederlo reso 292 inutilizzabile per il suo scopo originario: creare una nuova comunità di 293 condivisione di software.</p> 294 <p> 295 Ad ogni buon conto, il professor Winston -- allora responsabile del 296 laboratorio AI del MIT -- mi propose gentilmente di continuare ad utilizzare 297 le attrezzature del laboratorio stesso.</p> 298 299 <h3>I primi passi</h3> 300 <p> 301 Poco dopo aver iniziato il progetto GNU, venni a sapere del Free University 302 Compiler Kit, noto anche come VUCK (la parola olandese che sta per 303 “free” inizia con la V). Era un compilatore progettato per 304 trattare più linguaggi, fra cui C e Pascal, e per generare codice binario 305 per diverse architetture. Scrissi al suo autore chiedendo se GNU potesse 306 usarlo.</p> 307 <p> 308 Rispose in modo canzonatorio, dicendo che l'università era sì libera, ma non 309 il compilatore. Decisi allora che il mio primo programma per il progetto 310 GNU sarebbe stato un compilatore multilinguaggio e multipiattaforma.</p> 311 <p> 312 Sperando di evitare di dover scrivere da me l'intero compilatore, ottenni il 313 codice sorgente del Pastel, un compilatore multipiattaforma sviluppato ai 314 Laboratori Lawrence Livermore. Il linguaggio supportato da Pastel, in cui 315 il Pastel stesso era scritto, era una versione estesa del Pascal, pensata 316 come linguaggio di programmazione di sistemi. Io vi aggiunsi un frontend 317 per il C, e cominciai il porting per il processore Motorola 68000, ma fui 318 costretto a rinunciare quando scoprii che il compilatore richiedeva diversi 319 megabyte di memoria sullo stack, mentre il sistema Unix disponibile per il 320 processore 68000 ne permetteva solo 64K.</p> 321 <p> 322 Mi resi conto allora che il compilatore Pastel interpretava tutto il file di 323 ingresso creandone un albero sintattico, convertiva questo in una catena di 324 “istruzioni”, e quindi generava l'intero file di uscita senza 325 mai liberare memoria. A questo punto, conclusi che avrei dovuto scrivere un 326 nuovo compilatore da zero. Quel nuovo compilatore è ora noto come <abbr 327 title="GNU Compiler Collection">GCC</abbr>; non utilizza niente del 328 compilatore Pastel, ma riuscii ad adattare e riutilizzare il frontend per il 329 C che avevo scritto. Questo però avvenne qualche anno dopo; prima, lavorai 330 su GNU Emacs.</p> 331 332 <h3>GNU Emacs</h3> 333 <p> 334 Cominciai a lavorare su GNU Emacs nel settembre 1984, e all'inizio del 1985 335 cominciava ad essere utilizzabile. Così potei iniziare ad usare sistemi 336 Unix per scrivere; fino ad allora, avevo scritto sempre su altri tipi di 337 macchine, non avendo nessun interesse ad imparare vi né ed.</p> 338 <p> 339 A questo punto alcuni cominciarono a voler usare GNU Emacs, il che pose il 340 problema di come distribuirlo. Naturalmente lo misi sul server ftp anonimo 341 del computer che usavo al MIT (questo computer, prep.ai.mit.edu, divenne 342 così il sito ftp primario di distribuzione di GNU; quando alcuni anni dopo 343 andò fuori servizio, trasferimmo il nome sul nostro nuovo ftp server). Ma 344 allora molte delle persone interessate non erano su Internet e non potevano 345 ottenere una copia via ftp, così mi si pose il problema di cosa dir loro.</p> 346 <p> 347 Avrei potuto dire: “trova un amico che è in rete disposto a farti una 348 copia”. Oppure avrei potuto fare quel che feci con l'originario Emacs 349 su PDP-10, e cioè dir loro: “spediscimi una busta affrancata ed un 350 nastro, ed io te lo rispedisco con sopra Emacs”. Ma ero senza lavoro, 351 e cercavo un modo di far soldi con il software libero. E così feci sapere 352 che avrei spedito un nastro a chi lo voleva per 150 dollari. In questo 353 modo, creai un'impresa di distribuzione di software libero, che anticipava 354 le aziende che oggi distribuiscono interi sistemi GNU/Linux.</p> 355 356 <h3>Un programma è libero per tutti?</h3> 357 <p> 358 Se un programma è software libero quando esce dalle mani del suo autore, non 359 significa necessariamente che sarà software libero per chiunque ne abbia una 360 copia. Per esempio, <a 361 href="/philosophy/categories.html#PublicDomainSoftware">il software di 362 pubblico dominio</a> (software senza copyright) è sofware libero, ma 363 chiunque può farne una versione modificata proprietaria. Analogamente, 364 molti programmi liberi sono protetti da diritto d'autore, ma vengono 365 distribuiti con semplici licenze permissive che permettono di farne versioni 366 modificate proprietarie.</p> 367 <p> 368 L'esempio emblematico della questione è l'X Window System. Sviluppato al 369 MIT, e pubblicato come software libero con una licenza permissiva, fu 370 rapidamente adottato da diverse società informatiche. Queste aggiunsero X 371 ai loro sistemi Unix proprietari, solo in forma binaria, e coperto dello 372 stesso accordo di non-diffusione. Queste copie di X non erano software più 373 libero di quanto lo fosse Unix.</p> 374 <p> 375 Gli autori dell'X Window System non ritenevano che questo fosse un problema, 376 anzi se lo aspettavano ed era loro intenzione che accadesse. Il loro scopo 377 non era la libertà, ma semplicemente il “successo”, definito 378 come “avere tanti utenti”. Non erano interessati che questi 379 utenti fossero liberi, ma solo che fossero numerosi. </p> 380 <p> 381 Questo sfociò in una situazione paradossale, in cui due modi diversi di 382 misurare la quantità di libertà risultavano in risposte diverse alla domanda 383 “questo programma è libero?” Giudicando sulla base della 384 libertà offerta dai termini distributivi usati dal MIT, si sarebbe dovuto 385 dire che X era software libero. Ma misurando la libertà dell'utente medio 386 di X, si sarebbe dovuto dire che X era software proprietario. La maggior 387 parte degli utenti di X usavano le versioni proprietarie fornite con i 388 sistemi Unix, non la versione libera.</p> 389 390 <h3>Il copyleft e la GNU GPL</h3> 391 <p> 392 Lo scopo di GNU consisteva nell'offrire libertà agli utenti, non solo 393 nell'ottenere ampia diffusione. Avevamo quindi bisogno di termini di 394 distribuzione che evitassero che il software GNU fosse trasformato in 395 software proprietario. Il metodo che usammo si chiama 396 “copyleft” <a href="#ft3">[3]</a>.</p> 397 <p> 398 Il copyleft usa le leggi sul copyright, ma le capovolge per ottenere lo 399 scopo opposto: invece che un metodo per privatizzare il software, diventa 400 infatti un mezzo per mantenerlo libero.</p> 401 <p> 402 Il succo dell'idea di copyleft consiste nel dare a chiunque il permesso di 403 eseguire il programma, copiare il programma, modificare il programma, e 404 distribuirne versioni modificate, ma senza dare il permesso di aggiungere 405 restrizioni. In tal modo, le libertà essenziali che definiscono il 406 “free software” (software libero) sono garantite a chiunque ne 407 abbia una copia, e diventano diritti inalienabili.</p> 408 <p> 409 Perché il copyleft sia efficace, anche le versioni modificate devono essere 410 libere. Ciò assicura che ogni lavoro basato sul nostro sia reso disponibile 411 per la nostra comunità, se pubblicato. Quando dei programmatori 412 professionisti lavorano su software GNU come volontari, è il copyleft che 413 impedisce ai loro datori di lavoro di dire: “non puoi distribuire 414 quelle modifiche, perché abbiamo intenzione di usarle per creare la nostra 415 versione proprietaria del programma”.</p> 416 <p> 417 La clausola che le modifiche debbano essere libere è essenziale se vogliamo 418 garantire libertà a tutti gli utenti del programma. Le aziende che 419 privatizzarono l'X Window System di solito avevano apportato qualche 420 modifica per portare il programma sui loro sistemi e sulle loro macchine. Si 421 trattava di modifiche piccole rispetto alla mole di X, ma non banali. Se 422 apportare modifiche fosse una scusa per negare libertà agli utenti, sarebbe 423 facile per chiunque approfittare di questa scusa.</p> 424 <p> 425 Una problematica correlata è quella della combinazione di un programma 426 libero con codice non libero. Una tale combinazione sarebbe inevitabilmente 427 non libera; ogni libertà che manchi dalla parte non libera mancherebbe anche 428 dall'intero programma. Permettere tali combinazioni aprirebbe non uno 429 spiraglio, ma un buco grosso come una casa. Quindi un requisito essenziale 430 per il copyleft è tappare il buco: tutto ciò che venga aggiunto o combinato 431 con un programma protetto da copyleft dev'essere tale che il programma 432 risultante sia anch'esso libero e protetto da copyleft.</p> 433 <p> 434 La specifica implementazione di copyleft che utilizziamo per la maggior 435 parte del software GNU è la GNU General Public License, abbreviata in GNU 436 GPL. Abbiamo altri tipi di copyleft che sono utilizzati in circostanze 437 specifiche. I manuali GNU sono anch'essi protetti da copyleft, ma ne usano 438 una versione molto più semplice, perché per i manuali non è necessaria la 439 complessità della GPL <a href="#ft4">[4]</a>.</p> 440 441 <h3>La Free Software Foundation</h3> 442 443 <p>Man mano che l'interesse per Emacs aumentava, altre persone parteciparono al 444 progetto GNU, e decidemmo che era di nuovo ora di cercare finanziamenti. 445 Così nel 1985 fondammo la <a href="https://www.fsf.org/">Free Software 446 Foundation (Fondazione per il software libero)</a>, una organizzazione senza 447 fini di lucro per lo sviluppo di software libero. La <abbr title="Free 448 Software Foundation">FSF</abbr> fra l'altro si prese carico della 449 distribuzione dei nastri di Emacs; più tardi estese l'attività aggiungendo 450 sul nastro altro software libero (sia GNU che non GNU) e vendendo manuali 451 liberi. </p> 452 453 <p>Tradizionalmente, gran parte delle entrate della FSF derivava dalle vendite 454 di copie di software libero e servizi correlati: CD-ROM di codice sorgente, 455 CD-ROM di programmi compilati, manuali stampati professionalmente (tutti con 456 libertà di ridistribuzione e modifica), e distribuzioni Deluxe (nelle quali 457 compiliamo l'intera scelta di software per una piattaforma a 458 richiesta). Oggi la FSF vende ancora <a href="https://shop.fsf.org/">manuali 459 e altro materiale</a> ma trae la maggior parte dei fondi dalle quote 460 associative. Potete associarvi tramite <a 461 href="https://my.fsf.org/join">fsf.org</a>.</p> 462 463 <p>I dipendenti della Free Software Foundation hanno scritto e curato la 464 manutenzione di diversi pacchetti GNU. Fra questi spiccano la libreria C e 465 la shell. La libreria C di GNU è utilizzata da ogni programma che gira su 466 sistemi GNU/Linux per comunicare con Linux. È stata sviluppata da un membro 467 della squadra della Free Software Foundation, Roland McGrath. La shell 468 usata sulla maggior parte dei sistemi GNU/Linux è <abbr title="Bourne Again 469 Shell">BASH</abbr>, la Bourne Again SHell <a href="#ft5">[5]</a>, che 470 è stata sviluppata da Brian Fox, dipendente della FSF.</p> 471 472 <p>Finanziammo lo sviluppo di questi programmi perché il progetto GNU non 473 riguardava solo strumenti di lavoro o un ambiente di sviluppo: il nostro 474 obiettivo era un sistema operativo completo, e questi programmi erano 475 necessari per raggiungere quell'obiettivo.</p> 476 477 <h3>Il supporto per il software libero</h3> 478 479 <p>La filosofia del software libero rigetta una diffusa pratica commerciale in 480 particolare, ma non è contro il commercio. Quando un'impresa rispetta la 481 libertà dell'utente, c'è da augurarle ogni successo.</p> 482 483 <p>La vendita di copie di Emacs esemplifica un modo di condurre affari col 484 software libero. Quando la FSF prese in carico quest'attività, dovetti 485 trovare un'altra fonte di sostentamento. La trovai nella vendita di servizi 486 relativi al software libero che avevo sviluppato, come insegnare argomenti 487 quali programmazione di Emacs e personalizzazione di GCC, oppure sviluppare 488 sofware, soprattutto adattamento di GCC a nuove architetture.</p> 489 490 <p>Oggi tutte queste attività collegate al software libero sono esercitate da 491 svariate aziende. Alcune distribuiscono raccolte di software libero su 492 CD-ROM, altre offrono consulenza a diversi livelli, dall'aiutare gli utenti 493 in difficoltà, alla correzione di errori, all'aggiunta di funzionalità non 494 banali. Si cominciano anche a vedere aziende di software che si fondano sul 495 lancio di nuovi programmi liberi.</p> 496 497 <p>Attenzione, però: diverse aziende che si fregiano del marchio “open 498 source” (software aperto) in realtà fondano le loro attività su 499 software non libero che funziona insieme con software libero. Queste non 500 sono aziende di software libero, sono aziende di software proprietario i cui 501 prodotti attirano gli utenti lontano dalla libertà. Loro li chiamano 502 “a valore aggiunto”, il che riflette i valori che a loro farebbe 503 comodo che adottassimo: la convenienza prima della libertà. Se noi 504 riteniamo che la libertà abbia più valore, li dovremmo chiamare prodotti 505 “a libertà sottratta”.</p> 506 507 <h3>Obiettivi tecnici</h3> 508 509 <p>L'obiettivo principale di GNU era essere software libero. Anche se GNU non 510 avesse avuto alcun vantaggio tecnico su Unix, avrebbe avuto sia un vantaggio 511 sociale, permettendo agli utenti di cooperare, sia un vantaggio etico, 512 rispettando la loro libertà.</p> 513 514 <p>Tuttavia risultò naturale applicare al lavoro le regole classiche di buona 515 programmazione; per esempio, allocare le strutture dati dinamicamente per 516 evitare limitazioni arbitrarie sulla dimensione dei dati, o gestire tutti i 517 possibili codici a 8 bit in tutti i casi ragionevoli.</p> 518 519 <p>Inoltre, al contrario di Unix che era pensato per piccole dimensioni di 520 memoria, decidemmo di non supportare le macchine a 16 bit (era chiaro che le 521 macchine a 32 bit sarebbero state la norma quando il sistema GNU sarebbe 522 stato completo), e di non preoccuparci di ridurre l'occupazione di memoria a 523 meno che eccedesse il megabyte. In programmi per i quali non era essenziale 524 la gestione di file molto grandi, spingemmo i programmatori a leggere in 525 memoria l'intero file di ingresso per poi analizzare il file senza doversi 526 preoccupare delle operazioni di I/O.</p> 527 528 <p>Queste decisioni fecero sì che molti programmi GNU superassero i loro 529 equivalenti Unix sia in affidabilità che in velocità di esecuzione.</p> 530 531 <h3>Donazioni di computer</h3> 532 533 <p>Man mano che la reputazione del progetto GNU andava crescendo, alcune 534 persone iniziarono a donare macchine su cui girava Unix. Queste macchine 535 erano molto utili, perché il modo più semplice di sviluppare componenti per 536 GNU era di farlo su di un sistema Unix così da sostituire pezzo per pezzo i 537 componenti di quel sistema. Ma queste macchine sollevavano anche una 538 questione etica: se fosse giusto per noi anche solo possedere una copia di 539 Unix.</p> 540 541 <p>Unix era (ed è) software proprietario, e la filosofia del progetto GNU 542 diceva che non avremmo dovuto usare software proprietario. Ma, applicando 543 lo stesso ragionamento per cui la violenza è ammessa per autodifesa, 544 conclusi che fosse legittimo usare un pacchetto proprietario, se ciò fosse 545 stato importante nel crearne un sostituto libero che permettesse ad altri di 546 smettere di usare quello proprietario.</p> 547 548 <p>Tuttavia, benchè fosse un male giustificabile, era pur sempre un male. Oggi 549 non abbiamo più alcuna copia di Unix, perché le abbiamo sostituite con 550 sistemi operativi liberi. Quando non fu possibile sostituire il sistema 551 operativo di una macchina con uno libero, sostituimmo la macchina.</p> 552 553 <h3>L'elenco dei compiti GNU</h3> 554 555 <p>Mentre il progetto GNU avanzava, ed un numero sempre maggiore di componenti 556 di sistema venivano trovati o sviluppati, diventò utile stilare un elenco 557 delle parti ancora mancanti. Usammo questo elenco per ingaggiare 558 programmatori che scrivessero tali parti, e l'elenco prese il nome di elenco 559 dei compiti GNU. In aggiunta ai componenti Unix mancanti inserimmo 560 nell'elenco svariati progetti utili di programmazione o di documentazione 561 che a nostro parere non dovrebbero mancare in un sistema operativo veramente 562 completo.</p> 563 564 <p>Oggi <a href="#ft6">[6]</a> non compare quasi nessun componente Unix 565 nell'elenco dei compiti GNU; tutti questi lavori, a parte qualcuno non 566 essenziale, sono già stati svolti. D'altro canto l'elenco è pieno di quei 567 progetti che qualcuno chiamerebbe “applicazioni”: ogni programma 568 che interessi ad una fetta non trascurabile di utenti sarebbe un'utile 569 aggiunta ad un sistema operativo. </p> 570 571 <p>L'elenco comprende anche dei giochi, e così è stato fin dall'inizio: Unix 572 comprendeva dei giochi, perciò era naturale che così fosse anche per GNU. Ma 573 poiché non c'erano esigenze di compatibilità per i giochi, non ci attenemmo 574 alla scelta di giochi presenti in Unix, preferendo piuttosto fornire un 575 elenco di diversi tipi di giochi potenzialmente graditi agli utenti.</p> 576 577 <h3>La licenza GNU Attenuata</h3> 578 579 <p>La libreria C del sistema GNU utilizza un tipo speciale di copyleft, la 580 Licenza Pubblica GNU Attenuata <a href="#ft7">[7]</a>, che permette 581 l'uso della libreria da parte di software proprietario. Perché 582 quest'eccezione? </p> 583 584 <p>Non si tratta di questioni di principio: non c'è nessun principio che dica 585 che i prodotti software proprietari abbiano il diritto di includere il 586 nostro codice (perché contribuire ad un progetto fondato sul rifiuto di 587 condividere con noi?). L'uso della licenza LGPL per la libreria C, o per 588 qualsiasi altra libreria, è una questione di strategia.</p> 589 590 <p>La libreria C svolge una funzione generica: ogni sistema operativo 591 proprietario ed ogni compilatore includono una libreria C. Di conseguenza, 592 rendere disponibile la nostra libreria C solo per i programmi liberi non 593 avrebbe dato nessun vantaggio a tali programmi liberi, avrebbe solo 594 disincentivato l'uso della nostra libreria.</p> 595 596 <p>C'è un'eccezione a questa situazione: sul sistema GNU (termine che include 597 GNU/Linux) l'unica libreria C disponibile è quella GNU. Quindi i termini di 598 distribuzione della nostra libreria C determinano se sia possibile o meno 599 compilare un programma proprietario per il sistema GNU. Non ci sono ragioni 600 etiche per permettere l'uso di applicazioni proprietarie sul sistema GNU, ma 601 strategicamente sembra che impedirne l'uso servirebbe più a scoraggiare 602 l'uso del sistema GNU che non a incoraggiare lo sviluppo di applicazioni 603 libere. Questo è il motivo per cui l'utilizzo di la GPL Attenuata è una 604 buona strategia per la libreria C.</p> 605 606 <p>Per le altre librerie la strategia va valutata caso per caso. Quando una 607 libreria svolge una funzione particolare che può aiutare a scrivere certi 608 tipi di programmi, distribuirla secondo la GPL, quindi limitandone l'uso ai 609 soli programmi liberi, è un modo per aiutare gli altri autori di software 610 libero, dando loro un vantaggio nei confronti del software proprietario.</p> 611 612 <p>Prendiamo come esempio GNU Readline, una libreria scritta per fornire a BASH 613 la possibilità di modificare la linea di comando: Readline è distribuita 614 secondo la normale licenza GPL, non la LGPL. Ciò probabilmente riduce l'uso 615 di Readline, ma questo non rappresenta una perdita per noi; d'altra parte 616 almeno una applicazione utile è stata resa software libero proprio al fine 617 di usare Readline, e questo è un guadagno tangibile per la comunità.</p> 618 619 <p>Chi sviluppa software proprietario ha vantaggi economici, gli autori di 620 programmi liberi hanno bisogno di avvantaggiarsi a vicenda. Spero che un 621 giorno possiamo avere una grande raccolta di librerie coperte dalla licenza 622 GPL senza che esista una raccolta equivalente per chi scrive software 623 proprietario. Tale libreria fornirebbe utili moduli da usare come mattoni 624 per costruire nuovi programmi liberi, e costituirebbe un sostanziale 625 vantaggio per la scrittura di ulteriori programmi liberi.</p> 626 627 <h3>Togliersi il prurito?</h3> 628 <p> 629 Eric Raymond afferma che “ogni buon programma nasce dall'iniziativa di 630 un programmatore che si vuole togliere un suo personale prurito”. É 631 probabile che talvolta succeda così, ma molte parti essenziali del software 632 GNU sono state sviluppate al fine di completare un sistema operativo 633 libero. Derivano quindi da una idea e da un progetto, non da una necessità 634 contingente.</p> 635 <p> 636 Per esempio, abbiamo sviluppato la libreria C di GNU perché un sistema di 637 tipo Unix ha bisogno di una libreria C, BASH perché un sistema di tipo Unix 638 ha bisogno di una shell, e GNU tar perché un sistema di tipo Unix ha bisogno 639 un programma tar. Lo stesso vale per i miei programmi: il compilatore GNU, 640 GNU Emacs, GDB, GNU Make.</p> 641 <p> 642 Alcuni programmi GNU sono stati sviluppati per fronteggiare specifiche 643 minacce alla nostra libertà: ecco perché abbiamo sviluppato gzip come 644 sostituto per il programma Compress, che la comunità aveva perduto a causa 645 dei brevetti sull'algoritmo <abbr title="Lempel-Ziv-Welch">LZW</abbr>. 646 Abbiamo trovato persone che sviluppassero LessTif, e più recentemente 647 abbiamo dato vita ai progetti <abbr title="GNU Network Object Model 648 Environment">GNOME</abbr> e Harmony per affrontare i problemi causati da 649 alcune librerie proprietarie (come descritto più avanti). Stiamo sviluppando 650 la GNU Privacy Guard per sostituire i diffusi programmi di crittografia non 651 liberi, perché gli utenti non siano costretti a scegliere tra riservatezza e 652 libertà.</p> 653 <p> 654 Naturalmente, i redattori di questi programmi sono coinvolti nel loro 655 lavoro, e varie persone vi hanno aggiunto diverse funzionalità secondo le 656 loro personali necessità ed i loro interessi. Tuttavia non è questa la 657 ragione dell'esistenza di tali programmi.</p> 658 659 <h3>Sviluppi inattesi</h3> 660 <p> 661 All'inizio del progetto GNU pensavo che avremmo sviluppato l'intero sistema 662 GNU e poi lo avremmo reso disponibile tutto insieme, ma le cose non andarono 663 così.</p> 664 <p> 665 Poiché i componenti del sistema GNU sono stati implementati su un sistema 666 Unix, ognuno di essi poteva girare su sistemi Unix molto prima che esistesse 667 un sistema GNU completo. Alcuni di questi programmi divennero diffusi e gli 668 utenti iniziarono ad estenderli e a renderli utilizzabili su nuovi sistemi: 669 sulle varie versioni di Unix, incompatibili tra loro, e talvolta anche su 670 altri sistemi.</p> 671 <p> 672 Questo processo rese tali programmi molto più potenti e attirò finanziamenti 673 e collaboratori al progetto GNU; tuttavia probabilmente ritardò di alcuni 674 anni la realizzazione di un sistema minimo funzionante, perché il tempo 675 degli autori GNU veniva impiegato a curare la compatibilità di questi 676 programmi con altri sistemi e ad aggiungere nuove funzionalità ai componenti 677 esistenti, piuttosto che a proseguire nella scrittura di nuovi componenti.</p> 678 679 <h3>GNU-Hurd</h3> 680 <p> 681 Nel 1990 il sistema GNU era quasi completo, l'unica parte significativa 682 ancora mancante era il kernel. Avevamo deciso di implementare il nostro 683 kernel come un gruppo di processi server che girassero sul sistema 684 Mach. Mach è un microkernel sviluppato alla Carnegie Mellon University e 685 successivamente all'Università dello Utah; GNU Hurd è un gruppo di server (o 686 “herd of GNUs”: mandria di GNU) che gira su Mach svolgendo le 687 funzioni del kernel Unix. L'inizio dello sviluppo fu ritardato nell'attesa 688 che Mach fosse reso disponibile come software libero, come era stato 689 promesso.</p> 690 <p> 691 Una ragione di questa scelta progettuale fu di evitare quella che sembrava 692 la parte più complessa del lavoro: effettuare il debugging del kernel senza 693 un debugger a livello sorgente. Questo lavoro era già stato fatto, appunto 694 in Mach, e avevamo previsto di effettuare il debugging dei server Hurd come 695 programmi utente, con GDB. Ma questa fase si rivelò molto lunga, ed il 696 debugging dei server multi-thread che si scambiano messaggi si è rivelato 697 estremamente complesso. I lavori per rendere Hurd robusto sono così in 698 corso da molti anni.</p> 699 700 <h3>Alix</h3> 701 <p> 702 Originariamente il kernel GNU non avrebbe dovuto chiamarsi Hurd; il suo nome 703 originale era Alix, come la donna di cui ero innamorato in quel 704 periodo. Alix, che era amministratrice di sistemi Unix, aveva sottolineato 705 come il suo nome corrispondesse ad un comune schema usato per battezzare le 706 versioni del sistema Unix: scherzosamente diceva ai suoi amici: 707 “qualcuno dovrebbe chiamare un kernel come me”. Io non dissi 708 nulla ma decisi di farle una sorpresa scrivendo un kernel chiamato Alix.</p> 709 <p> 710 Le cose non andarono così. Michael Bushnell (ora Thomas), principale autore 711 del kernel, preferì il nome Hurd, e chiamò Alix una parte del kernel, quella 712 che serviva a intercettare le chiamate di sistema e a gestirle inviando 713 messaggi ai server che compongono Hurd.</p> 714 <p> 715 Infine io e Alix ci lasciammo e lei cambiò nome; contemporaneamente la 716 struttura di Hurd veniva cambiata in modo che la libreria C mandasse 717 messaggi direttamente ai server, e così il componente Alix scomparve dal 718 progetto.</p> 719 <p> 720 Prima che questo accadesse, però, un amico di Alix si accorse della presenza 721 del suo nome nel codice sorgente di Hurd e glielo disse. Così Alix ebbe 722 davvero l'opportunità di trovare un kernel col suo nome.</p> 723 724 <h3>Linux e GNU/Linux</h3> 725 <p> 726 GNU Hurd non è pronto per un uso non sperimentale, e non sappiamo se mai lo 727 sarà. Il suo approccio basato sulle caratteristiche ha problemi che derivano 728 direttamente dalla flessibilità dell'approccio stesso, e non è chiaro se si 729 possano trovare soluzioni.</p> 730 731 <p> 732 Per fortuna è disponibile un altro kernel: nel 1991 Linus Torvalds sviluppò 733 un kernel compatibile con Unix e lo chiamò Linux. All'inizio era software 734 proprietario, ma nel 1992 lo distribuì come software libero; la combinazione 735 di Linux con il sistema GNU ancora incompleto produsse un sistema operativo 736 libero completo (naturalmente combinarli fu un notevole lavoro di per sè). 737 È grazie a Linux che oggi possiamo utilizzare una versione del sistema GNU.</p> 738 <p> 739 Chiamiamo questa versione del sistema <a href="/gnu/linux-and-gnu.html"> 740 GNU/Linux</a> per sottolineare che si tratta di una combinazione del sistema 741 GNU con il kernel Linux. Non cadete nell'errore di chiamare 742 “Linux” l'intero sistema, perché finireste per attribuire il 743 nostro lavoro ad altri: <a href="/gnu/gnu-linux-faq.html"> dateci la 744 medesima rilevanza</a>.</p> 745 746 <h3>Le sfide che ci aspettano</h3> 747 <p> 748 Abbiamo dimostrato la nostra capacità di sviluppare un'ampia gamma di 749 software libero, ma questo non significa che siamo invincibili e 750 inarrestabili. Diverse sfide rendono incerto il futuro del software libero, 751 e affrontarle richiederà perseveranza e sforzi costanti, talvolta per anni. 752 Sarà necessaria quella determinazione che le persone sanno dimostrare quando 753 danno valore alla propria libertà e non permettono a nessuno di 754 sottrargliela.</p> 755 <p> 756 Le quattro sezioni seguenti parlano di queste sfide.</p> 757 758 <h4>Hardware segreto</h4> 759 <p> 760 Sempre più spesso, i costruttori di hardware tendono a mantenere segrete le 761 specifiche delle loro apparecchiature; questo rende difficile la scrittura 762 di driver liberi che permettano a Linux e XFree86 di supportare nuove 763 periferiche. Anche se oggi abbiamo sistemi completamente liberi, potremmo 764 non averli domani se non saremo in grado di supportare i calcolatori di 765 domani.</p> 766 <p> 767 Esistono due modi per affrontare il problema. Un programmatore può 768 ricostruire le specifiche dell'hardware usando tecniche di reverse 769 engineering. Oppure si può scegliere hardware supportato dai programmi 770 liberi: man mano che il nostro numero aumenta, la segretezza delle 771 specifiche diventerà una pratica controproducente.</p> 772 <p> 773 Il reverse engineering è difficile: avremo programmatori sufficientemente 774 determinati da dedicarvisi? Sì, se avremo costruito una forte consapevolezza 775 che avere programmi liberi sia una questione di principio e che i driver non 776 liberi non sono accettabili. E succederà che molti di noi accettino di 777 spendere un po' di più o perdere un po' più di tempo per poter usare driver 778 liberi? Sì, se il desiderio di libertà e la determinazione ad ottenerla 779 saranno diffusi <a href="#ft8">[8]</a>. </p> 780 781 <h4>Librerie non libere</h4> 782 <p> 783 Una libreria non libera che giri su sistemi operativi liberi funziona come 784 una trappola per i creatori di programmi liberi. Le funzionalità attraenti 785 della libreria fungono da esca; chi usa la libreria cade nella trappola, 786 perché il programma che crea è inutile come parte di un sistema operativo 787 libero (a rigore, il programma potrebbe esservi incluso, ma <em>non 788 funzionerebbe</em>, visto che manca la libreria). Peggio ancora, se un 789 programma che usa la libreria proprietaria diventa diffuso, può attirare 790 altri ignari programmatori nella trappola.</p> 791 <p> 792 Il problema si concretizzò per la prima volta con la libreria Motif, negli 793 anni '80. Sebbene non ci fossero ancora sistemi operativi liberi, i 794 problemi che Motif avrebbe causato loro erano già chiari. Il progetto GNU 795 reagì in due modi: interessandosi presso diversi progetti di software libero 796 perché supportassero gli strumenti grafici X liberi in aggiunta a Motif, e 797 cercando qualcuno che scrivesse un sostituto libero di Motif. Il lavoro 798 richiese molti anni: solo nel 1997 LessTif, sviluppato dagli "Hungry 799 Programmers", divenne abbastanza potente da supportare la maggior parte 800 delle applicazioni Motif.</p> 801 <p> 802 Tra il 1996 e il 1998 un'altra libreria non libera di strumenti grafici, 803 chiamata Qt, veniva usata in una significativa raccolta di software libero: 804 l'ambiente grafico <abbr title="K Desktop Environment">KDE</abbr>.</p> 805 <p> 806 I sistemi liberi GNU/Linux non potevano usare KDE, perché non potevamo usare 807 la libreria; tuttavia, alcuni distributori commerciali di sistemi GNU/Linux, 808 non scrupolosi nell'attenersi solo ai programmi liberi, aggiunsero KDE ai 809 loro sistemi, ottenendo così sistemi che offrivano più funzionalità, ma meno 810 libertà. Il gruppo che sviluppava KDE incoraggiava esplicitamente altri 811 programmatori ad usare Qt, e milioni di nuovi “utenti Linux” non 812 sospettavano minimamente che questo potesse costituire un problema. La 813 situazione si faceva pericolosa.</p> 814 <p> 815 La comunità del software libero affrontò il problema in due modi: GNOME e 816 Harmony.</p> 817 <p> 818 GNOME (GNU Network Object Model Environment, modello di ambiente per oggetti 819 di rete) è il progetto GNU per l'ambiente grafico (desktop). Intrapreso nel 820 1997 da Miguel de Icaza e sviluppato con il supporto di Red Hat Software, 821 GNOME si ripromise di fornire funzionalità grafiche simili a quelle di KDE, 822 ma usando esclusivamente software libero. GNOME offre anche dei vantaggi 823 tecnici, come il supporto per svariati linguaggi di programmazione, non solo 824 il C++. Ma il suo scopo principale era la libertà: non richiedere l'uso di 825 alcun programma che non fosse libero.</p> 826 <p> 827 Harmony è una libreria compatibile con Qt, progettata per rendere possibile 828 l'uso del software KDE senza dover usare Qt.</p> 829 <p> 830 Nel novembre 1998 gli autori di Qt annunciarono un cambiamento di licenza 831 che, una volta operativo, avrebbe reso Qt software libero. Non c'è modo di 832 esserne certi, ma credo che questo fu in parte dovuto alla decisa risposta 833 della comunità al problema posto da Qt quando non era libero (la nuova 834 licenza è scomoda ed iniqua, per cui rimane comunque preferibile evitare 835 l'uso di Qt <a href="#ft9">[9]</a>). </p> 836 <p> 837 Come risponderemo alla prossima allettante libreria non libera? Riuscirà la 838 comunità in toto a comprendere l'importanza di evitare la trappola? Oppure 839 molti di noi preferiranno la convenienza alla libertà, creando così ancora 840 un grave problema? Il nostro futuro dipende dalla nostra filosofia.</p> 841 842 <h4>Brevetti sul software</h4> 843 <p> 844 Il maggior pericolo a cui ci troviamo di fronte è quello dei brevetti sul 845 software, che possono rendere inaccessibili al software libero algoritmi e 846 funzionalità per un tempo che può estendersi fino a vent'anni. I brevetti 847 sugli algoritmi di compressione LZW furono depositati nel 1983, e ancor oggi 848 non possiamo distribuire programmi liberi che producano immagini <abbr 849 title="Graphics Interchange Format">GIF</abbr> compresse <a 850 href="#ft10">[10]</a>. Nel 1998 un programma libero per produrre audio 851 compresso <abbr title="MPEG-1 Audio Layer 3">MP3</abbr> venne ritirato sotto 852 minaccia di una causa per violazione di brevetto <a 853 href="#ft11">[11]</a>. 854 </p> 855 <p> 856 Ci sono modi per affrontare la questione brevetti: possiamo cercare prove 857 che un brevetto non sia valido oppure possiamo cercare modi alternativi per 858 ottenere lo stesso risultato. Ognuna di queste tecniche, però, funziona 859 solo in certe circostanze; quando entrambe falliscono un brevetto può 860 obbligare tutto il software libero a rinunciare a qualche funzionalità che 861 gli utenti desiderano. Dopo una lunga attesa, i brevetti scadono, ma nel 862 frattempo cosa dobbiamo fare?</p> 863 <p> 864 Chi fra noi apprezza il software libero per il valore della libertà rimarrà 865 comunque dalla parte dei programmi liberi; saremo in grado di svolgere il 866 nostro lavoro senza le funzionalità coperte da brevetto. Ma coloro che 867 apprezzano il software libero perché si aspettano che sia tecnicamente 868 superiore probabilmente grideranno al fallimento quando un brevetto ne 869 impedisce lo sviluppo. Perciò, nonostante sia utile parlare dell'efficacia 870 pratica del modello di sviluppo “a bazaar”, e dell'affidabilità 871 e della potenza di un dato programma libero, non ci dobbiamo fermare qui; 872 dobbiamo parlare di libertà e di principi.</p> 873 874 <h4>Documentazione libera</h4> 875 <p> 876 La più grande carenza nei nostri sistemi operativi liberi non è nel 877 software, quanto nella carenza di buoni manuali liberi da includere nei 878 nostri sistemi. La documentazione è una parte essenziale di qualunque 879 pacchetto software; quando un importante pacchetto software libero non viene 880 accompagnato da un buon manuale libero si tratta di una grossa lacuna. E di 881 queste lacune attualmente ne abbiamo molte.</p> 882 <p> 883 La documentazione libera, come il software libero, è una questione di 884 libertà, non di prezzo. Il criterio per definire libero un manuale è 885 fondamentalmente lo stesso che per definire libero un programma: si tratta 886 di offrire certe libertà a tutti gli utenti. Deve essere permessa la 887 redistribuzione (compresa la vendita commerciale), sia in formato 888 elettronico che cartaceo, in modo che il manuale possa accompagnare ogni 889 copia del programma.</p> 890 <p> 891 Autorizzare la modifica è anch'esso un aspetto cruciale; in generale, non 892 credo sia essenziale permettere alle persone di modificare articoli e libri 893 di qualsiasi tipo. Per esempio, non credo che voi o io dobbiamo sentirci in 894 dovere di autorizzare la modifica di articoli come questo, articoli che 895 descrivono le nostre azioni e il nostro punto di vista.</p> 896 <p> 897 Ma c'è una ragione particolare per cui la libertà di modifica è cruciale per 898 la documentazione dei programmi liberi. Quando qualcuno esercita il proprio 899 diritto di modificare il programma, aumentandone o alterandone le 900 funzionalità, se è coscienzioso modificherà anche il manuale, in modo da 901 poter fornire una documentazione utile e accurata insieme al programma 902 modificato. Un manuale non libero, che non permetta ai programmatori di 903 essere coscienziosi e completare il loro lavoro, non soddisfa i bisogni 904 della nostra comunità.</p> 905 <p> 906 Alcuni limiti sulla modificabilità non pongono alcun problema; per esempio, 907 le richieste di conservare la nota di copyright dell'autore originale, i 908 termini di distribuzione e la lista degli autori vanno bene. Non ci sono 909 problemi nemmeno nel richiedere che le versioni modificate dichiarino 910 esplicitamente di essere tali, così pure che intere sezioni non possano 911 essere rimosse o modificate, finché queste sezioni vertono su questioni non 912 tecniche. Restrizioni di questo tipo non creano problemi perché non 913 impediscono al programmatore coscienzioso di adattare il manuale affinché 914 rispecchi il programma modificato. In altre parole, non impediscono alla 915 comunità del software libero di beneficiare appieno dal manuale.</p> 916 <p> 917 D'altro canto, deve essere possibile modificare tutto il contenuto 918 <strong>tecnico</strong> del manuale e poter distribuire il risultato in 919 tutti i formati usuali, attraverso tutti i normali canali di distribuzione; 920 diversamente, le restrizioni creerebbero un ostacolo per la comunità, il 921 manuale non sarebbe libero e avremmo bisogno di un altro manuale.</p> 922 <p> 923 Gli sviluppatori di software libero avranno la consapevolezza e la 924 determinazione necessarie a produrre un'intera gamma di manuali liberi? 925 Ancora una volta, il nostro futuro dipende dalla nostra filosofia.</p> 926 927 <h3>Dobbiamo parlare di libertà</h3> 928 <p> 929 Stime recenti valutano in dieci milioni il numero di utenti di sistemi 930 GNU/Linux quali Debian GNU/Linux e Red Hat “Linux”. Il software 931 libero ha creato tali vantaggi pratici che gli utenti stanno approdando ad 932 esso per pure ragioni pratiche.</p> 933 <p> 934 Gli effetti positivi di questa situazione sono evidenti: maggior interesse a 935 sviluppare software libero, più clienti per le imprese di software libero e 936 una migliore capacità di incoraggiare le aziende a sviluppare software 937 commerciale libero invece che prodotti software proprietari.</p> 938 <p> 939 L'interesse per il software, però, sta crescendo più in fretta della 940 coscienza della filosofia su cui è basato, e questa disparità causa 941 problemi. La nostra capacità di fronteggiare le sfide e le minacce 942 descritte in precedenza dipende dalla determinazione nell'essere impegnati 943 per la libertà. Per essere sicuri che la nostra comunità abbia tale 944 determinazione, dobbiamo diffondere l'idea presso i nuovi utenti man mano 945 che entrano a far parte della comunità.</p> 946 <p> 947 Ma in questo stiamo fallendo: gli sforzi per attrarre nuovi utenti nella 948 comunità sono di gran lunga maggiori degli sforzi per l'educazione civica 949 della comunità stessa. Dobbiamo fare entrambe le cose, e dobbiamo mantenere 950 un equilibrio fra i due impegni.</p> 951 952 <h3>“Open Source”</h3> 953 <p> 954 Parlare di libertà ai nuovi utenti è diventato più difficile dal 1998, 955 quando una parte della comunità decise di smettere di usare il termine 956 “free software” e usare al suo posto “open source”.</p> 957 <p> 958 Alcune delle persone che suggerirono questo termine intendevano evitare che 959 si confondesse “free” con “gratis”, un valido 960 obiettivo. D'altra parte, altre persone intendevano mettere da parte lo 961 spirito del principio che aveva dato la spinta al movimento del software 962 libero e al progetto GNU, puntando invece ad attrarre i dirigenti e gli 963 utenti commerciali, molti dei quali afferiscono ad una ideologia che pone il 964 profitto al di sopra della libertà, della comunità, dei principi. Perciò la 965 retorica di “open source” si focalizza sul possibilità di creare 966 software di buona qualità e potente ma evita deliberatamente le idee di 967 libertà, comunità, principio.</p> 968 <p> 969 Le riviste che si chiamano “Linux...” sono un chiaro esempio di 970 ciò: sono piene di pubblicità di software proprietario che gira sotto 971 GNU/Linux; quando ci sarà il prossimo Motif o Qt, queste riviste 972 avvertiranno i programmatori di starne lontano o accetteranno la sua 973 pubblicità?</p> 974 <p> 975 L'appoggio delle aziende può contribuire alla comunità in molti modi; a 976 parità di tutto il resto è una cosa utile. Ma ottenere questo appoggio 977 parlando ancor meno di libertà e principi può essere disastroso; rende 978 ancora peggiore lo sbilanciamento descritto tra diffusione ed educazione 979 civica.</p> 980 <p> 981 “Software libero” (free software) e “sorgente 982 aperto” (open source) descrivono più o meno la stessa categoria di 983 software, ma dicono cose differenti sul software e sui valori. Il progetto 984 GNU continua ad usare il termine “software libero” per esprimere 985 l'idea che la libertà sia importante, non solo la tecnologia.</p> 986 987 <h3>Prova!</h3> 988 <p> 989 La filosofia di Yoda (“Non c'è provare”) suona bene, ma per me 990 non funziona. Ho fatto la maggior parte del mio lavoro angustiato dal 991 timore di non essere in grado di svolgere il mio compito e nel dubbio, se 992 fossi riuscito, che non fosse sufficiente per raggiungere l'obiettivo. Ma ci 993 ho provato in ogni caso perché nessuno tranne me si poneva tra il nemico e 994 la mia città. Sorprendendo me stesso, qualche volta sono riuscito.</p> 995 <p> 996 A volte ho fallito, alcune delle mie città sono cadute; poi ho trovato 997 un'altra città minacciata e mi sono preparato ad un'altra battaglia. Con 998 l'andar del tempo ho imparato a cercare le possibili minacce e a mettermi 999 tra loro e la mia città, facendo appello ad altri hacker perché venissero e 1000 si unissero a me.</p> 1001 <p> 1002 Oggigiorno spesso non sono da solo. É un sollievo ed una gioia quando vedo 1003 un reggimento di hacker che scavano trincee per difendere il confine e 1004 quando mi rendo conto che questa città può sopravvivere; per ora. Ma i 1005 pericoli diventano più grandi ogni anno, ed ora Microsoft ha esplicitamente 1006 preso di mira la nostra comunità. Non possiamo dare per scontato il futuro 1007 della libertà; non diamolo per scontato! Se volete mantenere la vostra 1008 libertà dovete essere pronti a difenderla.</p> 1009 <div class="column-limit"></div> 1010 1011 <h3 class="footnote">Note</h3> 1012 <ol> 1013 <li id="ft1">L'uso del termine “hacker” nel senso di “chi viola la 1014 sicurezza” è una confusione di termini creata dai mezzi di 1015 informazione. Noi hacker ci rifiutiamo di riconoscere questo significato, e 1016 continuiamo ad utilizzare la parola nel senso di “uno che ama 1017 programmare, e a cui piacce essere bravo a farlo”. Leggete il mio 1018 articolo <a href="http://stallman.org/articles/on-hacking.html">A proposito 1019 dell'Hacking</a>.</li> 1020 1021 <li id="ft2">Essendo ateo, non seguo alcuna guida religiosa, ma a volte mi trovo ad 1022 ammirare qualcosa che qualcuno di loro ha detto.</li> 1023 1024 <li id="ft3">Nel 1984 o 1985, Don Hopkins, persona molto creativa, mi mandò una lettera. 1025 Sulla busta aveva scritto diverse frasi argute, fra cui questa: 1026 “Copyleft--tutti i diritti riversati”. Utilizzai l'espressione 1027 “copyleft” per battezzare il concetto di distribuzione che 1028 allora andavo elaborando. </li> 1029 1030 <li id="ft4">Ora utilizziamo la <a href="/licenses/fdl.html">GNU Free Documentation 1031 License</a> per la documentazione.</li> 1032 1033 <li id="ft5">“Bourne Again Shell” è un gioco di parole sul nome 1034 “Bourne Shell” , che era la normale shell di Unix [NdT: 1035 “Bourne again” richiama l'espressione cristiana “born 1036 again” , “rinato” (in Cristo)].</li> 1037 1038 <li id="ft6">Questa considerazione è del 1998. A partire dal 2009 non abbiamo più un 1039 lungo elenco di compiti. La comunità sviluppa software libero così 1040 velocemente che non riusciamo nemmeno a tenere traccia di tutto. Quindi ora 1041 abbiamo un elenco di progetti ad alta priorità, una breve lista di progetti 1042 su cui riteniamo davvero importante che qualcuno si impegni.</li> 1043 1044 <li id="ft7">La licenza LGPL è ora denominata “GNU Lesser General Public 1045 License”, GPL attenuata, per non suggerire che si tratti della forma 1046 di licenza preferenziale per le librerie. Si veda <a 1047 href="/philosophy/why-not-lgpl.html">Perché non dovreste usare la LGPL per 1048 la vostra prossima libreria</a> per ulteriori informazioni.</li> 1049 1050 <li id="ft8">Nota del 2008: questo problema si estende anche al BIOS. Esiste un BIOS 1051 libero, <a href="https://libreboot.org/">LibreBoot</a> (una distribuzione di 1052 coreboot); il problema è trovare le specifiche dell'hardware in modo che 1053 LibreBoot possa supportarlo senza ricorrere a “blob” non 1054 liberi).</li> 1055 1056 <li id="ft9">Nel mese di settembre 2000, Qt fu rilasciata sotto licenza GNU GPL, il che 1057 di fatto risolse il problema.</li> 1058 1059 <li id="ft10">I brevetti su GIF sono scaduti nel 2009.</li> 1060 1061 <li id="ft11">I brevetti su MP3 sono scaduti nel 2017, dopo un'attesa davvero lunga.</li> 1062 </ol> 1063 1064 <div class="infobox extra" role="complementary"> 1065 <hr /> 1066 <p> 1067 Pubblicato originariamente nel libro <cite>Open Sources</cite>. Richard 1068 Stallman <a href="/philosophy/open-source-misses-the-point.html"> non ha mai 1069 sostenuto il movimento “open source”</a>, ma ha fatto inserire 1070 questo articolo per evitare che il punto di vista del software libero fosse 1071 del tutto assente dal libro. 1072 </p> 1073 </div> 1074 </div> 1075 1076 <div class="translators-notes"> 1077 1078 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.--> 1079 </div> 1080 </div> 1081 1082 <!-- for id="content", starts in the include above --> 1083 <!--#include virtual="/server/footer.it.html" --> 1084 <div id="footer" role="contentinfo"> 1085 <div class="unprintable"> 1086 1087 <p>Per informazioni su FSF e GNU rivolgetevi, possibilmente in inglese, a <a 1088 href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. Ci sono anche <a 1089 href="/contact/">altri modi di contattare</a> la FSF. Inviate segnalazioni 1090 di link non funzionanti e altri suggerimenti relativi alle pagine web a <a 1091 href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 1092 1093 <p> 1094 <!-- TRANSLATORS: Ignore the original text in this paragraph, 1095 replace it with the translation of these two: 1096 1097 We work hard and do our best to provide accurate, good quality 1098 translations. However, we are not exempt from imperfection. 1099 Please send your comments and general suggestions in this regard 1100 to <a href="mailto:web-translators@gnu.org"> 1101 1102 <web-translators@gnu.org></a>.</p> 1103 1104 <p>For information on coordinating and contributing translations of 1105 our web pages, see <a 1106 href="/server/standards/README.translations.html">Translations 1107 README</a>. --> 1108 Le traduzioni italiane sono effettuate ponendo la massima attenzione ai 1109 dettagli e alla qualità, ma a volte potrebbero contenere imperfezioni. Se ne 1110 riscontrate, inviate i vostri commenti e suggerimenti riguardo le traduzioni 1111 a <a 1112 href="mailto:web-translators@gnu.org"><web-translators@gnu.org></a> 1113 oppure contattate direttamente il <a 1114 href="http://savannah.gnu.org/projects/www-it/">gruppo dei traduttori 1115 italiani</a>.<br/>Per informazioni su come gestire e inviare traduzioni 1116 delle nostre pagine web consultate la <a 1117 href="/server/standards/README.translations.html">Guida alle traduzioni</a>.</p> 1118 </div> 1119 1120 <!-- Regarding copyright, in general, standalone pages (as opposed to 1121 files generated as part of manuals) on the GNU web server should 1122 be under CC BY-ND 4.0. Please do NOT change or remove this 1123 without talking with the webmasters or licensing team first. 1124 Please make sure the copyright date is consistent with the 1125 document. For web pages, it is ok to list just the latest year the 1126 document was modified, or published. 1127 1128 If you wish to list earlier years, that is ok too. 1129 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 1130 years, as long as each year in the range is in fact a copyrightable 1131 year, i.e., a year in which the document was published (including 1132 being publicly visible on the web or in a revision control system). 1133 1134 There is more detail about copyright years in the GNU Maintainers 1135 Information document, www.gnu.org/prep/maintain. --> 1136 <p>Copyright © 1998, 2005, 2008, 2010, 2012, 2015, 2017, 2018, 2021 1137 Richard Stallman</p> 1138 1139 <p>Questa pagina è distribuita secondo i termini della licenza <a rel="license" 1140 href="http://creativecommons.org/licenses/by-nd/4.0/deed.it">Creative 1141 Commons Attribuzione - Non opere derivate 4.0 Internazionale</a> (CC BY-ND 1142 4.0).</p> 1143 1144 <!--#include virtual="/server/bottom-notes.it.html" --> 1145 <div class="translators-credits"> 1146 1147 <!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.--> 1148 Tradotto originariamente da Lorenzo Bettini, Antonio Cisternino, Alberto 1149 Mari, Francesco Potortì, Alessandro Rubini. Revisioni successive di 1150 Alessandro Rubini, Francesco Potortì, Lorenzo Bettini, Alberto Mari, Andrea 1151 Pescetti.</div> 1152 1153 <p class="unprintable"><!-- timestamp start --> 1154 Ultimo aggiornamento: 1155 1156 $Date: 2022/05/18 16:30:43 $ 1157 1158 <!-- timestamp end --> 1159 </p> 1160 </div> 1161 </div> 1162 <!-- for class="inner", starts in the banner include --> 1163 </body> 1164 </html>