1*1e6c6d69SFederico Vaga.. SPDX-License-Identifier: GPL-2.0 2*1e6c6d69SFederico Vaga 3*1e6c6d69SFederico Vaga.. include:: ../disclaimer-ita.rst 4*1e6c6d69SFederico Vaga 5*1e6c6d69SFederico VagaCome contribuire al miglioramento della documentazione del kernel 6*1e6c6d69SFederico Vaga================================================================= 7*1e6c6d69SFederico Vaga 8*1e6c6d69SFederico VagaLa documentazione è una parte importante di ogni progetto di sviluppo 9*1e6c6d69SFederico Vagasoftware. Una buona documentazione aiuta ad attirare nuovi sviluppatori e 10*1e6c6d69SFederico Vagapermette a quelli già presenti di lavorare in modo più efficace. Senza una 11*1e6c6d69SFederico Vagadocumentazione di qualità, si spreca molto tempo nel decifrare il codice a 12*1e6c6d69SFederico Vagaritroso e si commettono errori altrimenti evitabili. 13*1e6c6d69SFederico Vaga 14*1e6c6d69SFederico VagaSfortunatamente, al momento la documentazione del kernel è ben lontana da 15*1e6c6d69SFederico Vagaquello che dovrebbe essere per sostenere un progetto di queste dimensioni e 16*1e6c6d69SFederico Vagaimportanza. 17*1e6c6d69SFederico Vaga 18*1e6c6d69SFederico VagaQuesta guida è per chi vuole contribuire a migliorare questa situazione. I 19*1e6c6d69SFederico Vagamiglioramenti alla documentazione del kernel possono essere fatti da 20*1e6c6d69SFederico Vagasviluppatori con diversi livelli di esperienza; sono un modo relativamente 21*1e6c6d69SFederico Vagasemplice per imparare il processo di sviluppo del kernel in generale e 22*1e6c6d69SFederico Vagatrovare il proprio posto nella comunità. Quello che segue è, per la maggior 23*1e6c6d69SFederico Vagaparte, l'elenco dei compiti che il manutentore della documentazione ritiene 24*1e6c6d69SFederico Vagapiù urgenti. 25*1e6c6d69SFederico Vaga 26*1e6c6d69SFederico VagaLe cose da fare nella documentazione 27*1e6c6d69SFederico Vaga------------------------------------ 28*1e6c6d69SFederico Vaga 29*1e6c6d69SFederico VagaC'è un elenco infinito di compiti da svolgere per portare la nostra 30*1e6c6d69SFederico Vagadocumentazione al livello in cui dovrebbe essere. Questo elenco contiene 31*1e6c6d69SFederico Vagaalcuni punti importanti, ma è lungi dall'essere esaustivo; se trovate un 32*1e6c6d69SFederico Vagamodo diverso per migliorare la documentazione, non esitate! 33*1e6c6d69SFederico Vaga 34*1e6c6d69SFederico VagaCorrezione degli avvisi 35*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~ 36*1e6c6d69SFederico Vaga 37*1e6c6d69SFederico VagaAl momento, la generazione della documentazione produce un numero 38*1e6c6d69SFederico Vagaincredibile di avvisi. Quando ce ne sono così tanti, è come se non ce ne 39*1e6c6d69SFederico Vagafosse nessuno: le persone li ignorano e non si accorgeranno mai quando il 40*1e6c6d69SFederico Vagaloro lavoro ne aggiunge di nuovi. Per questo motivo, eliminare gli avvisi è 41*1e6c6d69SFederico Vagauno dei compiti a più alta priorità nell'elenco delle cose da fare per la 42*1e6c6d69SFederico Vagadocumentazione. Il compito in sé è ragionevolmente semplice, ma va 43*1e6c6d69SFederico Vagaaffrontato nel modo giusto per avere successo. 44*1e6c6d69SFederico Vaga 45*1e6c6d69SFederico VagaGli avvisi emessi da un compilatore per il codice C possono spesso essere 46*1e6c6d69SFederico Vagascartati come falsi positivi, portando a patch il cui unico scopo è zittire 47*1e6c6d69SFederico Vagail compilatore. Gli avvisi generati dalla documentazione, invece, indicano 48*1e6c6d69SFederico Vagaquasi sempre un problema reale; farli sparire richiede di comprendere il 49*1e6c6d69SFederico Vagaproblema e correggerlo alla radice. Per questo motivo, le patch che 50*1e6c6d69SFederico Vagacorreggono avvisi nella documentazione non dovrebbero limitarsi a dire "fix 51*1e6c6d69SFederico Vagaa warning" nel titolo del changelog; dovrebbero invece indicare il problema 52*1e6c6d69SFederico Vagareale che è stato corretto. 53*1e6c6d69SFederico Vaga 54*1e6c6d69SFederico VagaUn altro punto importante è che gli avvisi nella documentazione sono spesso 55*1e6c6d69SFederico Vagagenerati da problemi nei commenti kerneldoc all'interno del codice C. Anche se 56*1e6c6d69SFederico Vagail manutentore della documentazione apprezza l'essere messo in copia sulle 57*1e6c6d69SFederico Vagacorrezioni di questo tipo, in realtà spesso rivolgersi al sottosistema di 58*1e6c6d69SFederico Vagadocumentazione non è il modo migliore di apportare queste modifiche; queste 59*1e6c6d69SFederico Vagadovrebbero invece essere inviate al manutentore del sottosistema in questione. 60*1e6c6d69SFederico Vaga 61*1e6c6d69SFederico VagaPer esempio, in una generazione della documentazione ho preso, quasi a 62*1e6c6d69SFederico Vagacaso, un paio di avvisi:: 63*1e6c6d69SFederico Vaga 64*1e6c6d69SFederico Vaga ./drivers/devfreq/devfreq.c:1818: warning: bad line: 65*1e6c6d69SFederico Vaga - Resource-managed devfreq_register_notifier() 66*1e6c6d69SFederico Vaga ./drivers/devfreq/devfreq.c:1854: warning: bad line: 67*1e6c6d69SFederico Vaga - Resource-managed devfreq_unregister_notifier() 68*1e6c6d69SFederico Vaga 69*1e6c6d69SFederico Vaga(Le righe sono state divise per essere più leggibili). 70*1e6c6d69SFederico Vaga 71*1e6c6d69SFederico VagaUna rapida occhiata al file sorgente indicato sopra ha rivelato un paio di 72*1e6c6d69SFederico Vagacommenti kerneldoc con questo aspetto:: 73*1e6c6d69SFederico Vaga 74*1e6c6d69SFederico Vaga /** 75*1e6c6d69SFederico Vaga * devm_devfreq_register_notifier() 76*1e6c6d69SFederico Vaga - Resource-managed devfreq_register_notifier() 77*1e6c6d69SFederico Vaga * @dev: The devfreq user device. (parent of devfreq) 78*1e6c6d69SFederico Vaga * @devfreq: The devfreq object. 79*1e6c6d69SFederico Vaga * @nb: The notifier block to be unregistered. 80*1e6c6d69SFederico Vaga * @list: DEVFREQ_TRANSITION_NOTIFIER. 81*1e6c6d69SFederico Vaga */ 82*1e6c6d69SFederico Vaga 83*1e6c6d69SFederico VagaIl problema è l'asterisco mancante, che confonde l'idea semplicistica che il 84*1e6c6d69SFederico Vagasistema di generazione abbia idea di come debba essere fatto un blocco di 85*1e6c6d69SFederico Vagacommento C. Questo problema era presente fin da quando quel commento venne 86*1e6c6d69SFederico Vagaaggiunto nel 2016, quindi da diversi anni. Correggerlo è stata solo questione di 87*1e6c6d69SFederico Vagaaggiungere gli asterischi mancanti. Una rapida occhiata alla cronologia di quel 88*1e6c6d69SFederico Vagafile ha mostrato quale fosse il formato usuale per la riga dell'oggetto, e 89*1e6c6d69SFederico Vaga``scripts/get_maintainer.pl`` mi ha detto chi dovesse riceverla (basta passare 90*1e6c6d69SFederico Vagail percorso delle vostre patch come argomento a scripts/get_maintainer.pl). La 91*1e6c6d69SFederico Vagapatch risultante era questa:: 92*1e6c6d69SFederico Vaga 93*1e6c6d69SFederico Vaga [PATCH] PM / devfreq: Fix two malformed kerneldoc comments 94*1e6c6d69SFederico Vaga 95*1e6c6d69SFederico Vaga Two kerneldoc comments in devfreq.c fail to adhere to the required format, 96*1e6c6d69SFederico Vaga resulting in these doc-build warnings: 97*1e6c6d69SFederico Vaga 98*1e6c6d69SFederico Vaga ./drivers/devfreq/devfreq.c:1818: warning: bad line: 99*1e6c6d69SFederico Vaga - Resource-managed devfreq_register_notifier() 100*1e6c6d69SFederico Vaga ./drivers/devfreq/devfreq.c:1854: warning: bad line: 101*1e6c6d69SFederico Vaga - Resource-managed devfreq_unregister_notifier() 102*1e6c6d69SFederico Vaga 103*1e6c6d69SFederico Vaga Add a couple of missing asterisks and make kerneldoc a little happier. 104*1e6c6d69SFederico Vaga 105*1e6c6d69SFederico Vaga Signed-off-by: Jonathan Corbet <corbet@lwn.net> 106*1e6c6d69SFederico Vaga --- 107*1e6c6d69SFederico Vaga drivers/devfreq/devfreq.c | 4 ++-- 108*1e6c6d69SFederico Vaga 1 file changed, 2 insertions(+), 2 deletions(-) 109*1e6c6d69SFederico Vaga 110*1e6c6d69SFederico Vaga diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c 111*1e6c6d69SFederico Vaga index 57f6944d65a6..00c9b80b3d33 100644 112*1e6c6d69SFederico Vaga --- a/drivers/devfreq/devfreq.c 113*1e6c6d69SFederico Vaga +++ b/drivers/devfreq/devfreq.c 114*1e6c6d69SFederico Vaga @@ -1814,7 +1814,7 @@ static void devm_devfreq_notifier_release(struct device *dev, void *res) 115*1e6c6d69SFederico Vaga 116*1e6c6d69SFederico Vaga /** 117*1e6c6d69SFederico Vaga * devm_devfreq_register_notifier() 118*1e6c6d69SFederico Vaga - - Resource-managed devfreq_register_notifier() 119*1e6c6d69SFederico Vaga + * - Resource-managed devfreq_register_notifier() 120*1e6c6d69SFederico Vaga * @dev: The devfreq user device. (parent of devfreq) 121*1e6c6d69SFederico Vaga * @devfreq: The devfreq object. 122*1e6c6d69SFederico Vaga * @nb: The notifier block to be unregistered. 123*1e6c6d69SFederico Vaga @@ -1850,7 +1850,7 @@ EXPORT_SYMBOL(devm_devfreq_register_notifier); 124*1e6c6d69SFederico Vaga 125*1e6c6d69SFederico Vaga /** 126*1e6c6d69SFederico Vaga * devm_devfreq_unregister_notifier() 127*1e6c6d69SFederico Vaga - - Resource-managed devfreq_unregister_notifier() 128*1e6c6d69SFederico Vaga + * - Resource-managed devfreq_unregister_notifier() 129*1e6c6d69SFederico Vaga * @dev: The devfreq user device. (parent of devfreq) 130*1e6c6d69SFederico Vaga * @devfreq: The devfreq object. 131*1e6c6d69SFederico Vaga * @nb: The notifier block to be unregistered. 132*1e6c6d69SFederico Vaga -- 133*1e6c6d69SFederico Vaga 2.24.1 134*1e6c6d69SFederico Vaga 135*1e6c6d69SFederico VagaL'intero procedimento ha richiesto solo pochi minuti. Naturalmente, ho poi 136*1e6c6d69SFederico Vagascoperto che qualcun altro l'aveva già corretto in un altro albero, 137*1e6c6d69SFederico Vagamettendo in luce un'altra lezione: controllate sempre linux-next per 138*1e6c6d69SFederico Vagavedere se un problema è già stato risolto prima di mettervici sopra. 139*1e6c6d69SFederico Vaga 140*1e6c6d69SFederico VagaAltre correzioni richiederanno più tempo, specialmente quelle relative ai 141*1e6c6d69SFederico Vagacampi di una struttura o ai parametri di una funzione privi di 142*1e6c6d69SFederico Vagadocumentazione. In questi casi, è necessario capire quale sia il ruolo di 143*1e6c6d69SFederico Vagaquesti campi o parametri e descriverli correttamente. Nel complesso, questo 144*1e6c6d69SFederico Vagacompito diventa un po' tedioso a volte, ma è molto importante. Se riusciamo 145*1e6c6d69SFederico Vagadavvero ad eliminare gli avvisi dalla generazione della documentazione, 146*1e6c6d69SFederico Vagaallora potremo iniziare a pretendere che gli sviluppatori evitino di 147*1e6c6d69SFederico Vagaaggiungerne di nuovi. 148*1e6c6d69SFederico Vaga 149*1e6c6d69SFederico VagaOltre ai normali avvisi durante la generazione della documentazione, potete 150*1e6c6d69SFederico Vagaottenerne di più eseguendo ``make refcheckdocs`` per trovare riferimenti a file 151*1e6c6d69SFederico Vagadi documentazione inesistenti. 152*1e6c6d69SFederico Vaga 153*1e6c6d69SFederico VagaCommenti kerneldoc dimenticati 154*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 155*1e6c6d69SFederico Vaga 156*1e6c6d69SFederico VagaGli sviluppatori sono incoraggiati a scrivere commenti kerneldoc per il 157*1e6c6d69SFederico Vagaloro codice, ma molti di questi commenti non vengono mai inclusi nella 158*1e6c6d69SFederico Vagagenerazione della documentazione. Questo rende tale informazione più 159*1e6c6d69SFederico Vagadifficile da trovare e, per esempio, impedisce a Sphinx di generare 160*1e6c6d69SFederico Vagacollegamenti verso quella documentazione. Aggiungere le direttive 161*1e6c6d69SFederico Vaga``kernel-doc`` alla documentazione per includere quei commenti può aiutare 162*1e6c6d69SFederico Vagala comunità a ottenere il pieno valore del lavoro speso per crearli. 163*1e6c6d69SFederico Vaga 164*1e6c6d69SFederico VagaLo strumento ``tools/docs/find-unused-docs.sh`` può essere usato per 165*1e6c6d69SFederico Vagatrovare questi commenti dimenticati. 166*1e6c6d69SFederico Vaga 167*1e6c6d69SFederico VagaDa notare che il valore maggiore deriva dall'includere la documentazione 168*1e6c6d69SFederico Vagaper le funzioni e le strutture dati esportate. Molti sottosistemi hanno 169*1e6c6d69SFederico Vagaanche commenti kerneldoc per uso interno; questi non dovrebbero essere 170*1e6c6d69SFederico Vagainclusi nella generazione della documentazione a meno che non vengano 171*1e6c6d69SFederico Vagaposti in un documento specificamente rivolto agli sviluppatori che 172*1e6c6d69SFederico Vagalavorano all'interno del sottosistema in questione. 173*1e6c6d69SFederico Vaga 174*1e6c6d69SFederico Vaga 175*1e6c6d69SFederico VagaCorrezione dei refusi 176*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~ 177*1e6c6d69SFederico Vaga 178*1e6c6d69SFederico VagaCorreggere errori di battitura o di formattazione nella documentazione è 179*1e6c6d69SFederico Vagaun modo rapido per imparare come creare e inviare patch, ed è un servizio 180*1e6c6d69SFederico Vagautile. Sono sempre disposto ad accettare questo tipo di patch. Detto 181*1e6c6d69SFederico Vagaquesto, una volta che ne avete corretti alcuni, considerate di passare a 182*1e6c6d69SFederico Vagacompiti più avanzati, lasciando qualche refuso per il prossimo principiante 183*1e6c6d69SFederico Vagache vorrà occuparsene. 184*1e6c6d69SFederico Vaga 185*1e6c6d69SFederico VagaDa notare che alcune cose *non* sono refusi e non dovrebbero essere 186*1e6c6d69SFederico Vaga"corrette": 187*1e6c6d69SFederico Vaga 188*1e6c6d69SFederico Vaga - Sia la grafia americana che quella britannica dell'inglese sono 189*1e6c6d69SFederico Vaga ammesse nella documentazione del kernel. Non c'è bisogno di sostituire 190*1e6c6d69SFederico Vaga l'una con l'altra. 191*1e6c6d69SFederico Vaga 192*1e6c6d69SFederico Vaga - La questione se un punto debba essere seguito da uno o due spazi non 193*1e6c6d69SFederico Vaga va dibattuta nel contesto della documentazione del kernel. Anche 194*1e6c6d69SFederico Vaga altri argomenti di legittimo disaccordo, come la "virgola di Oxford", 195*1e6c6d69SFederico Vaga non sono pertinenti qui. 196*1e6c6d69SFederico Vaga 197*1e6c6d69SFederico VagaCome per qualsiasi patch a qualsiasi progetto, considerate se la vostra 198*1e6c6d69SFederico Vagamodifica sta davvero migliorando le cose. 199*1e6c6d69SFederico Vaga 200*1e6c6d69SFederico VagaDocumentazione datata 201*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~ 202*1e6c6d69SFederico Vaga 203*1e6c6d69SFederico VagaParte della documentazione del kernel è attuale, mantenuta e utile. 204*1e6c6d69SFederico VagaUn'altra parte... non lo è. Documentazione impolverata, vecchia e 205*1e6c6d69SFederico Vagaimprecisa può fuorviare i lettori e gettare discredito sulla nostra 206*1e6c6d69SFederico Vagadocumentazione nel suo complesso. Qualsiasi cosa si possa fare per 207*1e6c6d69SFederico Vagaaffrontare questi problemi è più che benvenuta. 208*1e6c6d69SFederico Vaga 209*1e6c6d69SFederico VagaOgni volta che lavorate su un documento, considerate se è attuale, se ha 210*1e6c6d69SFederico Vagabisogno di essere aggiornato, o se forse dovrebbe essere rimosso del 211*1e6c6d69SFederico Vagatutto. Ci sono alcuni segnali d'allarme a cui potete prestare attenzione: 212*1e6c6d69SFederico Vaga 213*1e6c6d69SFederico Vaga - Riferimenti a kernel della serie 2.x 214*1e6c6d69SFederico Vaga - Rimandi a repositori su SourceForge 215*1e6c6d69SFederico Vaga - Nella cronologia, negli ultimi anni, solo correzioni di refusi 216*1e6c6d69SFederico Vaga - Discussioni su modi di lavorare precedenti a Git 217*1e6c6d69SFederico Vaga 218*1e6c6d69SFederico VagaLa cosa migliore da fare, ovviamente, sarebbe portare la documentazione a 219*1e6c6d69SFederico Vagaessere attuale, aggiungendo qualsiasi informazione necessaria. Un lavoro 220*1e6c6d69SFederico Vagasimile spesso richiede la collaborazione di sviluppatori che conoscono bene 221*1e6c6d69SFederico Vagail sottosistema in questione. Gli sviluppatori, quando viene chiesto loro 222*1e6c6d69SFederico Vagagentilmente, e quando le loro risposte vengono ascoltate e messe in 223*1e6c6d69SFederico Vagapratica, sono spesso più che disposti a collaborare con chi lavora per 224*1e6c6d69SFederico Vagamigliorare la documentazione. 225*1e6c6d69SFederico Vaga 226*1e6c6d69SFederico VagaAlcuni documenti sono senza speranza; a volte troviamo documenti che fanno 227*1e6c6d69SFederico Vagariferimento a codice rimosso dal kernel molto tempo fa, per esempio. C'è 228*1e6c6d69SFederico Vagauna sorprendente resistenza a rimuovere la documentazione obsoleta, ma 229*1e6c6d69SFederico Vagadovremmo farlo comunque. Il materiale superfluo nella nostra documentazione 230*1e6c6d69SFederico Vaganon è d'aiuto a nessuno. 231*1e6c6d69SFederico Vaga 232*1e6c6d69SFederico VagaNei casi in cui, forse, ci sono informazioni utili in un documento 233*1e6c6d69SFederico Vagagravemente datato, e non siete in grado di aggiornarlo, la cosa migliore 234*1e6c6d69SFederico Vagada fare potrebbe essere aggiungere un avviso all'inizio. Si raccomanda il 235*1e6c6d69SFederico Vagaseguente testo:: 236*1e6c6d69SFederico Vaga 237*1e6c6d69SFederico Vaga .. warning :: 238*1e6c6d69SFederico Vaga This document is outdated and in need of attention. Please use 239*1e6c6d69SFederico Vaga this information with caution, and please consider sending patches 240*1e6c6d69SFederico Vaga to update it. 241*1e6c6d69SFederico Vaga 242*1e6c6d69SFederico VagaIn questo modo, almeno i nostri pazientissimi lettori sono stati avvisati 243*1e6c6d69SFederico Vagache il documento potrebbe portarli fuori strada. 244*1e6c6d69SFederico Vaga 245*1e6c6d69SFederico VagaCoerenza della documentazione 246*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 247*1e6c6d69SFederico Vaga 248*1e6c6d69SFederico VagaI veterani di qui ricorderanno i libri su Linux che comparvero sugli 249*1e6c6d69SFederico Vagascaffali negli anni '90. Erano semplicemente raccolte di file di 250*1e6c6d69SFederico Vagadocumentazione racimolati da varie fonti in rete. I libri sono (per lo 251*1e6c6d69SFederico Vagapiù) migliorati da allora, ma la documentazione del kernel è ancora per lo 252*1e6c6d69SFederico Vagapiù costruita su quel modello. Sono migliaia di file, quasi ognuno dei 253*1e6c6d69SFederico Vagaquali è stato scritto in isolamento da tutti gli altri. Non abbiamo un 254*1e6c6d69SFederico Vagacorpo coerente di documentazione del kernel; abbiamo migliaia di documenti 255*1e6c6d69SFederico Vagaindividuali. 256*1e6c6d69SFederico Vaga 257*1e6c6d69SFederico VagaAbbiamo cercato di migliorare la situazione creando un insieme di "libri" 258*1e6c6d69SFederico Vagache raggruppano la documentazione per specifici lettori. Questi 259*1e6c6d69SFederico Vagaincludono: 260*1e6c6d69SFederico Vaga 261*1e6c6d69SFederico Vaga - Documentation/admin-guide/index.rst 262*1e6c6d69SFederico Vaga - Documentation/core-api/index.rst 263*1e6c6d69SFederico Vaga - Documentation/driver-api/index.rst 264*1e6c6d69SFederico Vaga - Documentation/userspace-api/index.rst 265*1e6c6d69SFederico Vaga 266*1e6c6d69SFederico VagaCosì come questo libro sulla documentazione stessa. 267*1e6c6d69SFederico Vaga 268*1e6c6d69SFederico VagaSpostare i documenti nei libri appropriati è un compito importante e deve 269*1e6c6d69SFederico Vagacontinuare. Ci sono, tuttavia, un paio di sfide associate a questo lavoro. 270*1e6c6d69SFederico VagaSpostare i file della documentazione, nel breve termine, infastidisce chi vi 271*1e6c6d69SFederico Vagalavora; comprensibilmente, non sono entusiasti di questi cambiamenti. Di solito 272*1e6c6d69SFederico Vagali si può convincere a spostarli una volta; tuttavia, non vogliamo continuare a 273*1e6c6d69SFederico Vagaspostarli in giro. 274*1e6c6d69SFederico Vaga 275*1e6c6d69SFederico VagaAnche quando tutti i documenti sono al posto giusto, però, siamo solo 276*1e6c6d69SFederico Vagariusciti a trasformare un grande cumulo in un gruppo di cumuli più 277*1e6c6d69SFederico Vagapiccoli. Il lavoro di cercare di tessere insieme tutti quei documenti in 278*1e6c6d69SFederico Vagaun unico insieme non è ancora iniziato. Se avete idee brillanti su come 279*1e6c6d69SFederico Vagapotremmo procedere su questo fronte, saremmo più che felici di sentirle. 280*1e6c6d69SFederico Vaga 281*1e6c6d69SFederico VagaMiglioramenti al foglio di stile 282*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283*1e6c6d69SFederico Vaga 284*1e6c6d69SFederico VagaCon l'adozione di Sphinx abbiamo un output HTML dall'aspetto molto più gradevole 285*1e6c6d69SFederico Vagadi quanto avessimo un tempo. Ma è ancora migliorabile; Donald Knuth e Edward 286*1e6c6d69SFederico VagaTufte non ne sarebbero impressionati. Questo richiede di modificare i nostri 287*1e6c6d69SFederico Vagafogli di stile per creare un output tipograficamente più solido, accessibile e 288*1e6c6d69SFederico Vagaleggibile. 289*1e6c6d69SFederico Vaga 290*1e6c6d69SFederico VagaAttenzione: se vi assumete questo compito, vi state addentrando nel 291*1e6c6d69SFederico Vagaclassico territorio del "bikeshed". Aspettatevi molte opinioni e 292*1e6c6d69SFederico Vagadiscussioni anche per cambiamenti relativamente ovvi. Questa è, ahimè, la 293*1e6c6d69SFederico Vaganatura del mondo in cui viviamo. 294*1e6c6d69SFederico Vaga 295*1e6c6d69SFederico VagaGenerazione di PDF senza LaTeX 296*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297*1e6c6d69SFederico Vaga 298*1e6c6d69SFederico VagaQuesto è un compito decisamente non banale per qualcuno con molto tempo a 299*1e6c6d69SFederico Vagadisposizione e competenze in Python. La catena di strumenti di Sphinx è 300*1e6c6d69SFederico Vagarelativamente piccola e ben contenuta; è facile da aggiungere a un sistema 301*1e6c6d69SFederico Vagadi sviluppo. Ma generare output in PDF o EPUB richiede l'installazione di 302*1e6c6d69SFederico VagaLaTeX, che non è affatto piccolo o ben contenuto. Sarebbe una bella cosa 303*1e6c6d69SFederico Vagada eliminare. 304*1e6c6d69SFederico Vaga 305*1e6c6d69SFederico VagaLa speranza originale era di usare lo strumento rst2pdf (https://rst2pdf.org/) 306*1e6c6d69SFederico Vagaper la generazione dei PDF, ma si è scoperto che non era all'altezza del 307*1e6c6d69SFederico Vagacompito. Il lavoro di sviluppo su rst2pdf sembra però essere ripreso di recente, 308*1e6c6d69SFederico Vagail che è un segno di speranza. Se uno sviluppatore adeguatamente motivato lo 309*1e6c6d69SFederico Vagamigliorasse per far funzionare rst2pdf con la documentazione del kernel, il 310*1e6c6d69SFederico Vagamondo gli sarebbe eternamente grato. 311*1e6c6d69SFederico Vaga 312*1e6c6d69SFederico VagaScrivere più documentazione 313*1e6c6d69SFederico Vaga~~~~~~~~~~~~~~~~~~~~~~~~~~~ 314*1e6c6d69SFederico Vaga 315*1e6c6d69SFederico VagaNaturalmente, ci sono vaste parti del kernel che sono gravemente prive di 316*1e6c6d69SFederico Vagadocumentazione. Se avete la conoscenza per documentare uno specifico 317*1e6c6d69SFederico Vagasottosistema del kernel e il desiderio di farlo, non esitate a scrivere e 318*1e6c6d69SFederico Vagainviare il lavoro al kernel. Un numero incalcolabile di 319*1e6c6d69SFederico Vagasviluppatori e utenti del kernel vi ringrazierà. 320