Un po' di storia

1.1 I calcolatori

I calcolatori esistevano gia' negli anni 50, avevano dimensioni gigantesche e occupavano intere stanze. A dire il vero le prima macchine capaci di eseguire operazioni aritmetiche risalgono al XVII secolo, ma si trattava di congegni meccanici assai diversi dai veri calcolatori elettronici. Il primo vero calcolatore elettronico si chiamava ENIAC (Electronic Numerical Integrator And Computer) e venne progettato e realizzato negli anni 1943-46. Le sue dimensioni: 30 metri di lunghezza e 2,5 metri di altezza ;o) Questi bestioni esistono ancora, ma sono molto piu' piccoli (diciamo delle dimensioni di un armadio) e sono molto ma molto piu' potenti. Si chiamano mainframe e sono macchine che gestiscono centinaia di postazioni di lavoro contemporaneamente. Ad esempio, quando vai in banca e fai un'operazione allo sportello, l'operatore che lavora al computer sta utilizzando un mainframe. Ma non e' l'unico, perche' tutti gli operatori di quella banca stanno lavorando sullo stesso computer! Il personal computer al contrario, e' una macchina che puo' essere utilizzata da una sola persona alla volta, si dice percio' che e' un computer personale (Personal Computer, o abbreviato PC). I Personal computer vennero inventati 30 anni dopo grazie a societa' come la Intel e l'IBM. L'IBM invento il sistema operativo DOS (Disk Operating System), ed invento' anche il supporto che lo conteneva: il primo floppy disk della storia! Un disco sottile di materiale plastico flessibile e non rigido (cioe' 'floscio' ossia 'floppy') rivestito di cartone del diametro di 8 pollici (circa 20 cm). Successivamente, nel 1975 venne alla luce il sistema operativo il CP/M (Control Program for Microcomputers). Nel 1979 Tim Paterson, della Seattle Computer Product scrisse l' 86-DOS. Contemporaneamente l'IBM stava pensando di costruire un personal computer. Fu allora che Bill Gates allora presidente della Microsoft si incontro' con l'IBM (la quale nello stesso momento contatto' anche la Digital Research, la societa' che aveva scritto il CP/M). Cosa accadde? L'IBM non raggiunse un accordo con la Digital Research, mentre la Microsoft acquisto' i diritti per la distribuzione dell' 86-DOS di Tim Paterson e inizio' le trattative con l'IBM per l'uso du questo  nuovo sistema operativo. Le trattative ebbero successo e fu cosi' che l'MS-DOS (leggi 86-DOS) divenne il sistema operativo del nuovo personal computer IBM. Ecco che finalmente, nell'aprile del 1981 l'IBM annuncio' l'uscita del personal computer IBM (che adottava la CPU Intel 8088) con sistema operativo IBM. Tale sistema operativo venne chiamato PC DOS (ma in realta' era l'originale 86-DOS acquistato dalla Microsoft con qualche programma in piu' sviluppato dall'IBM). Prima leggenda sfatata: la Microsoft non invento' l'MS-DOS ma acquisto' i diritti dell'86-DOS di Tim Paterson (che poi lavoro' per la Microsoft per migliorarlo e perfezionarlo). Cosa fece la Microsoft? Adotto' alcune strategie gia' proprie dello Unix (nato intorno agli anni '70 negli AT&T Bell Laboratories) nel 'suo' sistema operativo. 4 anni piu' tardi la Microsoft creo' Windows 1.0 e si passo' da un ambiente completamente testuale (l'MS-DOS) ad uno grafico (Windows). Significava usare finestre e mouse per impartire comandi al computer (mentre con l'MS-DOS occorreva digitare alla tastiera i comandi, e cio' era un grosso problema per gli utilizzatori poco esperti). Nel novembre 1987 usci' Windows 2.0, a maggio del 1990 si poteva gia' usare Windows 3.0, ma il grosso salto avvenne con l'uscita di Windows 3.1 a meta' del 1992. Nel 1994 nascono i primi pentium della Intel e finalmente esce anche Windows 95. Un grosso passo in avanti rispetto a Windows 3.1. Successivamente vennero introdotti Windows 98,  Windows/NT, Windows 2000, ma il passo fondamentale avvenne grazie a Windows95. Ma a questo punto occorre sfatare una seconda leggenda: la Microsoft non ha inventato l'interfaccia grafica composta da finestre tipica di Windows, infatti tale merito spetta ad un'altra societa', la Apple. Nel maggio del 1983 infatti (un anno prima dell'uscita di Windows 1.0) l'Apple presento' l'Apple LISA, un personal computer che adottava un'interfaccia grafica con finestre ed icone, dimostrando al mondo cio' che si poteva fare con un mouse. In realta' qualche anno prima ci furono gia' un paio di aziende (tra cui la Xerox) che crearono delle interfacce grafiche, ma il boom dei PC (intesi come computer indirizzati al grande pubblico) non era ancora nato: fu l' IBM che apri' la strada in tal senso: nel 1981 con il suo primo PC.

1.2 Linux gli hacker ed il monopolio Microsoft

A questo punto occorre illustrare come un prodotto come Windows si sia imposto sul mercato ed abbia acquisito una posizione di monopolio, nonostante esistano in giro sistemi operativi di qualita' superiore come appunto Unix (commerciale) e Linux (gratuito). Nel 1969 un hacker chiamato Ken Thompson degli AT&T Bell Laboratories sviluppo' il sistema operativo Unix e qualche tempo piu' tardi un altro hacker, Dennis Ritchie, progetto' ed implemento' il linguaggio di programmazione C su un sistema operativo Unix ed un calcolatore DEC PDP-11 (in quegli anni venne alla luce ARPANET, ossia la prima rete di computer che divento' poi l'Internet che conosciamo oggi). Nel 1982 un gruppo di hacker dell' universita' Berkeley fondo' la SUN Microsystems (la societa' che poi sviluppo' il linguaggio Java).  Piu' tardi un altro famoso hacker, Richard M. Stallman creo' EMACS e nel 1985 fondo' la FSF (Free Software Foundation), una organizzazione creata per diffondere il software libero. Uno degli obiettivi di Stallman era quello di creare un compilatore C libero (e lo fece, creando il GCC). 22 anni piu' tardi, nel 1991 un altro hacker studente di scienze dell'informazione dell'universita' di Helsinki, Linus Torvalds, inizio' a sviluppare un kernel Unix libero, utilizzabile su sistemi 386 (una delle prime CPU usate nei Personal Computer) usando gli strumenti di sviluppo forniti dalla FSF. Era nato Linux: una versione per PC di Unix. Linux pero' nacque come progetto di ricerca e non come operazione commerciale, percio' l'obiettivo di Linus Torvald non era quello di acquisire maggiori fette di mercato rendendolo un prodotto facile da usare. Infatti le prime versioni di Linux erano al contrario abbastanza difficili da usare: occorreva realmente essere degli esperti informatici. Questo non fu lo stesso ragionamento di Bill Gates, che al contrario ha sempre mirato al raggiungimento di fette di mercato sempre piu' ampie fino a acquisire di fatto una posizione di monopolio. Nel 1995 le pratiche non proprio corrette della societa' di Seattle portarono la giustizia americana ad interessarsi del caso Microsoft. Se una casa produttrice di un sistema operativo (Windows) produce anche gli applicativi che 'girano' all'interno di tale sistema operativo (Word, Excel etc.), beh, e' facile modificare il sistema operativo in modo da essere instabile e andare in errore con programmi prodotti da societa' concorrenti e funzionare perfettamente solo con i propri. Ma questa e' solamente la delirante illazione del sottoscritto... ;o)

1.3 Il movimento Open Source

Agli albori dell'era informatica il software era libero e gratuito, difatti le comunita' di programmatori cooperavano e si scambiavano i programmi tra loro liberamente. Non esisteva ancora il concetto di copyright nel software e le informazioni si diffondevano all' interno della comunita' informatica cosi' come avveniva ed avviene tutt'ora all'interno della comunita' scientifica. Le scoperte scientifiche difatti, vengono pubblicate su riviste autorevoli e divulgate in tutto il mondo. Questo spirto di cooperazione e' stato lo spirito che ha animato (a parte la scintilla iniziale di carattere militare) da sempre la comunita' di Internet. Internet e' nata prima in ambito militare e poi si e' diffusa immediatamente in ambito scientifico. Solo recentemente (anche grazie alla comparsa del web) si e' diffusa in ambito commerciale. Ma tornando al software...tutto e' andato bene sino a quando le societa' che lo sviluppavano non hanno cominciato a far pagare agli utilizzatori il software da loro prodotto. C'e' poi chi ha addirittura esagerato e ha creato situazioni di monopolio (leggi Microsoft). Tutto a discapito della qualita' del software prodotto. Monopolio infatti significa: 'o mangi questa minestra o...'. Ma oggi sta comparendo nuovamente il concetto di software libero e gratuito. Questo grazie all'azione di migliaia di volontari e di organizzazioni sparse in tutto il mondo - legate tra loro, guarda un po',  dalla rete - che da anni cooperano congiuntamente per raggiungere degli obiettivi comuni. Grazie a queste persone sono nati progetti grandiosi e meravigliosi, come l'organizzazione GNU, la free software foundation, l'open source, l'organizzazione Mozilla, LINUX e molti altri. I promotori e gli ideatori di questi progetti sono degli HACKER famosi (gia', guarda un po', gli hacker non sono cattivi come vogliono farci credere). Anzi. Linus Torvalds ad esempio, e' stato l'hacker ideatore del mitico sistema operativo linux. Richard Stallman e' stato l'hacker ideatore del progetto GNU (un sistema operativo stile Unix ma gratuito). Questo solo per citare due dei personaggi piu' famosi. Stiamo parlando di studenti universitari particolarmente brillanti e di persone che hanno lavorato presso universita' prestigiose come il mitico MIT (Massachusetts Institute of Technology). Nacque quindi il movimento Open Source (lett. sorgente aperto). Ma per capire cosa significhi Open Source occorre dare una piccolissima spiegazione tecnica ai non addetti ai lavori. Occorre sapere infatti che il software esiste in 2 formati particolari: un formato 'sorgente' ed uno 'eseguibile'. La parte sorgente e' il codice del programma scritto con un qualsiasi linguaggio di programmazione (come il C, il Java od il Cobol). La parte eseguibile invece e', grossomodo, la traduzione di quel codice in un linguaggio comprensibile solo al calcolatore (incomprensibile cioe' agli umani). Il sorgente in sostanza e' una serie di comandi e di istruzioni impartite al calcolatore e scritte da un programmatore (puo' essere scritto come se fosse una lettera, usando ad esempio il programma Word). Questo sorgente puo' essere letto da tutti e, chiunque, se e' in grado di farlo, puo' apporre modifiche o migliorie. Basta sapere dove mettere le mani ;o). Le cose stanno diversamente con il formato 'eseguibile' che e' una traduzione (fatta da un apposito programma chiamato compilatore) del sorgente in un linguaggio comprensibile esclusivamente dal calcolatore. Un programma in formato eseguibile (cioe' tradotto dal compilatore) e' impossibile da leggere per gli umani. Tutto questo perche' il calcolatore non capisce il nostro linguaggio e noi umani non comprendiamo il suo. Il calcolatore non sa che farsene del programma scritto come se fosse un documento Word. Non lo capisce. Occorre pertanto una fase di traduzione da sorgente (comprensibile dagli umani ma non dal calcolatore) ad eseguibile (incomprensibile per gli umani ma comprensibile dal calcolatore). E siamo arrivati al punto. Word od Internet Explorer ad esempio (cito dei programmi Microsoft perche' sono presenti nel 90% dei PC e quindi li conoscono quasi tutti) sono programmi che vengono distribuiti soltanto in formato eseguibile. Non vengono diffusi cioe' i sorgenti di tali programmi. Perche'? Semplice: se io che sono programmatore ho a disposizione il formato sorgente del programma Word, posso modificarlo ed apportare migliorie a mio piacimento. Posso addirittura eliminare (ma non e' legale) le protezioni che impediscono a tale software di funzionare quando non lo si e' pagato (operazione denominata 'cracking' del software). In altre parole diventerebbe un programma open source (cosa non voluta dalla casa produttrice). Al contrario, se non si diffondono i sorgenti di tale programma, io che sono programmatore non posso fare altro che pagare quel programma se voglio utilizzarlo, non essendo piu' in grado - avendo a disposizione solo il formato eseguibile - di modificarlo o di eliminare le protezioni. Il software quindi e' composto di 2 parti, una parte sorgente ed una eseguibile. Bene, quando di un software viene distribuita solo la parte eseguibile si parla di software proprietario (di proprieta' cioe' di una societa' produttrice di software), e per poterlo usare occorrono delle licenze. Licenze vendute dalla stessa casa produttrice. Queste licenze hanno un prezzo piu' o meno alto, ma hanno comunque un prezzo. Esiste cioe' il concetto di copyright o diritto di copia, che piu' o meno significa che su ogni copia di software distribuita, la casa produttrice detiene dei diritti. Tali diritti costituiscono il prezzo del software. Quindi chi compra un programma, in realta' non compra il programma ma solo una copia di esso. Per tale motivo non e' possibile copiare un programma di questo tipo e diffondere le copie ottenute (operazione illegale). Un po' come avviene con i dischi ed i CD (vedi il caso Napster con i file mp3). Al contrario, quando di un software si distribuisce anche la parte sorgente, parliamo di open source, ossia di sorgente aperto (cioe' libero e leggibile - e quindi modificabile - da tutti). Attenzione: il sorgente aperto non e' ancora un software gratuito. Infatti un programma open source puo' essere distribuito gratuitamente o anche venduto.  E' solo un software del quale sono disponibili i sorgenti. Questa sottile differenza tra software libero (free) e sorgente aperto (open source) viene discussa nelle pagine del sito che fa capo al progetto GNU: www.gnu.org. Comunque spesso vengono usati questi termini indistintamente per indicare la stessa cosa: software libero (libero da copyright) disponibile ed utilizzabile da tutti. Ecco che cosi' viene a crearsi il concetto di copyleft (esatto contrario di copyright), ossia non piu' diritto sulle copie distribuite ma permesso di copia (ossia chiunque e' libero di copiare e diffondere il programma).

1.4 Tappe fondamentali

  • 1943-46: nasce ENIAC, il primo calcolatore elettronico della storia
  • 1969: Ken Thompson inventa il Sistema Operativo UNIX presso gli AT&T Bell Laboratories
  • 1969: nasce ARPANET (progetto militare che diventera' poi Internet)
  • 1970: Dennis Ritchie scrive il linguaggio di programmazione C
  • 1972: Ray Tomlinson della BBN crea il primo programma di posta elettronica
  • 1973: primo collegamento internazionale tra Inghilterra e Norvegia tramite ARPANET
  • 1973: la Xerox produce ALTO il primo computer dotato di interfaccia grafica
  • 1975: nasce il Sistema Operativo CP/M
  • 1979: Tim Paterson inventa il Sistema Operativo 86-DOS
  • 1979: nascono i gruppi di discussione (newsgroup)
  • 1981: IBM annuncia il primo PC
  • 1981: Bill Gates fonda la societa' Microsoft Corporation a Seattle
  • 1981: Bill Gates acquista i diritti del Sistema Operativo 86-DOS e lo chiama MS-DOS
  • 1983: la Apple crea LISA un PC dotato di interfaccia grafica
  • 1985: Richard M. Stallman fonda il movimento FSF (Free Software Foundation)
  • 1984: il MIT crea X-Window, una interfaccia grafica per gli ambienti Unix
  • 1985: nasce il Sistema Operativo Windows 1.0
  • 1988: nasce la rete IRC (Internet Relay Chat)
  • 1989: Tim Berners-Lee del CERN di Ginevra crea il linguaggio HTML (questa pagina e' scritta in HTML)
  • 1991: nasce Linux ad opera di Linus Torvalds
  • 1991: nascono Gopher e Wais i primi 'motori di ricerca'
  • 1991: nasce il World Wide Web (WWW)
  • 1992: nasce Windows 3.1
  • 1993: nasce Mosaic, il primo browser web grafico
  • 1994: nasce Netscape 1.0
  • 1994: nasce Yahoo!
  • 1994: escono i primi microprocessori Pentium della INTEL
  • 1995: nasce il Sistema Operativo Windows 95
  • 1995: nasce il caso giudiziario Microsoft
  • 1995: i ricercatori della Digital Equipment Corporation's Research lab creano il motore di ricerca ALTAVISTA

Inizio della guida  Introduzione  Indice  Il computer

Copyright (c) 2002-2003 Maurizio Silvestri