- Software, definizione e storia - officina-s3.org file3 – Software Tutto quello che in un PC non...

16
3 – Software Tutto quello che in un PC non riusciamo a toccare con le mani è considerato Software! - Software, definizione e storia Nella lingua inglese "software" nasce per imitazione del termine "hardware" e dalla composizione delle parole "soft" (in italiano "morbido", "tenero", "leggero") e "ware" (in italiano "merci", "articoli", "prodotti", "mercanzie"). La paternità della coniazione del termine "software" non è certa. L'americano Paul Niquette la rivendica sostenendo di aver coniato il termine "software" nel 1953. Certa invece è la prima apparizione del termine "software" in una pubblicazione scritta: un articolo dell'American Mathematical Monthly scritto nel 1958 dallo statistico americano John Wilder Tukey. [da Wikipedia] In pratica il termine definisce programmi e procedure utilizzati per far eseguire al computer un determinato compito. Il software viene, a grandi linee, suddiviso in: - Software di base è indispensabile per il funzionamento del computer ed è la parte del software più vicina alla macchina, viene generalmente identificato con il sistema operativo, ma anche i Compilatori, gli Interpreti e le Librerie fanno parte di questa categoria. Software applicativo Viene definito software applicativo (o semplicemente "applicativi") tutto il software che non sia il sistema operativo. In pratica qualsiasi programma (videoscrittura, foto ritocco, Internet, ecc.) che possiamo dividere in 5 categorie: Utilità di Sistema: programmi che servono per migliorare la gestione e la sicurezza della macchina, come ad esempio gli stessi antivirus, oppure programmi per l'ottimizzazione delle risorse, per il controllo dello stato del sistema, la ripulitura dell'hard disk, ecc. Office Automation: programmi di ausilio nei normali lavori d'ufficio, quindi creazione e elaborazione di testi (word processor), gestione di basi di dati (database), fogli di calcolo, posta elettronica, navigazione in Internet, ecc. Gestionali: programmi creati per le necessità specifiche delle aziende, come ad esempio i programmi per la fatturazione o per la gestione del personale, dei 31 Tre sistemi operativi a confronto (Mac OS, Windows 8, Linux)

Transcript of - Software, definizione e storia - officina-s3.org file3 – Software Tutto quello che in un PC non...

3 – Software

Tutto quello che in un PC non riusciamo a toccare con le mani è considerato Software!

- Software, definizione e storiaNella lingua inglese "software" nasce per imitazione deltermine "hardware" e dalla composizione delle parole "soft"(in italiano "morbido", "tenero", "leggero") e "ware" (initaliano "merci", "articoli", "prodotti", "mercanzie").La paternità della coniazione del termine "software" non ècerta. L'americano Paul Niquette la rivendica sostenendo diaver coniato il termine "software" nel 1953.

Certa invece è la prima apparizione del termine "software" in unapubblicazione scritta: un articolo dell'American Mathematical Monthly scritto nel 1958 dallostatistico americano John Wilder Tukey. [da Wikipedia]

In pratica il termine definisce programmi e procedure utilizzati per far eseguire al computerun determinato compito.

Il software viene, a grandi linee, suddiviso in:

- Software di baseè indispensabile per il funzionamento del computer ed è la parte del software più vicina allamacchina, viene generalmente identificato con il sistema operativo, ma anche i Compilatori, gli Interpreti e le Librerie fanno parte di questa categoria.

Software applicativo Viene definito software applicativo (o semplicemente "applicativi") tutto il software chenon sia il sistema operativo. In pratica qualsiasi programma (videoscrittura, foto ritocco,Internet, ecc.) che possiamo dividere in 5 categorie:

• Utilità di Sistema: programmi che servono per migliorare la gestione e lasicurezza della macchina, come ad esempio gli stessi antivirus, oppure programmiper l'ottimizzazione delle risorse, per il controllo dello stato del sistema, la ripulituradell'hard disk, ecc.

• Office Automation: programmi di ausilio nei normali lavori d'ufficio, quindicreazione e elaborazione di testi (word processor), gestione di basi di dati(database), fogli di calcolo, posta elettronica, navigazione in Internet, ecc.

• Gestionali: programmi creati per le necessità specifiche delle aziende, come adesempio i programmi per la fatturazione o per la gestione del personale, dei

31

Tre sistemi operativi a confronto (Mac OS, Windows 8, Linux)

3 – Software

magazzini, dei macchinari industriali. Spesso si tratta di programmi creati ad hoc opersonalizzati da aziende di produzione software.

• Strumenti di sviluppo : programmiper la creazione di oggetti multimediali(pagine Web, animazioni e CD interattivi),elaborazione audio/video/immagini,programmi che servono per la creazionedi nuovi applicativi (authoring tools).

• Giochi e svago : giochi, emulatori,lettori audio e video.

- Il BIOSPur essendo presente sulla scheda madre sotto forma di un circuitointegrato (una memoria non volatile) è in pratica da considerare unsoftware a tutti gli effetti.Le prime istruzioni che un PC riceve appena acceso sono contenuteproprio nel BIOS (Basic Input Output System).Il BIOS è uno dei componenti più importanti dei PC, si occupa della

