You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: res/fLessons/13-10-15.tex
+16-16Lines changed: 16 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,13 @@ \section{Lezione 13-10-15}
2
2
3
3
\subsection{GNU}
4
4
5
-
Nota: argomenti trattati nel libro \textit{Heroes of th computer: Cap. 1,2 ed Epilogo}
5
+
Nota: argomenti trattati nel libro \textit{Heroes of the computer: Cap. 1,2 ed Epilogo}
6
6
7
7
Gli hack\footnote{In informatica: hack \`e un esercizio di codice che dimostra l'inventiva dell'autore, creato anche per il piacere dstesso dello scriverlo} del mit sono scherzi anonimi che dimostrano la creativit\`a della persona che li eseguono. Son presenti fino dagli anni 50.
8
8
9
9
\subsubsection{Gli albori}
10
10
11
-
Nel 1950-1960 la culla hacker nasce ai laboratori del MIT tra i ragazzini del Tech Model Railboard club. Il primo gruppo lo si ha dal sottogruppo Signal \& Power, che si occupava della gestione della circuiteria e segnali dei treni. Questa complessit\`a rasentava quella del software. Il Corso di intelligenza arificiale di McCarthy del 1959 facilit\`o la formazione di questo gruppo, permettendo di cominciare a programmare le prime macchine. I primi hack si ebbero sull'IBM 704, tramite la programmazione non iterattiva\footnote{Queste macchine sono i primi esempi di macchine commerciali e si programmavano con le schede perforate e il loro accesso per l'utilizzo era molto ristretto.}. Con L'IBM 407\footnote{Macchinetta di servizio per la perforazione delle schede} e determinate modifiche era possibile usarla per poter programmare. La vera programmazione si vede per\`o con il TX0\footnote{La programmazione in assembler ammetteva 4 istruzioni}, dove la politica di utilizzo era un po' pi\`u ``rilassata''.
11
+
Nel 1950-1960 la culla hacker nasce ai laboratori del MIT tra i ragazzini del Tech Model Railboard club. Il primo gruppo lo si ha dal sottogruppo Signal \& Power, che si occupava della gestione della circuiteria e segnali dei treni. Questa complessit\`a rasentava quella del software. Il Corso di intelligenza arificiale di McCarthy del 1959 facilit\`o la formazione di questo gruppo, permettendo di cominciare a programmare le prime macchine. I primi hack si ebbero sull'IBM 704, tramite la programmazione non interattiva\footnote{Queste macchine sono i primi esempi di macchine commerciali e si programmavano con le schede perforate e il loro accesso per l'utilizzo era molto ristretto.}. Con l'IBM 407\footnote{Macchinetta di servizio per la perforazione delle schede} e determinate modifiche era possibile usare il macchinario per poter programmare. La vera programmazione si vede per\`o con il TX0\footnote{La programmazione in assembler ammetteva 4 istruzioni}, dove la politica di utilizzo era un po' pi\`u ``rilassata''.
12
12
Caratteristiche principali della cultura hacker:
13
13
\begin{itemize}
14
14
@@ -25,11 +25,11 @@ \subsubsection{Etica hacker}
25
25
26
26
\begin{itemize}
27
27
28
-
\item L'accesso al computer, e a tutto ci\`o da cui si pu\`o imparare dovrebbe essere illimitato e totale. L'apprendimento avveniva non per basi teoriche, ma per basi pratiche (si voleva che il computer venisse ``aperto'' e studiato). Il ``Midnight Requisitioning Committee'' era un comitato non ufficiale che si occupava di requisire componentistica elettronica per poterla riusare.
28
+
\item L'accesso al computer, e a tutto ci\`o da cui si pu\`o imparare dovrebbe essere illimitato e totale. L'apprendimento avveniva non per basi teoriche, ma per basi pratiche (si voleva che il computer venisse ``aperto'' e studiato). Il ``Midnight Requisitioning Committee'' era un comitato non ufficiale che si occupava di requisire componentistica elettronica principalmente inutilizzata per poterla riusare.
29
29
30
30
\item L'informazione dovrebbe essere libera: senza l'informazione \`e impossibile capire e quindi migliorare i sistemi, con l'idea che l'informazione dovrebbe essere come il flusso di bit in un computer. Era inconcepibile quindi che un software fosse proprietario.
31
31
32
-
\item Non fidarti dell'autorit\`a e promuovi la decentralizzazione. Secondo la comunit\`a hacker, l'autorit\`a porta con s\`e la burocrazia, che promuove regole arbitrarie che mirano solo alla propria perpetuazione.
32
+
\item``Non fidarti dell'autorit\`a e promuovi la decentralizzazione''. Secondo la comunit\`a hacker, l'autorit\`a porta con s\`e la burocrazia, che promuove regole arbitrarie che mirano solo alla propria perpetuazione.
33
33
34
34
\item Gli hacker dovrrebbero essere giudicati per il loro valore, non sulla base di fattori come razza, religione, sesso o posizione sociale. L'unica cosa che conta \`e quanto l'hacker pu\`o contribuire all'avanzamento dello stato dell'hacking.
35
35
@@ -39,7 +39,7 @@ \subsubsection{Etica hacker}
39
39
40
40
\subsubsection{Incompatible Timesharing System}
41
41
42
-
Con la macchina non-timesharing si avevano code lunghe per l'utilizzo del computer, causando problemi. Il progetto MAC puntava alla costruzione di una rete come quella elettrica destinata a distribuire potenza di calcolo.
42
+
Con le macchina non-timesharing si avevano code lunghe per l'utilizzo del computer, causando problemi. Il progetto MAC puntava alla costruzione di una rete come quella elettrica destinata a distribuire potenza di calcolo.
43
43
44
44
Il timesharing era mal visto dagli hacker, che gli ricordava il Multics o CTSS, in quando non si poteva avere controllo totale della macchina. Alcuni programmi che gli hacker sviluppavano avevano veramente bisogno di tutte le risorse del computer disponibili. Era quindi necessario aver bisogno di un accesso totale, e si arriv\`o a un compromesso: timesharing durante il giorno e single mode durante la notte, e per questo era necessario uno sviluppo di un SO in timeshaing ispirato all'etica hacker: ITS\footnote{Incompatible Timesharing System}.
45
45
@@ -62,18 +62,18 @@ \subsubsection{Stallman}
62
62
63
63
Stallman entra nel laboratorio attorno agli anni '70, quando il laboratorio si sta avvicinando alla fine. Non era un informatico, ma era interessato all'informatica in generale. Nel 1971 entra a Harward, ma si interessa di pi\`u al MIT, dove viene assunto da Russ Noftsker come programmatore di sistema. Stallman quindi si avvicina alla cultura hacker, e lavora insieme a Richard Greenblatt e Bill Gosper\footnote{Pi\`u incline nella risoluzione di problemi ambito ``lato matematico''}.
64
64
65
-
\paragraph*{Emacs} Dalla telescrivende si hanno dei passaggi verso i primi monitor con una riga. I primi programmi per gli editor sono Expensive Typewriter e TECO\footnote{Type Editor and Corrector}, che fungeva da insieme di strumenti a cui si lavorava applicando un insieme di comandi al testo. Questi tool erano comunque scomodi da usare, quindi Stallman decide di cercare un altro tipo di software altrove. Non trovandolo, fece una MACRO per TECO, dove era possibile:
65
+
\paragraph*{Emacs} Dalla telescrivente si hanno dei passaggi verso i primi monitor con una riga. I primi programmi per gli editor sono Expensive Typewriter e TECO\footnote{Type Editor and Corrector}, che fungevano da insieme di strumenti a cui si lavorava applicando un insieme di comandi al testo. Questi tool erano comunque scomodi da usare, quindi Stallman decise di cercare un altro tipo di software altrove. Non trovandolo, fece una MACRO per TECO, dove era possibile:
66
66
\begin{itemize}
67
67
68
68
\item Editare il testo \textit{real time}
69
-
\itemPermetteva il \textit{random access editing}
70
-
\itemConsenteva l'aggiunta di ulteriori MACRO
69
+
\itemPermettere il \textit{random access editing}
70
+
\itemConsentire l'aggiunta di ulteriori MACRO
71
71
72
72
\end{itemize}
73
73
74
-
La nascita di Emacs si ha dal caos dovuto alle troppe MACRO nate. Steele propone di generare un ordine nell'universo delle MACRO. Inizialmente impone una clausola che imponeva che ogni modifica a Emacs fosse inviata allo sviluppatore principale, in modo tale che, se fosse stata un'ottima idea, sarebbe stato possibile integrarla in Emacs e renderla disponibile a tutti. Questa clausola permette alle persone di lavorare insieme agli altri in una community ma impone una limitazione alla libert\`a di sviluppo.
74
+
La nascita di Emacs si ha dal caos dovuto alle troppe MACRO nate. Steele propone di generare un ordine nell'universo delle MACRO. Inizialmente impone una clausola che imponeva che ogni modifica a Emacs fosse inviata allo sviluppatore principale, in modo tale che, se fosse stata un'ottima idea, sarebbe stato possibile integrarla in Emacs e renderla disponibile a tutti. Questa clausola permett\`e alle persone di lavorare insieme agli altri in una community ma impose una limitazione alla libert\`a di sviluppo.
75
75
76
-
\paragraph*{Le prime incursioni} Con l'avvento delle password, Stallman cerca di convincere le altre persone a limitarne l'utilizzo, e a permettere agli altri utenti di utilizzare i file di tutti. Ci\`o porta l'intervento del ministero della Difesa, che lo costringe all'uso di password. Con ci\`o aliena la comunit\`a vicino a Stallman, anche a causa dell'introduzione dello \textit{sciopero del software}. La time bomb di scribe fa prendere a Stallman la scelta di opporsi alle restrizioni sull'utilizzo del software.
76
+
\paragraph*{Le prime incursioni} Con l'avvento delle password, Stallman cerca di convincere le altre persone a limitarne l'utilizzo, e a permettere agli altri utenti di utilizzare i file di tutti. Ci\`o porta l'intervento del ministero della Difesa, che lo costringe all'uso di password. Ci\`o aliena la comunit\`a vicino a Stallman, anche a causa dell'introduzione dello \textit{sciopero del software}. La time bomb di Scribe fa prendere a Stallman la scelta di opporsi alle restrizioni sull'utilizzo del software.
77
77
78
78
\subsubsection{Cambiamento di mentalit\`a}
79
79
@@ -87,21 +87,21 @@ \subsubsection{Cambiamento di mentalit\`a}
87
87
\item Svuotamento del MIT
88
88
\item LMI e soprattutto Symbolics attingono pesantemente dal MIT
89
89
\item 1982: Symbolics rende le proprie modifiche al SO delle lisp machines proprietario, causando la vendetta di Stallman, che si mise a replicare tutte le funzionalit\`a e a donarle a LMI.
90
-
\item La comunit\`a hacker s'indebolisce, perch\`e minoritaria rispetto a studenti e professori, e diventa difficile di sostenere dentro il laboratorio un sistema proprio interno.
90
+
\item La comunit\`a hacker s'indebolisce, perch\`e minoritaria rispetto a studenti e professori, e diventa difficile sostenere dentro il laboratorio un sistema proprio interno.
91
91
92
92
\end{itemize}
93
93
94
94
\paragraph*{Cambiamento del PDP} Con il cambiamento del PDP tutto il software relativo diventa obsoleto. Ci\`o apre un fronte:
95
95
\begin{itemize}
96
96
97
97
\item Continuare a utilizzare ITS $\to$ diventato vecchio e poco sicuro
GNU nasce grazie al caso della stampante Xerox, che era un materiale sotto la media e che tendeva a incepparsi spesso. Il software dato era proprietario, e i sorgenti sotto nda\footnote{Atto di non divulgazione}. Stallman non poteva quindi migliorare il driver della stampante, e con ci\`o lasci\`o il MIT e and\`o a fondare il progetto \textit{GNU} nel 1983.
104
+
GNU nasce grazie al caso della stampante Xerox, che veniva venduta con un software sotto la media e che tendeva a far inceppare spesso la stampante. Il software dato era proprietario, e i sorgenti sotto NDA\footnote{Atto di non divulgazione}. Stallman non poteva quindi migliorare il driver della stampante, e con ci\`o lasci\`o il MIT e and\`o a fondare il progetto \textit{GNU} nel 1983.
105
105
106
106
\paragraph*{L'appello} Nel 1983, su net.unix-wizard Stallman lancia dopo il giorno del ringraziamento un nuovo software Unix compatibile, che chiam\`o GNU\footnote{Gnu is Not Unix}. Unix venne scelto come base perch\`e:
107
107
\begin{itemize}
@@ -115,9 +115,9 @@ \subsubsection{Nasce GNU}
115
115
116
116
Avendo bisogno di un compilatore, si mise a lavorare su Pastel, un compilatore libero. Purtroppo la struttura troppo pesante impediva a Pastel di lavorare su macchine poco potenti, e con ci\`o si mise alla stesura di GNU Emacs partendo dal codice di Gosling, reimplementando alcune funzionalit\`a sotto le minaccie legali di Unipress. Nel 1985 Stallman rilascia GNU Emacs, ponendo il problema di quale licenza usare per quel programma.
117
117
118
-
\paragraph*{GPL} Inizialmente, la licenza di GNU Emacs era ispirata dalle note di ``copyright'' sulle email. Inoltre, la diffusione del software in modo centralizzato, a differenza che con la commmune. Per suggerimento di Gilmore si ha un cambio nome: si ha quindi la nascita della \textbf{GNU general public license}. GNU gpl v1 viene distribuita con il rilascio di gdb, con l'idea di unificare in un'unica licenza tutto il software GNU.
118
+
\paragraph*{GPL} Inizialmente, la licenza di GNU Emacs era ispirata dalle note di ``copyright'' sulle email. Inoltre, la diffusione del software in modo centralizzato, a differenza che con la commune. Per suggerimento di Gilmore si ha un cambio nome: si ha quindi la nascita della \textbf{GNU general public license}. GNU gpl v1 viene distribuita con il rilascio di gdb, con l'idea di unificare in un'unica licenza tutto il software GNU.
119
119
120
-
\paragraph*{L'incontro con bsd} Con la rottura del monopolio, AT\&T comincia a focalizzarsi sullo sviluppo di unix a scopi commerciali. BSD era una distribuzione accademica derivata da Unix con vari contributi esterni ma richiedeva comunque il pagamento di una licenza AT\&T perch\`e non tutto il codice era di Berkeley. Nel 1984-1985 Stallman convince Boltic e finire il progetto.
120
+
\paragraph*{L'incontro con BSD} Con la rottura del monopolio, AT\&T comincia a focalizzarsi sullo sviluppo di Unix a scopi commerciali. BSD era una distribuzione accademica derivata da Unix con vari contributi esterni ma richiedeva comunque il pagamento di una licenza AT\&T perch\`e non tutto il codice era di Berkeley. Nel 1984-1985 Stallman convince Boltic e finire il progetto.
121
121
122
122
Negli anni 80-90 Bruce Perens rilascia electric fence\footnote{Una libreria scritta in C} sotto GPL. Rich Moriin fonda Prime Time Freeware, un'azienda che ricercava software open source nella rete e si occupava di rivendere i nastri.
123
123
@@ -133,7 +133,7 @@ \subsubsection{Espansione del progetto GNU}
133
133
134
134
\end{itemize}
135
135
136
-
\paragraph*{GNU Hurd} Nel 1986 si ha il tentativo di basarsi su TRIX. Ma ci\`o causava il non funzionamento su macchine standard, e ci\`o portava a un numero troppo elevato di cambiamenti. Si prova quindi a basarsi sul codice BSD, ma si ha poca cooperazione da parte degli sviluppatori e si preferisce un approccio pi\`u ambizioso: basarsi su un microkernel usando su \textit{Mach}. Nel 1990 iniziano i lavori sul kernel, ma si incontrano difficolt\`a di sviluppo, aggravata dalla poca attenzione dovuta all'avvento di Linux. Attualmente Mach supporta i driver linux, supporta X, iceweasel e forse debian render\`a ufficiale una prossima release.
136
+
\paragraph*{GNU Hurd} Nel 1986 si ha il tentativo di basarsi su TRIX. Ma ci\`o causava il non funzionamento su macchine standard, e ci\`o portava a un numero troppo elevato di cambiamenti. Si prova quindi a basarsi sul codice BSD, ma si ha poca cooperazione da parte degli sviluppatori e si preferisce un approccio pi\`u ambizioso: basarsi su un microkernel usando \textit{Mach}. Nel 1990 iniziano i lavori sul kernel, ma si incontrano difficolt\`a di sviluppo, aggravata dalla poca attenzione dovuta dall'avvento di Linux. Attualmente Mach supporta i driver linux, supporta X, iceweasel e forse debian render\`a ufficiale una prossima release.
0 commit comments