xref: /openbmc/linux/Documentation/translations/it_IT/process/howto.rst (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
1edba5eecSFederico Vaga.. include:: ../disclaimer-ita.rst
2edba5eecSFederico Vaga
3edba5eecSFederico Vaga:Original: :ref:`Documentation/process/howto.rst <process_howto>`
4edba5eecSFederico Vaga:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it>
5edba5eecSFederico Vaga
6edba5eecSFederico Vaga.. _it_process_howto:
7edba5eecSFederico Vaga
8edba5eecSFederico VagaCome partecipare allo sviluppo del kernel Linux
9edba5eecSFederico Vaga===============================================
10edba5eecSFederico Vaga
11edba5eecSFederico VagaQuesto è il documento fulcro di quanto trattato sull'argomento.
12edba5eecSFederico VagaEsso contiene le istruzioni su come diventare uno sviluppatore
13edba5eecSFederico Vagadel kernel Linux e spiega come lavorare con la comunità di
14edba5eecSFederico Vagasviluppo kernel Linux. Il documento non tratterà alcun aspetto
15edba5eecSFederico Vagatecnico relativo alla programmazione del kernel, ma vi aiuterà
16edba5eecSFederico Vagaindirizzandovi sulla corretta strada.
17edba5eecSFederico Vaga
18edba5eecSFederico VagaSe qualsiasi cosa presente in questo documento diventasse obsoleta,
19edba5eecSFederico Vagavi preghiamo di inviare le correzioni agli amministratori di questo
20edba5eecSFederico Vagafile, indicati in fondo al presente documento.
21edba5eecSFederico Vaga
22edba5eecSFederico VagaIntroduzione
23edba5eecSFederico Vaga------------
24edba5eecSFederico VagaDunque, volete imparare come diventare sviluppatori del kernel Linux?
25edba5eecSFederico VagaO vi è stato detto dal vostro capo, "Vai, scrivi un driver Linux per
26edba5eecSFederico Vagaquesto dispositivo". Bene, l'obbiettivo di questo documento è quello
27edba5eecSFederico Vagadi insegnarvi tutto ciò che dovete sapere per raggiungere il vostro
28edba5eecSFederico Vagascopo descrivendo il procedimento da seguire e consigliandovi
29edba5eecSFederico Vagasu come lavorare con la comunità. Il documento cercherà, inoltre,
30edba5eecSFederico Vagadi spiegare alcune delle ragioni per le quali la comunità lavora in un
31edba5eecSFederico Vagamodo suo particolare.
32edba5eecSFederico Vaga
33edba5eecSFederico VagaIl kernel è scritto prevalentemente nel linguaggio C con alcune parti
34edba5eecSFederico Vagaspecifiche dell'architettura scritte in linguaggio assembly.
35edba5eecSFederico VagaPer lo sviluppo kernel è richiesta una buona conoscenza del linguaggio C.
36edba5eecSFederico VagaL'assembly (di qualsiasi architettura) non è richiesto, a meno che non
37edba5eecSFederico Vagapensiate di fare dello sviluppo di basso livello per un'architettura.
38edba5eecSFederico VagaSebbene essi non siano un buon sostituto ad un solido studio del
39edba5eecSFederico Vagalinguaggio C o ad anni di esperienza, i seguenti libri sono, se non
40edba5eecSFederico Vagaaltro, utili riferimenti:
41edba5eecSFederico Vaga
42edba5eecSFederico Vaga- "The C Programming Language" di Kernighan e Ritchie [Prentice Hall]
43edba5eecSFederico Vaga- "Practical C Programming" di Steve Oualline [O'Reilly]
44edba5eecSFederico Vaga- "C:  A Reference Manual" di Harbison and Steele [Prentice Hall]
45edba5eecSFederico Vaga
46edba5eecSFederico VagaIl kernel è stato scritto usando GNU C e la toolchain GNU.
47*2f3f53d6SAkira YokosawaSebbene si attenga allo standard ISO C11, esso utilizza una serie di
48edba5eecSFederico Vagaestensioni che non sono previste in questo standard. Il kernel è un
49edba5eecSFederico Vagaambiente C indipendente, che non ha alcuna dipendenza dalle librerie
50edba5eecSFederico VagaC standard, così alcune parti del C standard non sono supportate.
51edba5eecSFederico VagaLe divisioni ``long long`` e numeri in virgola mobile non sono permessi.
52edba5eecSFederico VagaQualche volta è difficile comprendere gli assunti che il kernel ha
53edba5eecSFederico Vagariguardo gli strumenti e le estensioni in uso, e sfortunatamente non
54edba5eecSFederico Vagaesiste alcuna indicazione definitiva. Per maggiori informazioni, controllate,
55edba5eecSFederico Vagala pagina `info gcc`.
56edba5eecSFederico Vaga
57edba5eecSFederico VagaTenete a mente che state cercando di apprendere come lavorare con la comunità
58edba5eecSFederico Vagadi sviluppo già esistente. Questo è un gruppo eterogeneo di persone, con alti
59edba5eecSFederico Vagastandard di codifica, di stile e di procedura. Questi standard sono stati
60edba5eecSFederico Vagacreati nel corso del tempo basandosi su quanto hanno riscontrato funzionare al
61edba5eecSFederico Vagameglio per un squadra così grande e geograficamente sparsa. Cercate di
62edba5eecSFederico Vagaimparare, in anticipo, il più possibile circa questi standard, poichè ben
63edba5eecSFederico Vagaspiegati; non aspettatevi che gli altri si adattino al vostro modo di fare
64edba5eecSFederico Vagao a quello della vostra azienda.
65edba5eecSFederico Vaga
66edba5eecSFederico VagaNote legali
67edba5eecSFederico Vaga------------
68edba5eecSFederico VagaIl codice sorgente del kernel Linux è rilasciato sotto GPL. Siete pregati
69edba5eecSFederico Vagadi visionare il file, COPYING, presente nella cartella principale dei
70edba5eecSFederico Vagasorgente, per eventuali dettagli sulla licenza. Se avete ulteriori domande
71edba5eecSFederico Vagasulla licenza, contattate un avvocato, non chiedete sulle liste di discussione
72edba5eecSFederico Vagadel kernel Linux. Le persone presenti in queste liste non sono avvocati,
73edba5eecSFederico Vagae non dovreste basarvi sulle loro dichiarazioni in materia giuridica.
74edba5eecSFederico Vaga
75edba5eecSFederico VagaPer domande più frequenti e risposte sulla licenza GPL, guardare:
76edba5eecSFederico Vaga
77edba5eecSFederico Vaga	https://www.gnu.org/licenses/gpl-faq.html
78edba5eecSFederico Vaga
79edba5eecSFederico VagaDocumentazione
80edba5eecSFederico Vaga--------------
81edba5eecSFederico VagaI sorgenti del kernel Linux hanno una vasta base di documenti che vi
82edba5eecSFederico Vagainsegneranno come interagire con la comunità del kernel. Quando nuove
83edba5eecSFederico Vagafunzionalità vengono aggiunte al kernel, si raccomanda di aggiungere anche i
84edba5eecSFederico Vagarelativi file di documentatione che spiegano come usarele.
85edba5eecSFederico VagaQuando un cambiamento del kernel genera anche un cambiamento nell'interfaccia
86edba5eecSFederico Vagacon lo spazio utente, è raccomandabile che inviate una notifica o una
87edba5eecSFederico Vagacorrezione alle pagine *man* spiegando tale modifica agli amministratori di
88edba5eecSFederico Vagaqueste pagine all'indirizzo mtk.manpages@gmail.com, aggiungendo
89edba5eecSFederico Vagain CC la lista linux-api@vger.kernel.org.
90edba5eecSFederico Vaga
91edba5eecSFederico VagaDi seguito una lista di file che sono presenti nei sorgente del kernel e che
92edba5eecSFederico Vagaè richiesto che voi leggiate:
93edba5eecSFederico Vaga
94edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/admin-guide/README.rst <it_readme>`
95edba5eecSFederico Vaga    Questo file da una piccola anteprima del kernel Linux e descrive il
96edba5eecSFederico Vaga    minimo necessario per configurare e generare il kernel. I novizi
97edba5eecSFederico Vaga    del kernel dovrebbero iniziare da qui.
98edba5eecSFederico Vaga
99edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/changes.rst <it_changes>`
100edba5eecSFederico Vaga
101edba5eecSFederico Vaga    Questo file fornisce una lista dei pacchetti software necessari
102edba5eecSFederico Vaga    a compilare e far funzionare il kernel con successo.
103edba5eecSFederico Vaga
104edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/coding-style.rst <it_codingstyle>`
105edba5eecSFederico Vaga
106edba5eecSFederico Vaga    Questo file descrive lo stile della codifica per il kernel Linux,
107edba5eecSFederico Vaga    e parte delle motivazioni che ne sono alla base. Tutto il nuovo codice deve
108edba5eecSFederico Vaga    seguire le linee guida in questo documento. Molti amministratori
109edba5eecSFederico Vaga    accetteranno patch solo se queste osserveranno tali regole, e molte
110edba5eecSFederico Vaga    persone revisioneranno il codice solo se scritto nello stile appropriato.
111edba5eecSFederico Vaga
11226f200c9SLukas Bulwahn  :ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`
113edba5eecSFederico Vaga
114edba5eecSFederico Vaga    Questo file descrive dettagliatamente come creare ed inviare una patch
115edba5eecSFederico Vaga    con successo, includendo (ma non solo questo):
116edba5eecSFederico Vaga
117edba5eecSFederico Vaga       - Contenuto delle email
118edba5eecSFederico Vaga       - Formato delle email
119edba5eecSFederico Vaga       - I destinatari delle email
120edba5eecSFederico Vaga
121edba5eecSFederico Vaga    Seguire tali regole non garantirà il successo (tutte le patch sono soggette
122edba5eecSFederico Vaga    a controlli realitivi a contenuto e stile), ma non seguirle lo precluderà
123edba5eecSFederico Vaga    sempre.
124edba5eecSFederico Vaga
125edba5eecSFederico Vaga    Altre ottime descrizioni di come creare buone patch sono:
126edba5eecSFederico Vaga
127edba5eecSFederico Vaga	"The Perfect Patch"
128edba5eecSFederico Vaga		https://www.ozlabs.org/~akpm/stuff/tpp.txt
129edba5eecSFederico Vaga
130edba5eecSFederico Vaga	"Linux kernel patch submission format"
1315aff7c46SJacob Huisman		https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html
132edba5eecSFederico Vaga
133165915c1SFederico Vaga  :ref:`Documentation/translations/it_IT/process/stable-api-nonsense.rst <it_stable_api_nonsense>`
134edba5eecSFederico Vaga
135edba5eecSFederico Vaga    Questo file descrive la motivazioni sottostanti la conscia decisione di
136edba5eecSFederico Vaga    non avere un API stabile all'interno del kernel, incluso cose come:
137edba5eecSFederico Vaga
138edba5eecSFederico Vaga      - Sottosistemi shim-layers (per compatibilità?)
139edba5eecSFederico Vaga      - Portabilità fra Sistemi Operativi dei driver.
140edba5eecSFederico Vaga      - Attenuare i rapidi cambiamenti all'interno dei sorgenti del kernel
141edba5eecSFederico Vaga        (o prevenirli)
142edba5eecSFederico Vaga
143edba5eecSFederico Vaga    Questo documento è vitale per la comprensione della filosifia alla base
144edba5eecSFederico Vaga    dello sviluppo di Linux ed è molto importante per le persone che arrivano
145edba5eecSFederico Vaga    da esperienze con altri Sistemi Operativi.
146edba5eecSFederico Vaga
147edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`
148edba5eecSFederico Vaga    Se ritenete di aver trovato un problema di sicurezza nel kernel Linux,
149edba5eecSFederico Vaga    seguite i passaggi scritti in questo documento per notificarlo agli
150edba5eecSFederico Vaga    sviluppatori del kernel, ed aiutare la risoluzione del problema.
151edba5eecSFederico Vaga
152edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/management-style.rst <it_managementstyle>`
153edba5eecSFederico Vaga    Questo documento descrive come i manutentori del kernel Linux operano
154edba5eecSFederico Vaga    e la filosofia comune alla base del loro metodo.  Questa è un'importante
155edba5eecSFederico Vaga    lettura per tutti coloro che sono nuovi allo sviluppo del kernel (o per
156edba5eecSFederico Vaga    chi è semplicemente curioso), poiché risolve molti dei più comuni
157edba5eecSFederico Vaga    fraintendimenti e confusioni dovuti al particolare comportamento dei
158edba5eecSFederico Vaga    manutentori del kernel.
159edba5eecSFederico Vaga
160edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/stable-kernel-rules.rst <it_stable_kernel_rules>`
161edba5eecSFederico Vaga    Questo file descrive le regole sulle quali vengono basati i rilasci del
162edba5eecSFederico Vaga    kernel, e spiega cosa fare se si vuole che una modifica venga inserita
163edba5eecSFederico Vaga    in uno di questi rilasci.
164edba5eecSFederico Vaga
165edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/kernel-docs.rst <it_kernel_docs>`
166edba5eecSFederico Vaga    Una lista di documenti pertinenti allo sviluppo del kernel.
167edba5eecSFederico Vaga    Per favore consultate questa lista se non trovate ciò che cercate nella
168edba5eecSFederico Vaga    documentazione interna del kernel.
169edba5eecSFederico Vaga
170edba5eecSFederico Vaga  :ref:`Documentation/translations/it_IT/process/applying-patches.rst <it_applying_patches>`
171edba5eecSFederico Vaga    Una buona introduzione che descrivere esattamente cos'è una patch e come
172edba5eecSFederico Vaga    applicarla ai differenti rami di sviluppo del kernel.
173edba5eecSFederico Vaga
174edba5eecSFederico VagaIl kernel inoltre ha un vasto numero di documenti che possono essere
175edba5eecSFederico Vagaautomaticamente generati dal codice sorgente stesso o da file
176edba5eecSFederico VagaReStructuredText (ReST), come questo. Esso include una completa
177edba5eecSFederico Vagadescrizione dell'API interna del kernel, e le regole su come gestire la
178edba5eecSFederico Vagasincronizzazione (locking) correttamente
179edba5eecSFederico Vaga
180edba5eecSFederico VagaTutte queste tipologie di documenti possono essere generati in PDF o in
181edba5eecSFederico VagaHTML utilizzando::
182edba5eecSFederico Vaga
183edba5eecSFederico Vaga	make pdfdocs
184edba5eecSFederico Vaga	make htmldocs
185edba5eecSFederico Vaga
186edba5eecSFederico Vagarispettivamente dalla cartella principale dei sorgenti del kernel.
187edba5eecSFederico Vaga
188edba5eecSFederico VagaI documenti che impiegano ReST saranno generati nella cartella
189edba5eecSFederico VagaDocumentation/output.
190edba5eecSFederico VagaQuesti posso essere generati anche in formato LaTex e ePub con::
191edba5eecSFederico Vaga
192edba5eecSFederico Vaga	make latexdocs
193edba5eecSFederico Vaga	make epubdocs
194edba5eecSFederico Vaga
195edba5eecSFederico VagaDiventare uno sviluppatore del kernel
196edba5eecSFederico Vaga-------------------------------------
197edba5eecSFederico VagaSe non sapete nulla sullo sviluppo del kernel Linux, dovreste dare uno
198edba5eecSFederico Vagasguardo al progetto *Linux KernelNewbies*:
199edba5eecSFederico Vaga
200edba5eecSFederico Vaga	https://kernelnewbies.org
201edba5eecSFederico Vaga
202edba5eecSFederico VagaEsso prevede un'utile lista di discussione dove potete porre più o meno ogni
203edba5eecSFederico Vagatipo di quesito relativo ai concetti fondamentali sullo sviluppo del kernel
204edba5eecSFederico Vaga(assicuratevi di cercare negli archivi, prima di chiedere qualcosa alla
205edba5eecSFederico Vagaquale è già stata fornita risposta in passato). Esistono inoltre, un canale IRC
206edba5eecSFederico Vagache potete usare per formulare domande in tempo reale, e molti documenti utili
207edba5eecSFederico Vagache vi faciliteranno nell'apprendimento dello sviluppo del kernel Linux.
208edba5eecSFederico Vaga
209edba5eecSFederico VagaIl sito internet contiene informazioni di base circa l'organizzazione del
210edba5eecSFederico Vagacodice, sottosistemi e progetti attuali (sia interni che esterni a Linux).
211edba5eecSFederico VagaEsso descrive, inoltre, informazioni logistiche di base, riguardanti ad esempio
212edba5eecSFederico Vagala compilazione del kernel e l'applicazione di una modifica.
213edba5eecSFederico Vaga
214edba5eecSFederico VagaSe non sapete dove cominciare, ma volete cercare delle attività dalle quali
215edba5eecSFederico Vagapartire per partecipare alla comunità di sviluppo, andate al progetto Linux
216edba5eecSFederico VagaKernel Janitor's.
217edba5eecSFederico Vaga
218edba5eecSFederico Vaga	https://kernelnewbies.org/KernelJanitors
219edba5eecSFederico Vaga
220edba5eecSFederico VagaÈ un buon posto da cui iniziare. Esso presenta una lista di problematiche
221edba5eecSFederico Vagarelativamente semplici da sistemare e pulire all'interno della sorgente del
222edba5eecSFederico Vagakernel Linux. Lavorando con gli sviluppatori incaricati di questo progetto,
223edba5eecSFederico Vagaimparerete le basi per l'inserimento delle vostre modifiche all'interno dei
224edba5eecSFederico Vagasorgenti del kernel Linux, e possibilmente, sarete indirizzati al lavoro
225edba5eecSFederico Vagasuccessivo da svolgere, se non ne avrete ancora idea.
226edba5eecSFederico Vaga
227edba5eecSFederico VagaPrima di apportare una qualsiasi modifica al codice del kernel Linux,
228edba5eecSFederico Vagaè imperativo comprendere come tale codice funziona. A questo scopo, non c'è
229edba5eecSFederico Vaganulla di meglio che leggerlo direttamente (la maggior parte dei bit più
230edba5eecSFederico Vagacomplessi sono ben commentati), eventualmente anche con l'aiuto di strumenti
231edba5eecSFederico Vagaspecializzati. Uno degli strumenti che è particolarmente raccomandato è
232edba5eecSFederico Vagail progetto Linux Cross-Reference, che è in grado di presentare codice
233edba5eecSFederico Vagasorgente in un formato autoreferenziale ed indicizzato. Un eccellente ed
234edba5eecSFederico Vagaaggiornata fonte di consultazione del codice del kernel la potete trovare qui:
235edba5eecSFederico Vaga
23619c1d46dSJonathan Neuschäfer	https://elixir.bootlin.com/
237edba5eecSFederico Vaga
238edba5eecSFederico Vaga
239edba5eecSFederico VagaIl processo di sviluppo
240edba5eecSFederico Vaga-----------------------
241edba5eecSFederico VagaIl processo di sviluppo del kernel Linux si compone di pochi "rami" principali
242edba5eecSFederico Vagae di molti altri rami per specifici sottosistemi. Questi rami sono:
243edba5eecSFederico Vaga
244edba5eecSFederico Vaga  - I sorgenti kernel 4.x
245edba5eecSFederico Vaga  - I sorgenti stabili del kernel 4.x.y -stable
246edba5eecSFederico Vaga  - Sorgenti dei sottosistemi del kernel e le loro modifiche
247edba5eecSFederico Vaga  - Il kernel 4.x -next per test d'integrazione
248edba5eecSFederico Vaga
249edba5eecSFederico VagaI sorgenti kernel 4.x
250edba5eecSFederico Vaga~~~~~~~~~~~~~~~~~~~~~
251edba5eecSFederico Vaga
252edba5eecSFederico VagaI kernel 4.x sono amministrati da Linus Torvald, e possono essere trovati
253edba5eecSFederico Vagasu https://kernel.org nella cartella pub/linux/kernel/v4.x/. Il processo
254edba5eecSFederico Vagadi sviluppo è il seguente:
255edba5eecSFederico Vaga
256edba5eecSFederico Vaga  - Non appena un nuovo kernel viene rilasciato si apre una finestra di due
257edba5eecSFederico Vaga    settimane. Durante questo periodo i manutentori possono proporre a Linus
258edba5eecSFederico Vaga    dei grossi cambiamenti; solitamente i cambiamenti che sono già stati
259edba5eecSFederico Vaga    inseriti nel ramo -next del kernel per alcune settimane. Il modo migliore
260edba5eecSFederico Vaga    per sottoporre dei cambiamenti è attraverso git (lo strumento usato per
261edba5eecSFederico Vaga    gestire i sorgenti del kernel, più informazioni sul sito
262edba5eecSFederico Vaga    https://git-scm.com/) ma anche delle patch vanno bene.
263edba5eecSFederico Vaga
264edba5eecSFederico Vaga  - Al termine delle due settimane un kernel -rc1 viene rilasciato e
265edba5eecSFederico Vaga    l'obbiettivo ora è quello di renderlo il più solido possibile. A questo
266edba5eecSFederico Vaga    punto la maggior parte delle patch dovrebbero correggere un'eventuale
267edba5eecSFederico Vaga    regressione. I bachi che sono sempre esistiti non sono considerabili come
268edba5eecSFederico Vaga    regressioni, quindi inviate questo tipo di cambiamenti solo se sono
269edba5eecSFederico Vaga    importanti. Notate che un intero driver (o filesystem) potrebbe essere
270edba5eecSFederico Vaga    accettato dopo la -rc1 poiché non esistono rischi di una possibile
271edba5eecSFederico Vaga    regressione con tale cambiamento, fintanto che quest'ultimo è
272edba5eecSFederico Vaga    auto-contenuto e non influisce su aree esterne al codice che è stato
273edba5eecSFederico Vaga    aggiunto. git può essere utilizzato per inviare le patch a Linus dopo che
274edba5eecSFederico Vaga    la -rc1 è stata rilasciata, ma è anche necessario inviare le patch ad
275edba5eecSFederico Vaga    una lista di discussione pubblica per un'ulteriore revisione.
276edba5eecSFederico Vaga
277edba5eecSFederico Vaga  - Una nuova -rc viene rilasciata ogni volta che Linus reputa che gli attuali
278edba5eecSFederico Vaga    sorgenti siano in uno stato di salute ragionevolmente adeguato ai test.
279edba5eecSFederico Vaga    L'obiettivo è quello di rilasciare una nuova -rc ogni settimana.
280edba5eecSFederico Vaga
281edba5eecSFederico Vaga  - Il processo continua fino a che il kernel è considerato "pronto"; tale
282edba5eecSFederico Vaga    processo dovrebbe durare circa in 6 settimane.
283edba5eecSFederico Vaga
284edba5eecSFederico VagaÈ utile menzionare quanto scritto da Andrew Morton sulla lista di discussione
285edba5eecSFederico Vagakernel-linux in merito ai rilasci del kernel:
286edba5eecSFederico Vaga
287edba5eecSFederico Vaga	*"Nessuno sa quando un kernel verrà rilasciato, poichè questo è
288edba5eecSFederico Vaga	legato allo stato dei bachi e non ad una cronologia preventiva."*
289edba5eecSFederico Vaga
290edba5eecSFederico VagaI sorgenti stabili del kernel 4.x.y -stable
291edba5eecSFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
292edba5eecSFederico Vaga
293edba5eecSFederico VagaI kernel con versioni in 3-parti sono "kernel stabili". Essi contengono
294edba5eecSFederico Vagacorrezioni critiche relativamente piccole nell'ambito della sicurezza
295edba5eecSFederico Vagaoppure significative regressioni scoperte in un dato 4.x kernel.
296edba5eecSFederico Vaga
297edba5eecSFederico VagaQuesto è il ramo raccomandato per gli utenti che vogliono un kernel recente
298edba5eecSFederico Vagae stabile e non sono interessati a dare il proprio contributo alla verifica
299edba5eecSFederico Vagadelle versioni di sviluppo o sperimentali.
300edba5eecSFederico Vaga
301edba5eecSFederico VagaSe non è disponibile alcun kernel 4.x.y., quello più aggiornato e stabile
302edba5eecSFederico Vagasarà il kernel 4.x con la numerazione più alta.
303edba5eecSFederico Vaga
304edba5eecSFederico Vaga4.x.y sono amministrati dal gruppo "stable" <stable@vger.kernel.org>, e sono
305edba5eecSFederico Vagarilasciati a seconda delle esigenze. Il normale periodo di rilascio è
306edba5eecSFederico Vagaapprossimativamente di due settimane, ma può essere più lungo se non si
307edba5eecSFederico Vagaverificano problematiche urgenti. Un problema relativo alla sicurezza, invece,
308edba5eecSFederico Vagapuò determinare un rilascio immediato.
309edba5eecSFederico Vaga
310edba5eecSFederico VagaIl file Documentation/process/stable-kernel-rules.rst (nei sorgenti) documenta
311edba5eecSFederico Vagaquali tipologie di modifiche sono accettate per i sorgenti -stable, e come
312edba5eecSFederico Vagaavviene il processo di rilascio.
313edba5eecSFederico Vaga
314edba5eecSFederico Vaga
315edba5eecSFederico VagaSorgenti dei sottosistemi del kernel e le loro patch
316edba5eecSFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
317edba5eecSFederico Vaga
318edba5eecSFederico VagaI manutentori dei diversi sottosistemi del kernel --- ed anche molti
319edba5eecSFederico Vagasviluppatori di sottosistemi --- mostrano il loro attuale stato di sviluppo
320edba5eecSFederico Vaganei loro repositori. In questo modo, altri possono vedere cosa succede nelle
321edba5eecSFederico Vagadiverse parti del kernel. In aree dove lo sviluppo è rapido, potrebbe essere
322edba5eecSFederico Vagachiesto ad uno sviluppatore di basare le proprie modifiche su questi repositori
323edba5eecSFederico Vagain modo da evitare i conflitti fra le sottomissioni ed altri lavori in corso
324edba5eecSFederico Vaga
325edba5eecSFederico VagaLa maggior parte di questi repositori sono git, ma esistono anche altri SCM
326edba5eecSFederico Vagain uso, o file di patch pubblicate come una serie quilt.
327edba5eecSFederico VagaGli indirizzi dei repositori di sottosistema sono indicati nel file
328edba5eecSFederico VagaMAINTAINERS.  Molti di questi posso essere trovati su  https://git.kernel.org/.
329edba5eecSFederico Vaga
330edba5eecSFederico VagaPrima che una modifica venga inclusa in questi sottosistemi, sarà soggetta ad
331edba5eecSFederico Vagauna revisione che inizialmente avviene tramite liste di discussione (vedere la
332edba5eecSFederico Vagasezione dedicata qui sotto). Per molti sottosistemi del kernel, tale processo
333edba5eecSFederico Vagadi revisione è monitorato con lo strumento patchwork.
334edba5eecSFederico VagaPatchwork offre un'interfaccia web che mostra le patch pubblicate, inclusi i
335edba5eecSFederico Vagacommenti o le revisioni fatte, e gli amministratori possono indicare le patch
336edba5eecSFederico Vagacome "in revisione", "accettate", o "rifiutate". Diversi siti Patchwork sono
337edba5eecSFederico Vagaelencati al sito https://patchwork.kernel.org/.
338edba5eecSFederico Vaga
339edba5eecSFederico VagaIl kernel 4.x -next per test d'integrazione
340edba5eecSFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
341edba5eecSFederico Vaga
342edba5eecSFederico VagaPrima che gli aggiornamenti dei sottosistemi siano accorpati nel ramo
343edba5eecSFederico Vagaprincipale 4.x, sarà necessario un test d'integrazione.
344edba5eecSFederico VagaA tale scopo, esiste un repositorio speciale di test nel quale virtualmente
345edba5eecSFederico Vagatutti i rami dei sottosistemi vengono inclusi su base quotidiana:
346edba5eecSFederico Vaga
347edba5eecSFederico Vaga	https://git.kernel.org/?p=linux/kernel/git/next/linux-next.git
348edba5eecSFederico Vaga
349edba5eecSFederico VagaIn questo modo, i kernel -next offrono uno sguardo riassuntivo su quello che
350edba5eecSFederico Vagaci si aspetterà essere nel kernel principale nel successivo periodo
351edba5eecSFederico Vagad'incorporazione.
352edba5eecSFederico VagaColoro che vorranno fare dei test d'esecuzione del kernel -next sono più che
353edba5eecSFederico Vagabenvenuti.
354edba5eecSFederico Vaga
355edba5eecSFederico Vaga
356edba5eecSFederico VagaRiportare Bug
357edba5eecSFederico Vaga-------------
358edba5eecSFederico Vaga
359511aaf2bSFederico VagaIl file 'Documentation/admin-guide/reporting-issues.rst' nella
360511aaf2bSFederico Vagacartella principale del kernel spiega come segnalare un baco nel
361511aaf2bSFederico Vagakernel, e fornisce dettagli su quali informazioni sono necessarie agli
362511aaf2bSFederico Vagasviluppatori del kernel per poter studiare il problema.
363edba5eecSFederico Vaga
364edba5eecSFederico VagaGestire i rapporti sui bug
365edba5eecSFederico Vaga--------------------------
366edba5eecSFederico Vaga
367edba5eecSFederico VagaUno dei modi migliori per mettere in pratica le vostre capacità di hacking è
368edba5eecSFederico Vagaquello di riparare bachi riportati da altre persone. Non solo aiuterete a far
369edba5eecSFederico Vagadiventare il kernel più stabile, ma imparerete a riparare problemi veri dal
370edba5eecSFederico Vagamondo ed accrescerete le vostre competenze, e gli altri sviluppatori saranno
371edba5eecSFederico Vagaal corrente della vostra presenza. Riparare bachi è una delle migliori vie per
372edba5eecSFederico Vagaacquisire meriti tra gli altri sviluppatori, perchè non a molte persone piace
373edba5eecSFederico Vagaperdere tempo a sistemare i bachi di altri.
374edba5eecSFederico Vaga
375511aaf2bSFederico VagaPer lavorare sui bachi già segnalati, per prima cosa cercate il
376511aaf2bSFederico Vagasottosistema che vi interessa. Poi, verificate nel file MAINTAINERS
377511aaf2bSFederico Vagadove vengono collezionati solitamente i bachi per quel sottosistema;
378511aaf2bSFederico Vagaspesso sarà una lista di discussione, raramente un bugtracker. Cercate
379511aaf2bSFederico Vagabachi nell'archivio e aiutate dove credete di poterlo fare. Potete
380511aaf2bSFederico Vagaanche consultare https://bugzilla.kernel.org; però, solo una manciata di
381511aaf2bSFederico Vagasottosistemi lo usano attivamente, ciò nonostante i bachi che
382511aaf2bSFederico Vagacoinvolgono l'intero kernel sono sempre riportati lì.
383edba5eecSFederico Vaga
384edba5eecSFederico VagaListe di discussione
385edba5eecSFederico Vaga--------------------
386edba5eecSFederico Vaga
387edba5eecSFederico VagaCome descritto in molti dei documenti qui sopra, la maggior parte degli
388edba5eecSFederico Vagasviluppatori del kernel partecipano alla lista di discussione Linux Kernel.
389edba5eecSFederico VagaI dettagli su come iscriversi e disiscriversi dalla lista possono essere
390edba5eecSFederico Vagatrovati al sito:
391edba5eecSFederico Vaga
392edba5eecSFederico Vaga	http://vger.kernel.org/vger-lists.html#linux-kernel
393edba5eecSFederico Vaga
394edba5eecSFederico VagaCi sono diversi archivi della lista di discussione. Usate un qualsiasi motore
395edba5eecSFederico Vagadi ricerca per trovarli. Per esempio:
396edba5eecSFederico Vaga
3977cc39531SAkira Yokosawa	https://lore.kernel.org/lkml/
398edba5eecSFederico Vaga
399edba5eecSFederico VagaÉ caldamente consigliata una ricerca in questi archivi sul tema che volete
400edba5eecSFederico Vagasollevare, prima di pubblicarlo sulla lista. Molte cose sono già state
401edba5eecSFederico Vagadiscusse in dettaglio e registrate negli archivi della lista di discussione.
402edba5eecSFederico Vaga
403edba5eecSFederico VagaMolti dei sottosistemi del kernel hanno anche una loro lista di discussione
404edba5eecSFederico Vagadedicata.  Guardate nel file MAINTAINERS per avere una lista delle liste di
405edba5eecSFederico Vagadiscussione e il loro uso.
406edba5eecSFederico Vaga
407edba5eecSFederico VagaMolte di queste liste sono gestite su kernel.org. Per informazioni consultate
408edba5eecSFederico Vagala seguente pagina:
409edba5eecSFederico Vaga
410edba5eecSFederico Vaga	http://vger.kernel.org/vger-lists.html
411edba5eecSFederico Vaga
412edba5eecSFederico VagaPer favore ricordatevi della buona educazione quando utilizzate queste liste.
413edba5eecSFederico VagaSebbene sia un pò dozzinale, il seguente URL contiene alcune semplici linee
414edba5eecSFederico Vagaguida per interagire con la lista (o con qualsiasi altra lista):
415edba5eecSFederico Vaga
416edba5eecSFederico Vaga	http://www.albion.com/netiquette/
417edba5eecSFederico Vaga
418edba5eecSFederico VagaSe diverse persone rispondo alla vostra mail, la lista dei riceventi (copia
419edba5eecSFederico Vagaconoscenza) potrebbe diventare abbastanza lunga. Non cancellate nessuno dalla
420edba5eecSFederico Vagalista di CC: senza un buon motivo, e non rispondete solo all'indirizzo
421edba5eecSFederico Vagadella lista di discussione. Fateci l'abitudine perché capita spesso di
422edba5eecSFederico Vagaricevere la stessa email due volte: una dal mittente ed una dalla lista; e non
423edba5eecSFederico Vagacercate di modificarla aggiungendo intestazioni stravaganti, agli altri non
424edba5eecSFederico Vagapiacerà.
425edba5eecSFederico Vaga
426edba5eecSFederico VagaRicordate di rimanere sempre in argomento e di mantenere le attribuzioni
427edba5eecSFederico Vagadelle vostre risposte invariate; mantenete il "John Kernelhacker wrote ...:"
428edba5eecSFederico Vagain cima alla vostra replica e aggiungete le vostre risposte fra i singoli
429edba5eecSFederico Vagablocchi citati, non scrivete all'inizio dell'email.
430edba5eecSFederico Vaga
431edba5eecSFederico VagaSe aggiungete patch alla vostra mail, assicuratevi che siano del tutto
432edba5eecSFederico Vagaleggibili come indicato in Documentation/process/submitting-patches.rst.
433edba5eecSFederico VagaGli sviluppatori kernel non vogliono avere a che fare con allegati o patch
434edba5eecSFederico Vagacompresse; vogliono invece poter commentare le righe dei vostri cambiamenti,
435edba5eecSFederico Vagail che può funzionare solo in questo modo.
436edba5eecSFederico VagaAssicuratevi di utilizzare un gestore di mail che non alterì gli spazi ed i
437edba5eecSFederico Vagacaratteri. Un ottimo primo test è quello di inviare a voi stessi una mail e
438edba5eecSFederico Vagacercare di sottoporre la vostra stessa patch. Se non funziona, sistemate il
439edba5eecSFederico Vagavostro programma di posta, o cambiatelo, finché non funziona.
440edba5eecSFederico Vaga
441edba5eecSFederico VagaEd infine, per favore ricordatevi di mostrare rispetto per gli altri
442edba5eecSFederico Vagasottoscriventi.
443edba5eecSFederico Vaga
444edba5eecSFederico VagaLavorare con la comunità
445edba5eecSFederico Vaga------------------------
446edba5eecSFederico Vaga
447edba5eecSFederico VagaL'obiettivo di questa comunità è quello di fornire il miglior kernel possibile.
448edba5eecSFederico VagaQuando inviate una modifica che volete integrare, sarà valutata esclusivamente
449edba5eecSFederico Vagadal punto di vista tecnico. Quindi, cosa dovreste aspettarvi?
450edba5eecSFederico Vaga
451edba5eecSFederico Vaga  - critiche
452edba5eecSFederico Vaga  - commenti
453edba5eecSFederico Vaga  - richieste di cambiamento
454edba5eecSFederico Vaga  - richieste di spiegazioni
455edba5eecSFederico Vaga  - nulla
456edba5eecSFederico Vaga
457edba5eecSFederico VagaRicordatevi che questo fa parte dell'integrazione della vostra modifica
458edba5eecSFederico Vagaall'interno del kernel.  Dovete essere in grado di accettare le critiche,
459edba5eecSFederico Vagavalutarle a livello tecnico ed eventualmente rielaborare nuovamente le vostre
460edba5eecSFederico Vagamodifiche o fornire delle chiare e concise motivazioni per le quali le
461edba5eecSFederico Vagamodifiche suggerite non dovrebbero essere fatte.
462edba5eecSFederico VagaSe non riceverete risposte, aspettate qualche giorno e riprovate ancora,
463edba5eecSFederico Vagaqualche volta le cose si perdono nell'enorme mucchio di email.
464edba5eecSFederico Vaga
465edba5eecSFederico VagaCosa non dovreste fare?
466edba5eecSFederico Vaga
467edba5eecSFederico Vaga  - aspettarvi che la vostra modifica venga accettata senza problemi
468edba5eecSFederico Vaga  - mettervi sulla difensiva
469edba5eecSFederico Vaga  - ignorare i commenti
470edba5eecSFederico Vaga  - sottomettere nuovamente la modifica senza fare nessuno dei cambiamenti
471edba5eecSFederico Vaga    richiesti
472edba5eecSFederico Vaga
473edba5eecSFederico VagaIn una comunità che è alla ricerca delle migliori soluzioni tecniche possibili,
474edba5eecSFederico Vagaci saranno sempre opinioni differenti sull'utilità di una modifica.
475edba5eecSFederico VagaSiate cooperativi e vogliate adattare la vostra idea in modo che sia inserita
476edba5eecSFederico Vaganel kernel.  O almeno vogliate dimostrare che la vostra idea vale.
477edba5eecSFederico VagaRicordatevi, sbagliare è accettato fintanto che siate disposti a lavorare verso
478edba5eecSFederico Vagauna soluzione che è corretta.
479edba5eecSFederico Vaga
480edba5eecSFederico VagaÈ normale che le risposte alla vostra prima modifica possa essere
481edba5eecSFederico Vagasemplicemente una lista con dozzine di cose che dovreste correggere.
482edba5eecSFederico VagaQuesto **non** implica che la vostra patch non sarà accettata, e questo
483edba5eecSFederico Vaga**non** è contro di voi personalmente.
484edba5eecSFederico VagaSemplicemente correggete tutte le questioni sollevate contro la vostra modifica
485edba5eecSFederico Vagaed inviatela nuovamente.
486edba5eecSFederico Vaga
487edba5eecSFederico VagaDifferenze tra la comunità del kernel e le strutture aziendali
488edba5eecSFederico Vaga--------------------------------------------------------------
489edba5eecSFederico Vaga
490edba5eecSFederico VagaLa comunità del kernel funziona diversamente rispetto a molti ambienti di
491edba5eecSFederico Vagasviluppo aziendali.  Qui di seguito una lista di cose che potete provare a
492edba5eecSFederico Vagafare per evitare problemi:
493edba5eecSFederico Vaga
494edba5eecSFederico Vaga  Cose da dire riguardanti le modifiche da voi proposte:
495edba5eecSFederico Vaga
496edba5eecSFederico Vaga  - "Questo risolve più problematiche."
497edba5eecSFederico Vaga  - "Questo elimina 2000 stringhe di codice."
498edba5eecSFederico Vaga  - "Qui una modifica che spiega cosa sto cercando di fare."
499edba5eecSFederico Vaga  - "L'ho testato su 5 diverse architetture.."
500edba5eecSFederico Vaga  - "Qui una serie di piccole modifiche che.."
501edba5eecSFederico Vaga  - "Questo aumenta le prestazioni di macchine standard..."
502edba5eecSFederico Vaga
503edba5eecSFederico Vaga Cose che dovreste evitare di dire:
504edba5eecSFederico Vaga
505edba5eecSFederico Vaga    - "Lo abbiamo fatto in questo modo in AIX/ptx/Solaris, di conseguenza
506edba5eecSFederico Vaga       deve per forza essere giusto..."
507edba5eecSFederico Vaga    - "Ho fatto questo per 20 anni, quindi.."
508edba5eecSFederico Vaga    - "Questo è richiesto dalla mia Azienda per far soldi"
509edba5eecSFederico Vaga    - "Questo è per la linea di prodotti della nostra Azienda"
510edba5eecSFederico Vaga    - "Ecco il mio documento di design di 1000 pagine che descrive ciò che ho
511edba5eecSFederico Vaga       in mente"
512edba5eecSFederico Vaga    - "Ci ho lavorato per 6 mesi..."
513edba5eecSFederico Vaga    - "Ecco una patch da 5000 righe che.."
514edba5eecSFederico Vaga    - "Ho riscritto il pasticcio attuale, ed ecco qua.."
515edba5eecSFederico Vaga    - "Ho una scadenza, e questa modifica ha bisogno di essere approvata ora"
516edba5eecSFederico Vaga
517edba5eecSFederico VagaUn'altra cosa nella quale la comunità del kernel si differenzia dai più
518edba5eecSFederico Vagaclassici ambienti di ingegneria del software è la natura "senza volto" delle
519edba5eecSFederico Vagainterazioni umane. Uno dei benefici dell'uso delle email e di irc come forma
520edba5eecSFederico Vagaprimordiale di comunicazione è l'assenza di discriminazione basata su genere e
521edba5eecSFederico Vagarazza. L'ambienti di lavoro Linux accetta donne e minoranze perchè tutto quello
522edba5eecSFederico Vagache sei è un indirizzo email.  Aiuta anche l'aspetto internazionale nel
523edba5eecSFederico Vagalivellare il terreno di gioco perchè non è possibile indovinare il genere
524edba5eecSFederico Vagabasandosi sul nome di una persona. Un uomo può chiamarsi Andrea ed una donna
525edba5eecSFederico Vagapotrebbe chiamarsi Pat. Gran parte delle donne che hanno lavorato al kernel
526edba5eecSFederico VagaLinux e che hanno espresso una personale opinione hanno avuto esperienze
527edba5eecSFederico Vagapositive.
528edba5eecSFederico Vaga
529edba5eecSFederico VagaLa lingua potrebbe essere un ostacolo per quelle persone che non si trovano
530edba5eecSFederico Vagaa loro agio con l'inglese.  Una buona padronanza del linguaggio può essere
531edba5eecSFederico Vaganecessaria per esporre le proprie idee in maniera appropiata all'interno
532edba5eecSFederico Vagadelle liste di discussione, quindi è consigliabile che rileggiate le vostre
533edba5eecSFederico Vagaemail prima di inviarle in modo da essere certi che abbiano senso in inglese.
534edba5eecSFederico Vaga
535edba5eecSFederico Vaga
536edba5eecSFederico VagaSpezzare le vostre modifiche
537edba5eecSFederico Vaga----------------------------
538edba5eecSFederico Vaga
539edba5eecSFederico VagaLa comunità del kernel Linux non accetta con piacere grossi pezzi di codice
540edba5eecSFederico Vagabuttati lì tutti in una volta. Le modifiche necessitano di essere
541edba5eecSFederico Vagaadeguatamente presentate, discusse, e suddivise in parti più piccole ed
542edba5eecSFederico Vagaindipendenti.  Questo è praticamente l'esatto opposto di quello che le
543edba5eecSFederico Vagaaziende fanno solitamente.  La vostra proposta dovrebbe, inoltre, essere
544edba5eecSFederico Vagapresentata prestissimo nel processo di sviluppo, così che possiate ricevere
545edba5eecSFederico Vagaun riscontro su quello che state facendo. Lasciate che la comunità
546edba5eecSFederico Vagasenta che state lavorando con loro, e che non li stiate sfruttando come
547edba5eecSFederico Vagadiscarica per le vostre aggiunte.  In ogni caso, non inviate 50 email nello
548edba5eecSFederico Vagastesso momento in una lista di discussione, il più delle volte la vostra serie
549edba5eecSFederico Vagadi modifiche dovrebbe essere più piccola.
550edba5eecSFederico Vaga
551edba5eecSFederico VagaI motivi per i quali dovreste frammentare le cose sono i seguenti:
552edba5eecSFederico Vaga
553edba5eecSFederico Vaga1) Piccole modifiche aumentano le probabilità che vengano accettate,
554edba5eecSFederico Vaga   altrimenti richiederebbe troppo tempo o sforzo nel verificarne
555edba5eecSFederico Vaga   la correttezza.  Una modifica di 5 righe può essere accettata da un
556edba5eecSFederico Vaga   manutentore con a mala pena una seconda occhiata. Invece, una modifica da
557edba5eecSFederico Vaga   500 linee può richiedere ore di rilettura per verificarne la correttezza
558edba5eecSFederico Vaga   (il tempo necessario è esponenzialmente proporzionale alla dimensione della
559edba5eecSFederico Vaga   modifica, o giù di lì)
560edba5eecSFederico Vaga
561edba5eecSFederico Vaga   Piccole modifiche sono inoltre molto facili da debuggare quando qualcosa
562edba5eecSFederico Vaga   non va. È molto più facile annullare le modifiche una per una che
563edba5eecSFederico Vaga   dissezionare una patch molto grande dopo la sua sottomissione (e rompere
564edba5eecSFederico Vaga   qualcosa).
565edba5eecSFederico Vaga
566edba5eecSFederico Vaga2) È importante non solo inviare piccole modifiche, ma anche riscriverle e
567edba5eecSFederico Vaga   semplificarle (o più semplicemente ordinarle) prima di sottoporle.
568edba5eecSFederico Vaga
569edba5eecSFederico VagaQui un'analogia dello sviluppatore kernel Al Viro:
570edba5eecSFederico Vaga
571edba5eecSFederico Vaga	*"Pensate ad un insegnante di matematica che corregge il compito
572edba5eecSFederico Vaga	di uno studente (di matematica). L'insegnante non vuole vedere le
573edba5eecSFederico Vaga	prove e gli errori commessi dallo studente prima che arrivi alla
574edba5eecSFederico Vaga	soluzione. Vuole vedere la risposta più pulita ed elegante
575edba5eecSFederico Vaga	possibile.  Un buono studente lo sa, e non presenterebbe mai le
576edba5eecSFederico Vaga	proprie bozze prima prima della soluzione finale"*
577edba5eecSFederico Vaga
578edba5eecSFederico Vaga	*"Lo stesso vale per lo sviluppo del kernel. I manutentori ed i
579edba5eecSFederico Vaga	revisori non vogliono vedere il procedimento che sta dietro al
580edba5eecSFederico Vaga	problema che uno sta risolvendo. Vogliono vedere una soluzione
581edba5eecSFederico Vaga	semplice ed elegante."*
582edba5eecSFederico Vaga
583edba5eecSFederico VagaPuò essere una vera sfida il saper mantenere l'equilibrio fra una presentazione
584edba5eecSFederico Vagaelegante della vostra soluzione, lavorare insieme ad una comunità e dibattere
585edba5eecSFederico Vagasu un lavoro incompleto.  Pertanto è bene entrare presto nel processo di
586edba5eecSFederico Vagarevisione per migliorare il vostro lavoro, ma anche per riuscire a tenere le
587edba5eecSFederico Vagavostre modifiche in pezzettini che potrebbero essere già accettate, nonostante
588edba5eecSFederico Vagala vostra intera attività non lo sia ancora.
589edba5eecSFederico Vaga
590edba5eecSFederico VagaIn fine, rendetevi conto che non è accettabile inviare delle modifiche
591edba5eecSFederico Vagaincomplete con la promessa che saranno "sistemate dopo".
592edba5eecSFederico Vaga
593edba5eecSFederico Vaga
594edba5eecSFederico VagaGiustificare le vostre modifiche
595edba5eecSFederico Vaga--------------------------------
596edba5eecSFederico Vaga
597edba5eecSFederico VagaInsieme alla frammentazione delle vostre modifiche, è altrettanto importante
598edba5eecSFederico Vagapermettere alla comunità Linux di capire perché dovrebbero accettarle.
599edba5eecSFederico VagaNuove funzionalità devono essere motivate come necessarie ed utili.
600edba5eecSFederico Vaga
601edba5eecSFederico Vaga
602edba5eecSFederico VagaDocumentare le vostre modifiche
603edba5eecSFederico Vaga-------------------------------
604edba5eecSFederico Vaga
605edba5eecSFederico VagaQuando inviate le vostre modifiche, fate particolare attenzione a quello che
606edba5eecSFederico Vagascrivete nella vostra email.  Questa diventerà il *ChangeLog* per la modifica,
607edba5eecSFederico Vagae sarà visibile a tutti per sempre.  Dovrebbe descrivere la modifica nella sua
608edba5eecSFederico Vagainterezza, contenendo:
609edba5eecSFederico Vaga
610edba5eecSFederico Vaga - perchè la modifica è necessaria
611edba5eecSFederico Vaga - l'approccio d'insieme alla patch
612edba5eecSFederico Vaga - dettagli supplementari
613edba5eecSFederico Vaga - risultati dei test
614edba5eecSFederico Vaga
615edba5eecSFederico VagaPer maggiori dettagli su come tutto ciò dovrebbe apparire, riferitevi alla
616edba5eecSFederico Vagasezione ChangeLog del documento:
617edba5eecSFederico Vaga
618edba5eecSFederico Vaga "The Perfect Patch"
619edba5eecSFederico Vaga      http://www.ozlabs.org/~akpm/stuff/tpp.txt
620edba5eecSFederico Vaga
621edba5eecSFederico VagaA volte tutto questo è difficile da realizzare. Il perfezionamento di queste
622edba5eecSFederico Vagapratiche può richiedere anni (eventualmente). È un processo continuo di
623edba5eecSFederico Vagamiglioramento che richiede molta pazienza e determinazione. Ma non mollate,
624edba5eecSFederico Vagasi può fare. Molti lo hanno fatto prima, ed ognuno ha dovuto iniziare dove
625edba5eecSFederico Vagasiete voi ora.
626edba5eecSFederico Vaga
627edba5eecSFederico Vaga
628edba5eecSFederico Vaga
629edba5eecSFederico Vaga
630edba5eecSFederico Vaga----------
631edba5eecSFederico Vaga
632edba5eecSFederico VagaGrazie a Paolo Ciarrocchi che ha permesso che la sezione "Development Process"
633edba5eecSFederico Vaga(https://lwn.net/Articles/94386/) fosse basata sui testi da lui scritti, ed a
634edba5eecSFederico VagaRandy Dunlap e Gerrit Huizenga per la lista di cose che dovreste e non
635edba5eecSFederico Vagadovreste dire. Grazie anche a Pat Mochel, Hanna Linder, Randy Dunlap,
636edba5eecSFederico VagaKay Sievers, Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton,
637edba5eecSFederico VagaAndi Kleen, Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop,
638edba5eecSFederico VagaDavid A. Wheeler, Junio Hamano, Michael Kerrisk, e Alex Shepard per le
639edba5eecSFederico Vagaloro revisioni, commenti e contributi.  Senza il loro aiuto, questo documento
640edba5eecSFederico Vaganon sarebbe stato possibile.
641edba5eecSFederico Vaga
642edba5eecSFederico VagaManutentore: Greg Kroah-Hartman <greg@kroah.com>
643