Merge branch 'master' of ssh://gapil.gnulinux.it/srv/git/gapil
[gapil.git] / pref.tex
index db5ca4a89a025d497d9efe07d8fd9b6b30b478bf..4659e921032acbbe55cc55a15e8e3084534d65af 100644 (file)
--- a/pref.tex
+++ b/pref.tex
@@ -1,86 +1,64 @@
+%% pref.tex
+%%
+%% Copyright (C) 2000-2019 Simone Piccardi.  Permission is granted to
+%% copy, distribute and/or modify this document under the terms of the GNU Free
+%% Documentation License, Version 1.1 or any later version published by the
+%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
+%% with no Front-Cover Texts, and with no Back-Cover Texts.  A copy of the
+%% license is included in the section entitled "GNU Free Documentation
+%% License".
+%%
+
 \chapter{Prefazione}
 \label{cha:preface}
 
-Nelle motivazioni in cui si introduce la GNU Free Documentation License (FDL)
-(reperibili su \href{http://www.gnu.org/philosophy/free-doc.html}
-{http://www.gnu.org/philosophy/free-doc.html}) si dà una grande rilevanza
-all'importanza di disporre di buoni manuali, in quanto la fruibilità e la
-possibilità di usare appieno il software libero vengono notevolmente ridotte
-senza la presenza di un valido manuale che sia altrettanto liberamente
-disponibile.
-
-E, come per il software libero, anche in questo caso è di fondamentale
-importanza la libertà di accedere ai sorgenti (e non solo al risultato finale,
-sia questo una stampa o un file formattato) e la libertà di modificarli per
-apportarvi migliorie, aggiornamenti, etc.
-
-Per questo la Free Software Foundation ha approntato una licenza apposita per
-la documentazione, che tiene conto delle differenze che restano fra un testo e
-un programma.
-
-Esiste però un altro campo, diverso dalla documentazione e dai manuali, in cui
-avere a disposizione testi liberi, aperti e modificabili è essenziale ed
-estremamente utile: quello della didattica e dell'educazione.  E benché anche
-questo campo sia citato dalla FDL non è altrettanto comune trovarlo messo in
-pratica.
-
-In particolare sarebbe di grande interesse poter disporre di testi didattici
-in grado di crescere, essere adattati alle diverse esigenze, modificati e
-ampliati, o anche ridotti per usi specifici, nello stesso modo in cui si fa
-per il software libero.
-
-Questo progetto mira alla stesura di un libro il più completo e chiaro
-possibile sulla programmazione in un sistema basato su un kernel Linux.
-Essendo i concetti in gran parte gli stessi, il testo dovrebbe restare valido
-anche per la programmazione in ambito Unix generico, ma resta una attenzione
+Questo progetto mira alla stesura di un testo il più completo e chiaro
+possibile sulla programmazione di sistema su un kernel Linux.  Essendo i
+concetti in gran parte gli stessi, il testo dovrebbe restare valido anche per
+la programmazione in ambito di sistemi Unix generici, ma resta una attenzione
 specifica alle caratteristiche peculiari del kernel Linux e delle versioni
-delle librerie del C in uso con esso, ed in particolare per le glibc del
-progetto GNU (che ormai sono usate nella stragrande maggioranza dei casi).
-
-Nonostante l'uso nel titolo del solo ``Linux'', (che si è fatto sia per
-brevità sia perché il libro ha a che fare principalmente con le interfacce del
-kernel e dei principali standard supportati delle librerie del C), voglio
-sottolineare che trovo assolutamente scorretto chiamare in questo modo un
-sistema completo. Il kernel infatti, senza tutte le librerie e le applicazioni
-di base fornite dal progretto GNU, sarebbe sostanzialmente inutile: per questo
-il nome del sistema nella sua interezza non può che essere GNU/Linux.
+delle librerie del C in uso con esso; in particolare si darà ampio spazio alla
+versione realizzata dal progetto GNU, le cosiddette \textit{GNU C Library} o
+\textsl{glibc}, che ormai sono usate nella stragrande maggioranza dei casi,
+senza tralasciare, là dove note, le differenze con altre implementazioni come
+le \textsl{libc5} o le \textsl{uclib}.
 
-L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo
+L'obiettivo finale di questo progetto è quello di riuscire a ottenere un testo
 utilizzabile per apprendere i concetti fondamentali della programmazione di
-sistema della stessa qualità dei libri del compianto R. W.  Stevens (è un
+sistema della stessa qualità dei libri del compianto R. W. Stevens (è un
 progetto molto ambizioso ...).
 
+Infatti benché le pagine di manuale del sistema (quelle che si accedono con il
+comando \cmd{man}) e il manuale delle librerie del C GNU siano una fonte
+inesauribile di informazioni (da cui si è costantemente attinto nella stesura
+di tutto il testo) la loro struttura li rende totalmente inadatti ad una
+trattazione che vada oltre la descrizione delle caratteristiche particolari
+dello specifico argomento in esame (ed in particolare lo \textit{GNU C Library
+  Reference Manual} non brilla per chiarezza espositiva).
 
-Infatti benché le man pages e il manuale delle librerie del C GNU siano una
-fonte inesauribile di informazioni (da cui si è costantemente attinto nella
-stesura di tutto il testo) la loro struttura li rende totalmente inadatti ad
-una trattazione che vada oltre la descrizione delle caratteristiche
-particolari dello specifico argomento in esame (ed in particolare lo
-\textit{GNU C Library Reference Manual} non brilla per chiarezza espositiva).
-
-Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
-R. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
-trattazione dei vari argomenti in una sequenza logica il più esplicativa
-possibile, corredata, quando possibile, da programmi di esempio.
-
-Il progetto prevede il rilascio del testo sotto licenza FDL, ed una modalità
-di realizzazione aperta che permetta di accogliere i contributi di chiunque
-sia interessato. Tutti i programmi di esempio sono invece rilasciati sotto GNU
-GPL.
+Per questo motivo si è cercato di fare tesoro di quanto appreso dai testi di
+R. W. Stevens (in particolare \cite{APUE} e \cite{UNP1}) per rendere la
+trattazione dei vari argomenti in una sequenza logica il più esplicativa
+possibile, corredando il tutto, quando possibile, con programmi di esempio.
 
 Dato che sia il kernel che tutte le librerie fondamentali di GNU/Linux sono
-scritte in C, questo sarà il linguaggio di riferimento del testo. In
+scritte in C, questo sarà il linguaggio di riferimento del testo. In
 particolare il compilatore usato per provare tutti i programmi e gli esempi
-descritti nel testo è lo GNU GCC. Il testo presuppone una conoscenza media del
+descritti nel testo è lo GNU GCC. Il testo presuppone una conoscenza media del
 linguaggio, e di quanto necessario per scrivere, compilare ed eseguire un
 programma.
 
-Infine, dato che lo scopo del progetto è la produzione di un libro, si è
+Infine, dato che lo scopo del progetto è la produzione di un libro, si è
 scelto di usare \LaTeX\ come "ambiente di sviluppo" del medesimo, sia per
-l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
-strumento, tanto sul piano pratico, quanto su quello filosofico.
+l'impareggiabile qualità tipografica ottenibile, che per la congruenza dello
+strumento con il fine, tanto sul piano pratico, quanto su quello filosofico.
 
-Il testo sarà, almeno inizialmente, in italiano.
+Il testo sarà, almeno inizialmente, in italiano. Per il momento lo si è
+suddiviso in due parti, la prima sulla programmazione di sistema, in cui si
+trattano le varie funzionalità disponibili per i programmi che devono essere
+eseguiti su una singola macchina, la seconda sulla programmazione di rete, in
+cui si trattano le funzionalità per eseguire programmi che mettono in
+comunicazione macchine diverse.
 
 
 
@@ -88,3 +66,5 @@ Il testo sar
 %%% mode: latex
 %%% TeX-master: "gapil"
 %%% End: 
+
+% LocalWords:  kernel Library glibc Stevens Reference Manual GCC