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