gestione del firmware (un software integrato stabilmente nell'hardware), indicando alcomputer come eseguire un'ampia varietà di funzioni di base e consentire il correttoriconoscimento dell'hardware.All’interno di questa memoria sono contenute le istruzioni di avvio che vengono eseguiteautomaticamente ogni volta che accendiamo la macchina, che schiacciamo il tasto di “reset”o per un riavvio.Prima del 1990 il BIOS veniva memorizzato su uno o più integrati di tipo ROM (Read OnlyMemory), non riprogrammabili.Man mano che la complessità è aumentata, di pari passo con la necessità di aggiornamenti,si è diffuso l'utilizzo di EPROM (una memoria di sola lettura cancellabile tramite raggiultravioletti), poi su EEPROM o flash memory riscrivibili (memorie non volatili le cuioperazioni di scrittura, cancellazione e riscrittura avvengono elettricamente), così dapermettere un rapido aggiornamento anche da parte dell'utente finale.In questo modo il BIOS può essere aggiornato con delle nuove versioni fornite dalla casaproduttrice della scheda madre.La presenza di BIOS aggiornabili, permette oltre a risolvere eventuali difetti “bug”, diottenere un supporto per nuovi componenti hardware.

• UEFI (il sostituto del BIOS)Attualmente l'interfaccia UEFI (Unified Extensible Firmware Interface),si presenta come il sostituto del BIOS.“L'UEFI ha il compito di dotare il PC per la gestione del firmware (unsoftware integrato nell'hardware), di un'interfaccia grafica piùamichevole rispetto al tradizionale BIOS, a colori e non più in bianco enero, gestibile con il mouse e non più solo da tastiera, facile da usare ein grado di supportare le risoluzioni video dalle moderne schedegrafiche.

In un certo senso, UEFI si può considerare un piccolo sistema operativo dedicato apresiedere tutte quelle operazioni che intercorrono fra l'accensione fisica della macchina el'avvio del sistema operativo vero e proprio.

32

3 – Software

Oltre all'aspetto grafico le novità più importanti introdotte sono:• Partizionamento GPT: nuovo standard per la gestione delle partizioni del disco, che

sostituisce l'MBR (Master Boot Record) e quindi utilizzo di sole partizioni primariesenza più la necessità di partizioni estese e logiche.

• Partizione EFI: è una partizione in formato Fat32 collocata all'inizio del disco enecessaria per l'avvio dei sistemi operativi.

• Secure boot: sistema attraverso il quale il computer permette l'avvio di un sistemaoperativo solo se dotato di una determinata chiave di sicurezza, una modalitàintrodotta con Windows 8.

• Modalità legacy: modalità compatibile con i vecchi BIOS.

UEFI e il software Libero:L'introduzione del “Secure Boot” non è stata vista molto bene dagli utilizzatori di sistemibasati su Linux, che intravedono il possibile rischio che nel caso di software Windowspreinstallato nei PC, Microsoft possa escludere i sistemi operativi alternativi dai dispositivicertificati per Windows.Quando il sistema Secure boot è attivato, l'installazione di altri sistemi operativi non puòessere eseguita, è importante perciò, in fase di acquisto di un computer, accertarsi che ilsecure boot sia disattivatile in modo che possa essere installato un altro sistemaoperativo alternativo a Windows, per esempio Linux.

- Il Software proprietarioRispetto ad altri prodotti dell'ingegno, il codice del software può essereoccultato, per questo motivo e non solo, esiste quello proprietario equello libero.In generale il software proprietario è un software distribuito apagamento (ma anche a gratuitamente), di cui la riproduzione,modifica, distribuzione e utilizzo sono vincolate a una richiesta dipermesso o categoricamente proibite.Il codice sorgente del software proprietario non è reso pubblico proprio

per ostacolare chi volesse violare le clausole che lo proteggono e leggi ben precise neimpediscono la ridistribuzione (Copyright).Molti confondono “free software” con software “gratis”, poiché “free” in inglese vuol diresia gratuito che libero.Ma quando parliamo di “free software” intendiamo il software libero, mentre quellosemplicemente gratis è chiamato “freeware”.

Ecco alcuni tipi di software proprietario:Esiste del software proprietario disponibile gratuitamente chiamato, come abbiamo vistopoco sopra "Freeware", questo software è sottoposto esplicitamente ad una licenza che nepermette la redistribuzione gratuita, il software freeware pur essendo proprietario, vieneconcesso in uso senza alcun corrispettivo, ed è liberamente duplicabile e distribuibile, conpochissime eccezioni.Il software Shareware è invece disponibile gratuitamente, ma solo per un periodo di prova,nonostante sia distribuito in maniera simile a quello freeware, richiede un pagamento altermine di un periodo di prova o per attivarne tutte le funzionalità che spesso, nellaversione di prova sono state limitate.I software distribuiti gratuitamente, che richiedono all'utente la visione di messaggipubblicitari per il loro utilizzo sono chiamati Adware (Advertising supported software).

33

3 – Software

Abandonware invece si riferisce a tutto quel software commerciale che non viene piùcommercializzato da lungo tempo, ed è quindi considerato "abbandonato".Si tratta di software originariamente commerciale, che è stato successivamente edesplicitamente rilasciato come freeware o Public domain.

- Il Software liberoIl Software Libero è un software non sottoposto ad alcun vincolo,lasciando così l'utente libero di farne ciò che desidera, per esempiodi: - eseguirlo per qualsiasi scopo;- studiarlo e modificarlo;- poterlo liberamente ridistribuire.

Attualmente il software libero ha assunto un rilievo filosofico, proponendo mediante lacondivisione della conoscenza, una nuova concezione del “consumo informatico”, aperto,libero e refrattario ad ogni tipo oscurantismo.

• Le licenze del Software liberoIl software libero è distribuito di solito con una licenza chiamata GPL.Senza entrare nel dettaglio, di seguito alcuni tipi di licenze “open”:la GNU GPL (General Public License)la GNU LGPL (Lesser General Public License)la GNU FDL (Free Documentation License)oltre a queste esistono anche le licenze Creative Commons.In particolare la GNU è una licenza per software libero, comunemente indicata conl'acronimo GNU GPL o semplicemente GPL.La prima versione dell GNU GPL fu scritta nel 1989 da Richard Stallman ed Eben Moglen perdistribuire i programmi creati nell'ambito del Progetto GNU.

• I vantaggi del Software liberoUtilizzare Software Libero, è prima di tutto una scelta di natura etica.Il suo sviluppo si basa sugli stessi principi fondanti della comunità scientifica, senza i qualila ricerca non può progredire, il libero scambio delle informazioni, la condivisione di idee erisultati, il libero utilizzo del patrimonio comune delle conoscenze per un ulterioresviluppo.Favorisce inoltre l’indipendenza tecnologica, la diffusione del sapere, l'abbassamento dellebarriere di accesso alla tecnologia, stimola la concorrenza e dà sostegno all’economialocale.Utilizzare il Software Libero è una scelta intelligente e responsabile soprattutto nel casodelle amministrazioni pubbliche, che impiegano risorse pubbliche e devono quindipreferire l'utilizzo e lo sviluppo di un software che resti a disposizione di tutti, garantendola sua disponibilità, il suo riutilizzo, e la creazione di competenze, professionalità e valoresul territorio.Dal punto di vista tecnico, permette la verificabilità del software: diventa possibile, quandoserve, verificare o far verificare il comportamento effettivo dei programmi, intervenendodirettamente sui problemi; inoltre, consente un’estrema facilità di sviluppo, dal momentoche ogni nuova implementazione può basarsi sulle modifiche precedenti.E' possibile personalizzarlo ed adattarlo alla proprie esigenze.Il codice sorgente è sottoposto e revisionato da un'ampia comunità che corregge “bug”(errori e malfunzionamenti).La correzione di bug di solito è molto rapida e comunicata in maniera diffusa.

34

3 – Software

E' molto difficile inserire intenzionalmente nel software libero un codice “maligno”.Dal punto di vista sociale, utilizzare Software Libero riveste un grande valore culturaledovuto al carattere pubblico e alla condivisione dei risultati, e favorisce lo sviluppoprofessionale: basandosi su una economia dei servizi, incentiva la crescita professionale el'aumento delle competenze sul territorio.Dal punto di vista economico, il Software Libero stimola la concorrenza e garantisce grandipossibilità di sviluppo che favoriscono l’economia locale.Crea nuove opportunità di business nel campo della formazione e del supporto.Collaborando con sviluppatori volontari e utilizzando il lavoro della comunità, anche lepiccole e medie imprese sono in grado di sviluppare e vendere prodotti di alta qualità.

• Gli svantaggi del software liberoLo sviluppo del software libero può avere una gestione anarchica, che porta a risultati avolte incoerenti e ad una mancanza di uniformità.Alcune tipologie di software, soprattutto di nicchia, non sono disponibili come softwarelibero poiché non hanno abbastanza utenti per la creazione di una comunità che supporti losviluppo del software.Anche se spesso è disponibile molta documentazione, è sovente incompleta o nonaggiornata.Spesso gruppi di lavoro distinti lavorano a progetti per lo sviluppo di software a volte deltutto equivalente.Essendo un lavoro volontario, lo sviluppo del software libero è più lento rispetto alsoftware proprietario.

• Differenze tra software libero e open sourceTutto il software open source è software libero.I due termini descrivono all'incirca la stessa categoria di software, masi basano su valori fondamentalmente diversi.Nel 1998, per evitare la possibile confusione derivante dal termineinglese “free software” una parte della comunità del software liberocreata ne 1984 da Stallman, si staccò, dando origine all'“open source”.La filosofia dell'open source pensa a come "migliorare" il software da

un punto di vista pratico, considerando il software proprietario come una soluzione nonottimale.L'open source è principalmente una metodologia di sviluppo dove l'aspetto etico non è inprimo piano.

Per il movimento che sostiene il software libero si tratta invece di unascelta di natura etica, dove il software proprietario rappresentaprincipalmente un problema sociale, perché soltanto il software liberorispetta veramente la libertà degli utenti.Questa libertà è d'importanza vitale ed è essenziale, non soltanto perquanto riguarda l'utente in sé, ma perché questa libertà promuove lasolidarietà sociale, lo scambio e la cooperazione.

Questa libertà, diventerà sempre più importante in quanto la nostra cultura e le attivitàdelle nostre vite saranno in futuro sempre più legate al mondo digitale.Questo è il concetto del software libero nato nel 1984 quando Richard Stallman, allorastudente al MIT di Boston, decise di voler provare a creare, assieme ad altre persone, unsistema operativo del tutto libero.Questo progetto si chiama GNU (GNU is Not Unix).

35

3 – Software

L'argomento è trattato ampiamente da Richard Stallman in una intervista del 2007disponibile su internet http://www.gnu.org/philosophy/open-source-misses-the-point.it.html cheper completezza d'informazione qui di seguito riportiamo integralmente:

[Quando definiamo “libero” un software, intendiamo che rispetta le libertà essenziali degliutenti: la libertà di eseguire il programma, di studiare il suo codice e modificarlo, e diridistribuirne copie con o senza modifiche.E’ una questione di libertà, non di prezzo, quindi pensate alla “libertà di parola”, non ad una“birra gratis” (ndt: free in inglese significa sia gratuito che libero, sfumatura che in italiano siperde)L’importanza di queste libertà è vitale. Si tratta di libertà essenziali, non soltanto per l'utentein sé, ma perché promuovono la solidarietà sociale, ossia la condivisione e la cooperazione.La loro importanza aumenta al crescere della digitalizzazione delle nostre culture ed attivitàquotidiane.In un mondo di suoni, immagini e parole digitali, il software libero è un concetto che inizia asovrapporsi con un concetto più ampio, quale quello della libertà in generale.Oggi esistono decine di milioni di persone in tutto il mondo che usano software libero;abbiamo scuole, in alcune regioni dell’India e della Spagna che insegnano ai loro studenticome utilizzare il sistema operativo GNU/Linux, un sistema libero.Tuttavia la maggior parte di questi utenti non sanno nulla delle ragioni etiche per cui abbiamosviluppato questo sistema e abbiamo creato la comunità del software libero, in quanto spesso,oggi, ci si riferisce a questo sistema e a questa comunità con il termine “open source”; nulla dipiù sbagliato, considerato come queste cose vengono riferite a una diversa filosofia nellaquale raramente si fa menzione di tali libertà.Il movimento per il software libero iniziò una campagna per le libertà degli utenti deicomputer nel 1983.Nel 1984 cominciammo a sviluppare il sistema operativo libero GNU, in modo da non esserecostretti ad utilizzare i sistemi operativi non liberi che negano la libertà ai propri utenti. Nelcorso degli anni Ottanta, oltre a sviluppare la maggior parte dei componenti essenziali diquesto sistema, abbiamo redatto la GNU General Public License, una licenza studiataappositamente per proteggere la libertà di tutti gli utenti di un programma.Tuttavia non tutti gli utenti e sviluppatori di software libero furono d’accordo sugli obiettividel movimento del software libero.Nel 1998, una parte della comunità del software libero si staccò, dando origine ad unacampagna nel nome dell'“open source”. Questo era stato originariamente proposto per evitarela possibile confusione derivante dal termine inglese “free software”, ma ben presto iniziòanche ad essere associato a visioni filosofiche tendenzialmente dissimili rispetto a quelle delmovimento del software libero.Alcune delle persone che promuovono l’“open source”, lo considerano come una “campagnadi marketing per il software libero”, che vorrebbe attrarre i dirigenti delle aziende mostrando ibenefici pratici ed evitando di citare gli ideali che tentano di distinguere tra ciò che è giusto esbagliato, argomenti che queste persone sicuramente non gradirebbero. Altri promotoridell'open source rigettano in toto i valori etici e sociali del movimento del software libero.Qualunque sia la loro visione, quando fanno una campagna per l'“open source” non fannoriferimento né sostengono questi valori.Il termine “open source” iniziò ben presto ad essere associato alla deprecabile pratica dicitarne soltanto valori pratici, come fornire software più potente e affidabile. Molti dei sostenitori dell'open source hanno adottato questa prassi, preferendo un significatoper così dire “pratico”.Quasi tutto il software open source è software libero; i due termini descrivono all'incirca lastessa categoria di software. Ma si basano su valori fondamentalmente diversi.

36

3 – Software

L'open source è una metodologia di sviluppo; il software libero è un movimento sociale. Per il movimento per il software libero, il software libero è un imperativo etico, perchésoltanto il software libero rispetta la libertà degli utenti. Di contro, la filosofia dell'opensource pensa a come "migliorare" il software soltanto da un punto di vista pratico. Considera ilsoftware non libero come una soluzione sub ottimale.Per il movimento per il software libero, comunque, il software non libero è un problemasociale e la soluzione è migrare verso software libero. Software Libero. Open source. Se sitratta dello stesso software, ha importanza quale nome utilizziamo? Certo, perché parole differenti sottendono idee diverse. Benché un programma libero, in qualunque modo venga chiamato, vi dia oggi la stessa libertà,stabilire la libertà in modo che perduri nel tempo dipende soprattutto dall'insegnare allagente il valore della libertà. Se volete aiutarci in questo è essenziale che parliate di “softwarelibero”. Noi del movimento del software libero non pensiamo che il campo dell'open source siail nemico; il nemico è il software proprietario. Vogliamo però che la gente sappia che noi cibattiamo per la libertà e che pertanto non vogliamo essere scorrettamente identificati comesostenitori dell'open source.]

• Progetti open source famosi

- Android (sistema operativo per dispositivi mobili)*

- MySQL (database management)

- OpenOffice e LibreOffice (suite di programmi per l'ufficio)

- Firefox (web browser)

- Thunderbird (posta elettronica)

- Samba (per l'interoperabilità in ambienti Microsoft)

- Linux (sistema operativo)

- Apache (web server)

- Joomla (siti Web e portali)

- Mediawiki (Creazione di contenuti collaborativi sul Web)

- VLC (lettore multimediale e server per lo streaming)

- Wordpress (Blog e siti Web)

- Zen Cart (E-commerce)

- e molti altri ancora …

In questa guida parleremo principalmente di Linux, un sistema operativo alternativo a Windows di Microsoft e a OS X di Apple.

37

3 – Software

• GNU/LinuxLinux è una famiglia di sistemi operativi derivati da Unix aventi la caratteristica comune diutilizzare come nucleo il kernel Linux.Linux in realtà è solo il nome del kernel sviluppato da Linus Torvalds a partire dal 1991 cheè utilizzato come base per la realizzazione di vari sistemi operativi open-source.Molte importanti società come: IBM, Sun Microsystems, Hewlett-Packard, Red Hat,Canonical e Novell hanno sviluppato e sviluppano sistemi Linux.Grazie alla portabilità del kernel sono stati sviluppati sistemi operativi Linux per un'ampiagamma di computer, dai personal computer, ai cellulari, dai tablet computer e console, aimainframe e ai supercomputer oltre ai molti sistemi Linux installabili come server.

Gnu/Linux è un software libero creato nel 1991 da LinusTorvalds (uno studente universitario finlandese), che integratocon il sistema GNU* sviluppato da Richard Stallman, al tempostudente universitario del MIT (Massachusetts Institute ofTechnology) di Boston, ha dato vita al sistema operativoGNU/Linux.La dicitura Linux (senza prefisso "GNU/") per l'intero sistemaoperativo sarebbe erronea in quanto il nome Linux è attribuibileal solo kernel, mentre tutto il sistema, strutturato a partire daicomponenti dell'originale progetto GNU, dovrebbe piùpropriamente chiamarsi GNU/Linux.

Linux è un software ”open source” rilasciato con un tipo di licenza per la quale il codicesorgente è lasciato alla disponibilità di eventuali sviluppatori, per modificarlo e migliorarloe metterlo a sua volta a disposizione di altri.

*GNU significa GNU is Not Unix (ovvero "GNU non è Unix").

Sulla questione del nome i due “fondatori' di questo sistema operativo hanno detto la loro:

Linux e il progetto GNU secondo Stallman:dal sito www.gnu.org [Molti usano ogni giorno nei propri computer una versione modificata del sistema GNU senzarendersene conto. A causa di una serie di eventi particolari, la versione del sistema GNUattualmente più diffusa è spesso nota come "Linux", e sono tanti gli utenti che non sanno chesi tratta fondamentalmente del sistema GNU, sviluppato dal Progetto GNU.

Esiste davvero un Linux, e queste persone lo usano, ma è solo una partedel sistema. Linux è il kernel, il programma del sistema che si occupa diassegnare le risorse della macchina agli altri programmi che vengonoeseguiti.Il kernel è una parte essenziale del sistema operativo, ma non si puòutilizzare da solo; un kernel è utile soltanto in quanto parte di un sistemaoperativo completo.Linux è normalmente utilizzato in combinazione con il sistema operativo

GNU: il sistema è fondamentalmente GNU con l'aggiunta di Linux, vale a dire GNU/Linux. Tuttele distribuzioni cosiddette "Linux" sono in realtà distribuzioni GNU/Linux.Molti utenti non capiscono la differenza tra il kernel, che è Linux, e il sistema completo, cheloro chiamano sempre "Linux".L'uso ambiguo di questo nome non facilita la comprensione. Questi utenti spesso credono cheLinus Torvalds, con un po' di aiuto, abbia sviluppato tutto il sistema operativo nel 1991.

38

3 – Software

I programmatori di solito sanno che Linux è un kernel; ma dato che anche loro sovente hannosentito parlare di "Linux" riferito al sistema completo, il più delle volte immaginano una storiache possa giustificare il fatto di dare a tutto il sistema il nome del kernel.Per esempio, molti credono che quando Linus Torvalds ebbe finito di scrivere il kernel, gliutenti si guardarono intorno alla ricerca di altro software libero e trovarono che, come percaso, praticamente tutto il necessario per costruire un sistema simile a Unix era già disponibile.Quello che trovarono non fu casuale: si trattava del sistema GNU già quasi completo.Il software libero disponibile si unì per formare un sistema completo perché il Progetto GNUstava già lavorando dal 1984 per creare un tale sistema.Nel Manifesto GNU avevamo stabilito l'obiettivo di sviluppare un sistema libero simile a Unixchiamato GNU. L'Annuncio iniziale del Progetto GNU delinea inoltre alcuni dei piani originaliper il sistema GNU.Quando si cominciò a scrivere Linux, GNU era già quasi finito.La maggior parte dei progetti di software libero ha lo scopo di sviluppare un programma chesvolga un particolare compito.Per esempio, Linus Torvalds si propose di scrivere un kernel compatibile con Unix (Linux);Donald Knuth si propose di scrivere un impaginatore di testi (TeX); Bob Scheifler di sviluppareun sistema a finestre (X Windows). E' normale misurare il contributo di questo tipo di progettiin base ai programmi specifici che hanno prodotto.Se provassimo a quantificare il contributo del Progetto GNU in base a questo criterio, a qualeconclusione arriveremmo? Un distributore di CD-ROM rilevò che nella sua "distribuzioneLinux", il software GNU costituiva la componente maggiore, circa il 28% del totale del codicesorgente, inclusi alcuni dei principali componenti essenziali senza i quali non potrebbe essercialcun sistema. Linux propriamente detto costituiva circa il 3%. (Nel 2008 le proporzioni sonostate simili: nel repository principale di gNewSense, Linux rappresenta l'1.5% e i pacchettiGNU il 15%). Quindi se si dovesse scegliere un nome per il sistema in base a chi scrisse iprogrammi che ne fanno parte, la scelta più appropriata sarebbe "GNU".Ma non è questo questo il modo più appropriato di considerare la questione. Il Progetto GNUnon era, e non è, un progetto per lo sviluppo di pacchetti software specifici. L'obbiettivo nonera lo sviluppo di un compilatore C, anche se lo abbiamo fatto. Non era un progetto perscrivere un editor di testo, anche se ne abbiamo sviluppato uno. Lo scopo del progetto GNUera sviluppare un sistema libero completo simile a Unix: GNU.Molte persone hanno dato contributi importanti al software libero presente nel sistema, etutti meritano riconoscimento per il lavoro svolto. Ma il motivo per cui si tratta di un sistemaintegrato e non soltanto di una collezione di programmi utili, è che il Progetto GNU si eracostituito allo scopo di costruire un sistema unitario. Abbiamo fatto un elenco dei programminecessari per ottenere un sistema libero completo, e sistematicamente abbiamo trovato,scritto o ottenuto che altri scrivessero tutti i programmi presenti nel nostro elenco. Abbiamoscritto parti importanti, essenziali ma a volte anche tediose perché senza questi strumenti nonsi può avere un sistema. Alcuni dei nostri componenti, gli strumenti per la programmazione,furono molto apprezzati dai programmatori, ma abbiamo anche scritto molti altri componentiche non sono strumenti. Abbiamo persino scritto un programma per giocare a scacchi, perchéun sistema completo ha bisogno anche di giochi. All'inizio degli anni '90 avevamo messo insieme l'intero sistema ad eccezione del kernel.Avevamo anche iniziato a lavorare su un kernel, GNU Hurd, che si appoggia su Mach. Losviluppo di questo kernel è stato molto più difficile di quanto ci aspettassimo. Il kernel GNUHurd fu pronto e funzionante in modo affidabile nel 2001, ma manca ancora molto perrenderlo usabile da parte del pubblico. Per fortuna, non è stato necessario aspettare che Hurd fosse finito. Quando Torvalds rilasciòLinux come software libero nel 1992, il suo kernel colmò l'ultimo vuoto principale del sistema

39

3 – Software

GNU. Fu quindi possibile mettere insieme Linux e il sistema GNU per ottenere un sistema liberocompleto: una versione del sistema GNU basata su Linux o, in breve, il sistema GNU/Linux.Far funzionare bene i due insieme non fu compito semplice. Alcuni componenti GNU furonomodificati considerevolmente per farli funzionare con Linux. L'integrazione di un sistemacompleto per ottenere una distribuzione "pronta all'uso" fu un lavoro altrettanto impegnativo.Abbiamo dovuto affrontare i problemi dell'installazione e dell'avvio del sistema, questioni chenon erano ancora state affrontate. Le persone che svilupparono le varie distribuzioni delsistema diedero un contributo sostanziale. Ma si trattò di un compito che, per natura di cose,era comunque destinato ad essere portato a termine da qualcuno.Il Progetto GNU supporta sia i sistemi GNU/Linux sia il sistema GNU. La Free SoftwareFoundation (FSF) ha finanziato la riscrittura delle estensioni relative a Linux della libreria GNUC, in modo che ora sono ben integrate, e i sistemi GNU/Linux più recenti usano la versioneattuale della libreria senza modifiche. La FSF ha anche finanziato una prima fase di sviluppo diDebian GNU/Linux.Oggi esistono numerose varianti del sistema GNU/Linux, di solito vengono chiamate“distribuzioni” o, più brevemente, “distro”.La maggior parte include software non libero, in quanto gli sviluppatori di tali versioniseguono la filosofia associata a Linux piuttosto che la filosofia GNU. Ma esistono anchedistribuzioni GNU/Linux completamente libere.La FSF fornisce supporto a due di queste distribuzioni: Ututo e gNewSense.Per ottenere una distribuzione libera non basta eliminare i vari programmi non liberi.Al giorno d'oggi, anche la versione più diffusa del kernel Linux contiene programmi non liberi.Tali programmi vengono caricati nei dispositivi I/O all'accensione del sistema; si tratta di unaserie di numeri inclusi nel “codice sorgente” di Linux. Di conseguenza, gestire una distribuzionelibera di GNU/Linux oggi comporta anche la manutenzione di una versione libera di Linux.Sia che usiate GNU/Linux o meno, vi preghiamo di non confondere il pubblico utilizzando laforma “Linux” in modo ambiguo. Linux è il kernel, uno dei componenti essenziali del sistema.Il sistema nella sua totalità è sostanzialmente il sistema GNU con l'aggiunta di Linux. Quindi sevi riferite a questa combinazione, vi preghiamo di usare la dicitura “GNU/Linux”.

Chi desiderasse dei collegamenti di riferimento per il termine “GNU/Linux”, può visitare questapagina : http://www.gnu.org/gnu/the-gnu-project.html.

Linux secondo Torvalds:Secondo Linus Torvalds e secondo la maggior parte degli utenti,degli sviluppatori e delle società coinvolte nello sviluppo delsistema operativo e del software ad esso collegato, il nome Linux èormai divenuto sinonimo di sistema "Linux based", cioè di sistemabasato sul kernel Linux.Per il kernel Linux si può usare questo indirizzo di riferimento: http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?Linux

Non per fare un torto a Richard Stallman, che ha ragioni da vendere, ma solo per praticità,lo chiameremo solo ”Linux”.

40

3 – Software

• Perché usare LinuxEcco alcuni dei vantaggi tecnici, economici, etici e ambientali di Linux.

Dimentichiamoci dei virus.Se il computer si spegne senza chiederlo, se strane finestre con untesto incomprensibile, se delle email vengono inviate a tutti i tuoicontatti a tua insaputa, allora il tuo computer ha probabilmentecontratto un virus.Linux difficilmente contrae dei virus, certamente non è proprioimpossibile prenderne uno, con Linux questo accade moltodifficilmente per molte ragioni. Molta gente usa Microsoft Windowse i “pirati” vogliono creare quanti più danni (o controlli) possibile,quindi mirano a Windows.

Con Linux, ogni volta che chiedi di fare qualcosa che abbia a che vedere con il sistemaoperativo è richiesta la password di amministratore (chiamato root) e se non seiamministratore del sistema, semplicemente non puoi farlo.Più sguardi diminuiscono le falle di sicurezza, Linux è software open source, il che vuol direche qualunque programmatore può dare uno sguardo al codice sorgente (la "ricetta" diogni programma) e dare una mano o, semplicemente, dire agli altri sviluppatori che c'è unproblema.

Sistema stabile.Hai mai perso il tuo lavoro perché il tuo computer si e bloccato(andato in crash)?Ti e mai successo di dover staccare la spina per spegnere il computerperché il tuo sistema non ti lascia fare piu niente?Hai mai visto apparire sul tuo PC la "schermata blu della morte"(Blue Screen of Death) o messaggi di errore dicendoti che ilcomputer deve essere spento per oscuri motivi?Queste succedevano spesso con le precedenti versioni di Windows,anche se le versioni successive a Vista sono diventate più stabili di

prima, questi tipi di problema accadono ancora spesso.Ovviamente nessun sistema operativo è perfetto, le persone che ti dicono che il loro non èmai andato in crash mentono.Linux può funzionare per anni senza bisogno di essere riavviato (molti server Linux, nonvengono mai spenti o riavviati a causa di problemi software).

Un sistema operativo gratuito.La maggior parte delle persone che comprano un PC nuovo èconvinta di non aver pagato Windows.Se il tuo computer aveva già Windows, allora l'hai pagato, anche se ilnegozio non te l'ha detto. Quindi, a meno che tu non abbia ottenutoWindows illegalmente, l'hai pagato.Da dove pensi che Microsoft prenda tutti i suoi soldi? Al contrario, puoi avere Linux completamente senza prezzo.Molti appassionati in tutto il mondo hanno lavorato moltoduramente per creare un sistema preciso, sicuro, efficiente e di

bell'aspetto, e lo stanno facendo perché tutti possano usarlo liberamente. Di sicuro, alcuneaziende locali stanno facendo buoni affari vendendo supporto, documentazione, aiutotelefonico, ecc., per la propria versione di Linux, e questa è certamente una buona cosa.Ma nella stragrande parte dei casi, non spenderai un centesimo.

41

3 – Software

Linux è Libero.Linux e il software "Open Source" sono "liberi".Questo significa che la loro licenza è una "free licence", e la piùcomune è la GPL (General Public Licence). Questa licenza permette a chiunque di copiare il software, vedere ilcodice sorgente (la "ricetta"), modificarlo, e ridistribuirlo finchérimane sotto licenza GPL. Immaginiamo che Microsoft scompaia domani (magari non propriodomani, ma tra 5 o 10 anni), o che triplichi improvvisamente il prezzo

di una licenza dei suoi software.Oppure (molto verosimilmente) che dopo essere passati a Windows 10 gratuitamente, tichieda fra un anno dei soldi per gli aggiornamenti.Se siamo legati a Windows, non c'è nulla che possiamo fare (eccetto passare a Linux,ovviamente). Dipendiamo da una singola azienda e ci fidiamo completamente di essa perché fafunzionare il nostro computer.Se Windows ha un bug che ci disturba molto e Microsoft non lo risolve, non c'è poco o nullache possiamo fare, oltre a sperare che venga risolto. Con l'Open Source, se un particolare progetto o azienda muore, tutto il codice rimaneaperto alla comunità e la gente può continuare a migliorarlo. Se questo progetto ti èspecialmente utile, puoi portarlo avanti anche da solo. Sei libero di fare tutto quello che vuoi con il software libero e se non lo sai fare da solo puoiincaricare liberamente qualcuno di farlo per te.

Un sistema completo.Installare Windows è solo l'inizio.Immagina di aver appena installato la tua nuovissima copia diWindows 8.1 e di essere pronto a sfoderare le possibilità del tuocomputer.Subito ti accorgerai che mancano un sacco di programmi.

Per citarne qualcuno:

- Un programma di videoscrittura e un foglio di calcolo.

- Un programma per le presentazioni.

- Un programma per leggere i file in PDF.

- Un programma per masterizzare.

- Un programma per modificare le fotografie.

- Un programma per vedere i filmati DVD

- E altro ancora.

Ricordatevi di installare, subito un antivirus.

Windows è lontano dall'essere completo, e installarlo è solo l'inizio delle tuepreoccupazioni.

42

3 – Software

Aggiornamenti facili.Anche Windows ha uno strumento chiamato "Windows Update",che ti permette di aggiornare il tuo sistema.Siamo sicuri che tutto quello che ti viene proposto di installaresiano degli aggiornamenti? Io non lo sono!E per quanto riguarda il tuo software non Microsoft?Tutto il resto devi aggiornarlo da solo, uno per uno.E ci vorrà tempo, dato che ognuno di loro ha il proprio sistema diaggiornamento.

Linux ha un sistema centrale che si prende cura di tutto ciò che è installato nel tuo sistema,anche tutti i singoli pacchetti installati nel tuo computer.Quindi, se vuoi avere tutto aggiornato, l'unica cosa che devi fare è accettare gliaggiornamenti che ti vengono proposti.

Linux non rallenta.Windows (in particolare XP, ancora molto usato anche se non piùsupportato) ha delle falle di progettazione alla base che lo rendonopiù lento giorno dopo giorno.Avrai probabilmente sentito qualcuno dire "Il computer è diventatolentissimo, devo reinstallare Windows".Reinstallare Windows risolverà sicuramente il problema, ma solo finoalla prossima volta... Provate Linux e rimarrete sorpresi.

Dopo anni il tuo sistema sarà veloce e scattante come nel giorno in cui l'hai installato.Sono riuscito a convincere molte persone a passare a Linux mantenendo Windows sul lorohard disk perché avevano bisogno di alcuni programmi di cui Linux non disponeva, quindiavrebbero usato entrambi i sistemi.Dal giorno del passaggio molti di loro hanno reinstallato Windows almeno una volta in unanno, ma Linux non li ha mai abbandonati e tuttora funziona egregiamente.Con Linux spenderemo tempo solo per lavorarci, piuttosto che reinstallarlo ogni volta.

Nuova vita ai vecchi PC.Windows richiede hardware sempre più potente all'aumentare delsuo numero di versione (95, 98, 2000, Me, XP, Vista, 7, 8.1, 10 ecc.).Quindi, se vuoi che Windows continui a funzionare bene, deviaggiornare costantemente il tuo PC, spesso questo non è possibileed il PC dovrà essere dismesso.A mio avviso, non c'è alcuna ragione per un'evoluzione così drastica,se non quella del profitto.Di sicuro molte persone hanno bisogno di computer potenti e nuovohardware e la tecnologia le sta aiutando molto, ma per la maggior

parte degli utenti che navigano in rete, leggono e scrivono email, scrivono file di testo epresentazioni, che senso avrebbe comprare un nuovo computer ogni 3 o 4 anni, a partequello di riempire le tasche dei rivenditori?Windows XP nato nel 2001 e “morto” nel 2014, pur non essendo più supportato daMicrosoft, attualmente (2015) compete ancora per diffusione, con i nuovi sistemi operativi.Windows 10 è già disponibile, questi utenti che utilizzano ancora Windows XP, quandocambieranno sistema operativo (se non passeranno prima a Linux) si perderanno Vista,Windows 7, Windows 8 e forse non se ne accorgeranno nemmeno.

43

3 – Software

Qual'è esattamente la ragione per la quale il tuo computer non può più fare quello chefaceva 5 anni fa? La risposta ce la possiamo dare da soli: “il profitto”.Linux funziona perfettamente anche su hardware datato, sul quale probabilmente leultime versioni di Windows si rifiuterebbero di installarsi.Sicuramente Linux non renderà un bolide il tuo computer vecchio di 8 anni, ma ci gireràmolto bene e ti permetterà di effettuare le operazioni più comuni (navigare in rete,scrivere documenti, ecc.) più che decentemente.

Aiuta l'economia del tuo paese.Microsoft e Apple sono aziende con sede negli USA e il loro grossofatturato giova molto all'economia americana.Nel 2014 Microsoft ha fatturato quasi 87 miliardi di dollari, con un utilenetto di 22 miliardi, nel 2013 è diventata il maggior azionista di Nokiaacquisendone di fatto il controllo.Apple non è da meno, con 92.600 dipendenti un fatturato di 183miliardi di dollari e un utile netto di ben 39,51 miliardi (dati 2014), è

diventata la più grande e ricca azienda del mondo.Quando acquistiamo software proprietario, (come Windows, MsOffice e prodotti Apple),gran parte del denaro che spendiamo va direttamente alle aziende di Redmond (Microsoft)e Cupertino (Apple) negli Stati Uniti. Il nostro Paese non produce nulla e non abbiamo nemmeno bisogno di personalequalificato per vendere il prodotto.Ne consegue che ci sono dei professionisti informatici con conoscenze di alto livello chesemplicemente installano e configurano il software proprietario senza possibilità dimodificarlo o personalizzarlo e apprenderne completamente il funzionamento.Con il Free Software, l'economia e la cultura dei professionisti e dei tecnici informatici nelnostro Paese potrebbe migliorare, dato che potranno esserci molte piccole/medie impreseche provvederebbero soluzioni personalizzate, supporto, consulenza, ecc. Anche a parità di costi per l'utente finale, tutto questo porterebbe un vantaggio al nostropaese, ci saranno molte persone che sanno come fare le cose che trarranno beneficio, alcontrario di quelle che si limitano a vendere le confezioni con un predefinito importo, amandare il nostro denaro all'estero e a lasciare molti nostri professionisti di informatica afare (quando va bene) i commessi in un supermercato.

Basta pirateria informatica.Hai acquistato una licenza per tutto il software commerciale che usi? Usare software copiato illegalmente è una cosa molto comune,specialmente in Italia, ma è un reato.Se usi Linux e installi software libero non dovrai più preoccuparti di questo!Esistono molti sostituti open source del software commerciale, qui sotto (inrosso il software proprietario, in verde il corrispondente libero).

44

Adobe Illustrator Inkscape Adobe InDesign Scribus Adobe Photoshop The GIMP Microsoft Office OpenOffice, LibreOfficeMicrosoft Internet Firefox, KonquerorMicrosoft Outlook Thunderbird, Evolution, KMailMS Media Player Mplayer, VLC, Totem, Kaffeine, XineNero K3b, Brasero, GnomebakerQuickTime Player Mplayer, VLC, Totem, Kaffeine, Xine

3 – Software

• Le distribuzioni Linux

Una distribuzione Linux, è una raccolta di software che include oltre al sistema operativo,un insieme di altre applicazioni software, siano esse open source e a volte anche ancheproprietarie e commerciali.Queste distribuzioni includono anche strumenti software che guidano l'utente nel processodi installazione del sistema, si differenziano per scelte progettuali e anche per i software dimantenimento del sistema, per l'installazione, la rimozione e la configurazione delsoftware.La maggior parte delle distribuzioni funzionano anche in ”Live” (non richiedono lainstallazione) e il bootstrap (l'avvio del computer e il caricamento del sistema operativo)può avvenire direttamente da un supporto come CD o DVD o da una chiavetta USB.Società come Red Hat, Novell (per SUSE) e Canonical (per Ubuntu), e progetti di comunitàcome Debian, Slackware e Gentoo, assemblano e testano le varie componenti softwarerilasciando distribuzioni personalizzate, per la maggior parte gratuite.

• Le distribuzioni “storiche”Il mondo di Linux è in continuo fermento, oltre a queste ce ne sono molte altre altre ancora, qui di seguito alcune tra le più importanti e “storiche”:

Debian è una delle distribuzioni più vecchie e apprezzate da sviluppatori eamministratori di sistema.La filosofia che sta dietro a Debian è rigorosamente orientata al FreeSoftware: Debian infatti è un'associazione senza scopo di lucro che raduna

migliaia di sviluppatori e volontari che si occupano del suo mantenimento.Debian punta ad avere nella sua distribuzione solo software libero.In tutti i suoi anni di sviluppo Debian ha sempre mostrato grande affidabilità e stabilitàfacendone i suoi punti di forza.Questo le ha permesso di guadagnarsi molto credito tra gli utenti Linux, rendendola unadelle più usate sul lato server. La sua affidabilità e stabilità è data soprattutto dalla lenta e minuziosa fase di test checonsente di rilasciare delle versioni stabili che siano realmente tali.Questo porta a indubbi vantaggi, ma per alcuni, anche a una delle pecche di Debian.

45

3 – Software

Quello che non la rende appetibile a un utente alle prime armi è la mancanza di alcuneutility grafiche per la configurazione e gestione del proprio sistema.

RedHat a differenza di molte altre distribuzioni, Red Hat viene distribuitacommercialmente, ed è largamente diffusa nei settori aziendali.Fa della sicurezza e della stabilità uno dei suoi punti di forza, adattandosimolto bene alle esigenze di ambienti server. Essendo a pagamento, si ottienesupporto tecnico dedicato e molte garanzie e servizi.

Fedora è una distribuzione derivata da RedHat, ma totalmente gratuitadestinata ad un pubblico più vasto. Red Hat ha avviato il progetto Fedora conlo scopo di creare una comunità attorno alla quale sviluppare unadistribuzione che può servire come base per le proprie soluzioni business.Fedora è quindi un campo di prova per Red Hat che ora può contare sulcontributo di una vasta comunità di volontari.

Mandriva è il frutto dell'unione di Mandrake (la versione KDE di Red Hat),Conectiva e Lycoris.Mandriva con una distribuzione molto aggiornata e curata graficamente èstata uno dei giganti del software libero, sia come potenza commerciale siacome prodotti offerti. Nel 2012 la società ha abbandonato lo sviluppo di

soluzioni Linux gratuite concentrandosi sullo sviluppo di software open-source apagamento, la distribuzione Mandriva e stata donata alla comunità che sta ancoraportando avanti il progetto con il nome di OpenMandriva.La società Mandriva ha chiuso definitivamente nel 2015.

SuSe era in origine un’azienda tedesca che produce una distribuzione linuxcaratterizzata da notevole semplicità, rilasciando distribuzioni“commerciali”.Nel 2003 SuSE è stata acquistata da Novell uno dei colossi dell'informatica.Da allora è evoluta molto e recentemente il suo sviluppo è stato affidato a

una comunità, il cui risultato ha dato il via a OpenSuSE, una versione totalmente apertadella distribuzione tedesca.Caratteristica che colpisce subito chi inizia ad usarla è il suo potente tool per la messa apunto del sistema, YaST, che unifica tutte le utility in uno strumento centralizzato.Questo dà il vantaggio all'utente che vuole per la prima volta "provare" questadistribuzione di avere subito un punto di riferimento a cui fare affidamento per laconfigurazione, lasciando agli utenti più smaliziati la possibilità di una configurazione"fine". Usa come ambiente grafico KDE e una versione del kernel appositamente modificataper questa distribuzione.

• Come ottenere LinuxLe varie distribuzioni di Linux sono disponibili su Internet in forma di file immaginecompressa (.iso), qui di seguito alcune delle distribuzioni attualmente più diffuse:

- Debian www.debian.org/- Ubuntu www.ubuntu-it.org/- Mint www.linuxmint.com/

Una volta scaricato il file, occorrerà masterizzarlo su un CD o DVD, scegliendo l'opzione“masterizza come immagine ISO”, non masterizzatelo come un comune file. Molte distribuzioni sono anche ottenibili da riviste specializzate reperibili in edicola.

Su come installarle e dei vari modi di utilizzo parleremo più avanti.

46