Correzioni varie
[gapil.git] / pref.tex
1 \chapter{Prefazione}
2 \label{cha:preface}
3
4 Nelle motivazioni in cui si introduce la GNU Free Documentation License (FDL)
5 (reperibili su http://www.gnu.org/philosophy/free-doc.html) si dà una grande
6 rilevanza all'importanza di disporre di buoni manuali, in quanto la fruibilità
7 e la possilità di usare appieno il software libero, vengono notevolmente
8 ridotte senza la presenza di un valido manuale che sia altrettanto liberamente
9 disponibile.
10
11 E, come per il software libero, è anche in questo caso è di fondamentale
12 importanza la libertà di accedere ai sorgenti (e non solo al risultato
13 finale, sia questo una stampa o un file formattato) e la libertà di
14 modificarli per apportarvi migliorie, aggiornamenti, etc.
15
16 Per questo la Free Software Foundation ha approntato una licenza apposita per
17 la documentazione, che tiene conto delle differenze che restano fra un testo e
18 un programma.
19
20 Esiste però un altro campo, diverso dalla documentazione e dai manuali, in cui
21 avere a disposizione testi liberi, aperti e modificabili è essenziale ed
22 estremamente utile: quello della didattica e dell'educazione.  E benché questo
23 sia citato dalla FDL non è altrettanto comune trovarlo messo in pratica.
24
25 In particolare sarebbe di grande interesse poter disporre di testi didattici
26 in grado di crescere, essere adattati alle diverse esigenze, modificati e
27 ampliati, o anche ridotti per usi specifici, nello stesso modo in cui si fa
28 per il software libero.
29
30 Questo progetto mira alla stesura di un libro il più completo e chiaro
31 possibile sulla programmazione in GNU/Linux (che da qui in avanti spesso
32 chiameremo semplicemente Linux per brevità). Ovviamente essendo i concetti in
33 gran parte gli stessi, esso dovrebbe restare valido anche per la
34 programmazione in ambito Unix generico, pur restando l'intenzione di
35 approfondire in maniera specifica le caratteristiche peculiari di GNU/Linux.
36
37 L'idea è quella di riuscire a ottenere alla fine un testo utilizzabile per
38 apprendere la programmazione sotto GNU/Linux della stessa qualità dei testi
39 del compianto R. W. Stevens (è un progetto molto ambizioso ...).
40
41 Infatti benché le man pages e il manuale delle librerie del C GNU siano una
42 fonte inesauribile di informazioni (da cui si è costantemente attinto nella
43 stesura di tutto il testo) la loro struttura li rende totalmente inadatti ad
44 una trattazione che vada oltre la descrizione delle caratteristiche
45 particolari dell'argomento in esame (in particolare il manuale delle glibc non
46 brilla certo per chiarezza espositiva).
47
48 Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
49 R. Stevens (in particolare \textit{Advanced Programming in the Unix
50   Environment} e \textit{Unix Network Programming}) per rendere la trattazione
51 dei vari argomenti in una sequenza logica il più esplicativa possibile.
52
53 Il progetto prevede il rilascio del testo sotto licenza FDL, ed una modalità
54 di realizzazione aperta che permetta di accogliere i contributi di chiunque
55 sia interessato.
56
57 Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono
58 scritte in C, questo sarà il linguaggio di riferimento del testo. In
59 particolare il compilatore usato per provare tutti i programmi e gli esempi
60 descritti nel testo è lo GNU GCC.
61
62 Infine, dato che lo scopo del progetto è la produzione di un libro, si è
63 scelto di usare Latex come "ambiente di sviluppo" del medesimo, sia per
64 l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
65 strumento, tanto sul piano pratico, quanto su quello filosofico.
66
67 Il testo sarà, almeno inizialmente, in italiano.
68
69
70
71
72
73