€•ñÔŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/zh_CN/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/zh_TW/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/ja_JP/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/ko_KR/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/pt_BR/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ#/translations/sp_SP/process/1.Intro”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒItalian”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”hŒ paragraph”“”)”}”(hŒ×In caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.”h]”(hŒ·In caso di dubbi sulla correttezza del contenuto di questa traduzione, l’unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le ”…””}”(hh½h²hh³Nh´Nubh)”}”(hŒ!:ref:`avvertenze `”h]”hŒinline”“”)”}”(hhÇh]”hŒ avvertenze”…””}”(hhËh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhhÅubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ"translations/it_IT/process/1.Intro”Œ refdomain”hÖŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ it_disclaimer”uh1hh³Œ3Documentation/translations/it_IT/disclaimer-ita.rst”h´Khh½ubhŒ.”…””}”(hh½h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hêh´Khh·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhhh²hh³hêh´NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh³ŒP/var/lib/git/docbuild/linux/Documentation/translations/it_IT/process/1.Intro.rst”h´KubhŒ field_body”“”)”}”(hŒD:ref:`Documentation/process/1.Intro.rst `”h]”h¼)”}”(hjh]”h)”}”(hjh]”hÊ)”}”(hjh]”hŒ!Documentation/process/1.Intro.rst”…””}”(hj"h²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j,Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆhèŒdevelopment_process_intro”uh1hh³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Khhýh²hubj)”}”(hhh]”(j)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPh³jh´Kubj)”}”(hŒ,Alessia Mantegazza ”h]”h¼)”}”(hŒ+Alessia Mantegazza ”h]”(hŒAlessia Mantegazza <”…””}”(hjeh²hh³Nh´NubhŒ reference”“”)”}”(hŒamantegazza@vaga.pv.it”h]”hŒamantegazza@vaga.pv.it”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:amantegazza@vaga.pv.it”uh1jmhjeubhŒ>”…””}”(hjeh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjaubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjPubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´Khhýh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1hûhhh²hh³jh´KubhŒtarget”“”)”}”(hŒ.. _it_development_intro:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œit-development-intro”uh1j›h´Khhh²hh³jubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ Introduzione”h]”hŒ Introduzione”…””}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hj«h²hh³jh´K ubjª)”}”(hhh]”(j¯)”}”(hŒRiepilogo generale”h]”hŒRiepilogo generale”…””}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hj¾h²hh³jh´K ubh¼)”}”(hX:Il resto di questa sezione riguarda il processo di sviluppo del kernel e quella sorta di frustrazione che gli sviluppatori e i loro datori di lavoro potrebbero dover affrontare. Ci sono molte ragioni per le quali del codice per il kernel debba essere incorporato nel kernel ufficiale, fra le quali: disponibilità immediata agli utilizzatori, supporto della comunità in differenti modalità, e la capacità di influenzare la direzione dello sviluppo del kernel. Il codice che contribuisce al kernel Linux deve essere reso disponibile sotto una licenza GPL-compatibile.”h]”hX:Il resto di questa sezione riguarda il processo di sviluppo del kernel e quella sorta di frustrazione che gli sviluppatori e i loro datori di lavoro potrebbero dover affrontare. Ci sono molte ragioni per le quali del codice per il kernel debba essere incorporato nel kernel ufficiale, fra le quali: disponibilità immediata agli utilizzatori, supporto della comunità in differenti modalità, e la capacità di influenzare la direzione dello sviluppo del kernel. Il codice che contribuisce al kernel Linux deve essere reso disponibile sotto una licenza GPL-compatibile.”…””}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj¾h²hubh¼)”}”(hXÒLa sezione :ref:`it_development_process` introduce il processo di sviluppo, il ciclo di rilascio del kernel, ed i meccanismi della finestra d'incorporazione. Il capitolo copre le varie fasi di una modifica: sviluppo, revisione e ciclo d'incorporazione. Ci sono alcuni dibattiti su strumenti e liste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare qualcosa per il kernel sono invitati ad individuare e sistemare bachi come esercizio iniziale.”h]”(hŒ La sezione ”…””}”(hjÝh²hh³Nh´Nubh)”}”(hŒ:ref:`it_development_process`”h]”hÊ)”}”(hjçh]”hŒit_development_process”…””}”(hjéh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjåubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”jóŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_process”uh1hh³jh´KhjÝubhX® introduce il processo di sviluppo, il ciclo di rilascio del kernel, ed i meccanismi della finestra d’incorporazione. Il capitolo copre le varie fasi di una modifica: sviluppo, revisione e ciclo d’incorporazione. Ci sono alcuni dibattiti su strumenti e liste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare qualcosa per il kernel sono invitati ad individuare e sistemare bachi come esercizio iniziale.”…””}”(hjÝh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khj¾h²hubh¼)”}”(hŒÀLa sezione :ref:`it_development_early_stage` copre i primi stadi della pianificazione di un progetto di sviluppo, con particolare enfasi sul coinvolgimento della comunità, il prima possibile.”h]”(hŒ La sezione ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ!:ref:`it_development_early_stage`”h]”hÊ)”}”(hjh]”hŒit_development_early_stage”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j%Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_early_stage”uh1hh³jh´K hjubhŒ” copre i primi stadi della pianificazione di un progetto di sviluppo, con particolare enfasi sul coinvolgimento della comunità, il prima possibile.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K hj¾h²hubh¼)”}”(hXsLa sezione :ref:`it_development_coding` riguarda il processo di scrittura del codice. Qui, sono esposte le diverse insidie che sono state già affrontate da altri sviluppatori. Il capitolo copre anche alcuni dei requisiti per le modifiche, ed esiste un'introduzione ad alcuni strumenti che possono aiutarvi nell'assicurarvi che le modifiche per il kernel siano corrette.”h]”(hŒ La sezione ”…””}”(hjAh²hh³Nh´Nubh)”}”(hŒ:ref:`it_development_coding`”h]”hÊ)”}”(hjKh]”hŒit_development_coding”…””}”(hjMh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjIubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”jWŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_coding”uh1hh³jh´K$hjAubhXP riguarda il processo di scrittura del codice. Qui, sono esposte le diverse insidie che sono state già affrontate da altri sviluppatori. Il capitolo copre anche alcuni dei requisiti per le modifiche, ed esiste un’introduzione ad alcuni strumenti che possono aiutarvi nell’assicurarvi che le modifiche per il kernel siano corrette.”…””}”(hjAh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K$hj¾h²hubh¼)”}”(hX¢La sezione :ref:`it_development_posting` parla del processo di pubblicazione delle modifiche per la revisione. Per essere prese in considerazione dalla comunità di sviluppo, le modifiche devono essere propriamente formattate ed esposte, e devono essere inviate nel posto giusto. Seguire i consigli presenti in questa sezione dovrebbe essere d'aiuto nell'assicurare la migliore accoglienza possibile del vostro lavoro.”h]”(hŒ La sezione ”…””}”(hjsh²hh³Nh´Nubh)”}”(hŒ:ref:`it_development_posting`”h]”hÊ)”}”(hj}h]”hŒit_development_posting”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhj{ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j‰Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_posting”uh1hh³jh´K*hjsubhX~ parla del processo di pubblicazione delle modifiche per la revisione. Per essere prese in considerazione dalla comunità di sviluppo, le modifiche devono essere propriamente formattate ed esposte, e devono essere inviate nel posto giusto. Seguire i consigli presenti in questa sezione dovrebbe essere d’aiuto nell’assicurare la migliore accoglienza possibile del vostro lavoro.”…””}”(hjsh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K*hj¾h²hubh¼)”}”(hXÔLa sezione :ref:`it_development_followthrough` copre ciò che accade dopo la pubblicazione delle modifiche; a questo punto il lavoro è lontano dall'essere concluso. Lavorare con i revisori è una parte cruciale del processo di sviluppo; questa sezione offre una serie di consigli su come evitare problemi in questa importante fase. Gli sviluppatori sono diffidenti nell'affermare che il lavoro è concluso quando una modifica è incorporata nei sorgenti principali.”h]”(hŒ La sezione ”…””}”(hj¥h²hh³Nh´Nubh)”}”(hŒ#:ref:`it_development_followthrough`”h]”hÊ)”}”(hj¯h]”hŒit_development_followthrough”…””}”(hj±h²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhj­ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”j»Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_followthrough”uh1hh³jh´K1hj¥ubhXª copre ciò che accade dopo la pubblicazione delle modifiche; a questo punto il lavoro è lontano dall’essere concluso. Lavorare con i revisori è una parte cruciale del processo di sviluppo; questa sezione offre una serie di consigli su come evitare problemi in questa importante fase. Gli sviluppatori sono diffidenti nell’affermare che il lavoro è concluso quando una modifica è incorporata nei sorgenti principali.”…””}”(hj¥h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K1hj¾h²hubh¼)”}”(hŒ§La sezione :ref:`it_development_advancedtopics` introduce un paio di argomenti "avanzati": gestire le modifiche con git e controllare le modifiche pubblicate da altri.”h]”(hŒ La sezione ”…””}”(hj×h²hh³Nh´Nubh)”}”(hŒ$:ref:`it_development_advancedtopics`”h]”hÊ)”}”(hjáh]”hŒit_development_advancedtopics”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjßubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”jíŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_advancedtopics”uh1hh³jh´K9hj×ubhŒ| introduce un paio di argomenti “avanzatiâ€: gestire le modifiche con git e controllare le modifiche pubblicate da altri.”…””}”(hj×h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K9hj¾h²hubh¼)”}”(hŒ£La sezione :ref:`it_development_conclusion` chiude il documento con dei riferimenti ad altre fonti che forniscono ulteriori informazioni sullo sviluppo del kernel.”h]”(hŒ La sezione ”…””}”(hj h²hh³Nh´Nubh)”}”(hŒ :ref:`it_development_conclusion`”h]”hÊ)”}”(hjh]”hŒit_development_conclusion”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(hÕŒstd”Œstd-ref”eh"]”h$]”h&]”uh1hÉhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”h⌠refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆhèŒit_development_conclusion”uh1hh³jh´K=hj ubhŒx chiude il documento con dei riferimenti ad altre fonti che forniscono ulteriori informazioni sullo sviluppo del kernel.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K=hj¾h²hubeh}”(h]”Œriepilogo-generale”ah ]”h"]”Œriepilogo generale”ah$]”h&]”uh1j©hj«h²hh³jh´K ubjª)”}”(hhh]”(j¯)”}”(hŒDi cosa parla questo documento”h]”hŒDi cosa parla questo documento”…””}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjCh²hh³jh´KBubh¼)”}”(hXIl kernel Linux, ha oltre 8 milioni di linee di codice e ben oltre 1000 contributori ad ogni rilascio; è uno dei più vasti e più attivi software liberi progettati mai esistiti. Sin dal sul modesto inizio nel 1991, questo kernel si è evoluto nel miglior componente per sistemi operativi che fanno funzionare piccoli riproduttori musicali, PC, grandi super computer e tutte le altre tipologie di sistemi fra questi estremi. È una soluzione robusta, efficiente ed adattabile a praticamente qualsiasi situazione.”h]”hXIl kernel Linux, ha oltre 8 milioni di linee di codice e ben oltre 1000 contributori ad ogni rilascio; è uno dei più vasti e più attivi software liberi progettati mai esistiti. Sin dal sul modesto inizio nel 1991, questo kernel si è evoluto nel miglior componente per sistemi operativi che fanno funzionare piccoli riproduttori musicali, PC, grandi super computer e tutte le altre tipologie di sistemi fra questi estremi. È una soluzione robusta, efficiente ed adattabile a praticamente qualsiasi situazione.”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KDhjCh²hubh¼)”}”(hXçCon la crescita di Linux è arrivato anche un aumento di sviluppatori (ed aziende) desiderosi di partecipare a questo sviluppo. I produttori di hardware vogliono assicurarsi che il loro prodotti siano supportati da Linux, rendendo questi prodotti attrattivi agli utenti Linux. I produttori di sistemi integrati, che usano Linux come componente di un prodotto integrato, vogliono che Linux sia capace ed adeguato agli obiettivi ed il più possibile alla mano. Fornitori ed altri produttori di software che basano i propri prodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed affidabilità del kernel Linux. E gli utenti finali, anche, spesso vorrebbero cambiare Linux per renderlo più aderente alle proprie necessità.”h]”hXçCon la crescita di Linux è arrivato anche un aumento di sviluppatori (ed aziende) desiderosi di partecipare a questo sviluppo. I produttori di hardware vogliono assicurarsi che il loro prodotti siano supportati da Linux, rendendo questi prodotti attrattivi agli utenti Linux. I produttori di sistemi integrati, che usano Linux come componente di un prodotto integrato, vogliono che Linux sia capace ed adeguato agli obiettivi ed il più possibile alla mano. Fornitori ed altri produttori di software che basano i propri prodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed affidabilità del kernel Linux. E gli utenti finali, anche, spesso vorrebbero cambiare Linux per renderlo più aderente alle proprie necessità.”…””}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KLhjCh²hubh¼)”}”(hX9Una delle caratteristiche più coinvolgenti di Linux è quella dell'accessibilità per gli sviluppatori; chiunque con le capacità richieste può migliorare Linux ed influenzarne la direzione di sviluppo. Prodotti non open-source non possono offrire questo tipo di apertura, che è una caratteristica del software libero. Ma, anzi, il kernel è persino più aperto rispetto a molti altri progetti di software libero. Un classico ciclo di sviluppo trimestrale può coinvolgere 1000 sviluppatori che lavorano per più di 100 differenti aziende (o per nessuna azienda).”h]”hX;Una delle caratteristiche più coinvolgenti di Linux è quella dell’accessibilità per gli sviluppatori; chiunque con le capacità richieste può migliorare Linux ed influenzarne la direzione di sviluppo. Prodotti non open-source non possono offrire questo tipo di apertura, che è una caratteristica del software libero. Ma, anzi, il kernel è persino più aperto rispetto a molti altri progetti di software libero. Un classico ciclo di sviluppo trimestrale può coinvolgere 1000 sviluppatori che lavorano per più di 100 differenti aziende (o per nessuna azienda).”…””}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KWhjCh²hubh¼)”}”(hX.Lavorare con la comunità di sviluppo del kernel non è particolarmente difficile. Ma, ciononostante, diversi potenziali contributori hanno trovato delle difficoltà quando hanno cercato di lavorare sul kernel. La comunità del kernel utilizza un proprio modo di operare che gli permette di funzionare agevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia di stringhe di codice sono modificate ogni giorni. Quindi non deve sorprendere che il processo di sviluppo del kernel differisca notevolmente dai metodi di sviluppo privati.”h]”hX.Lavorare con la comunità di sviluppo del kernel non è particolarmente difficile. Ma, ciononostante, diversi potenziali contributori hanno trovato delle difficoltà quando hanno cercato di lavorare sul kernel. La comunità del kernel utilizza un proprio modo di operare che gli permette di funzionare agevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia di stringhe di codice sono modificate ogni giorni. Quindi non deve sorprendere che il processo di sviluppo del kernel differisca notevolmente dai metodi di sviluppo privati.”…””}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K`hjCh²hubh¼)”}”(hXIl processo di sviluppo del Kernel può, dall'altro lato, risultare intimidatorio e strano ai nuovi sviluppatori, ma ha dietro di se buone ragioni e solide esperienze. Uno sviluppatore che non comprende i modi della comunità del kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un'esperienza deludente nel proprio bagaglio. La comunità di sviluppo, sebbene sia utile a coloro che cercano di imparare, ha poco tempo da dedicare a coloro che non ascoltano o coloro che non sono interessati al processo di sviluppo.”h]”hXIl processo di sviluppo del Kernel può, dall’altro lato, risultare intimidatorio e strano ai nuovi sviluppatori, ma ha dietro di se buone ragioni e solide esperienze. Uno sviluppatore che non comprende i modi della comunità del kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un’esperienza deludente nel proprio bagaglio. La comunità di sviluppo, sebbene sia utile a coloro che cercano di imparare, ha poco tempo da dedicare a coloro che non ascoltano o coloro che non sono interessati al processo di sviluppo.”…””}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KihjCh²hubh¼)”}”(hX¶Si spera che coloro che leggono questo documento saranno in grado di evitare queste esperienze spiacevoli. C'è molto materiale qui, ma lo sforzo della lettura sarà ripagato in breve tempo. La comunità di sviluppo ha sempre bisogno di sviluppatori che vogliano aiutare a rendere il kernel migliore; il testo seguente potrebbe esservi d'aiuto - o essere d'aiuto ai vostri collaboratori- per entrare a far parte della nostra comunità.”h]”hX¼Si spera che coloro che leggono questo documento saranno in grado di evitare queste esperienze spiacevoli. C’è molto materiale qui, ma lo sforzo della lettura sarà ripagato in breve tempo. La comunità di sviluppo ha sempre bisogno di sviluppatori che vogliano aiutare a rendere il kernel migliore; il testo seguente potrebbe esservi d’aiuto - o essere d’aiuto ai vostri collaboratori- per entrare a far parte della nostra comunità.”…””}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KqhjCh²hubeh}”(h]”Œdi-cosa-parla-questo-documento”ah ]”h"]”Œdi cosa parla questo documento”ah$]”h&]”uh1j©hj«h²hh³jh´KBubjª)”}”(hhh]”(j¯)”}”(hŒCrediti”h]”hŒCrediti”…””}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hj°h²hh³jh´Kyubh¼)”}”(hX&Questo documento è stato scritto da Jonathan Corbet, corbet@lwn.net. È stato migliorato da Johannes Berg, James Berry, Alex Chiang, Roland Dreier, Randy Dunlap, Jake Edge, Jiri Kosina, Matt Mackall, Arthur Marsh, Amanda McPherson, Andrew Morton, Andrew Price, Tsugikazu Shibata e Jochen Voß.”h]”(hŒ6Questo documento è stato scritto da Jonathan Corbet, ”…””}”(hjÁh²hh³Nh´Nubjn)”}”(hŒcorbet@lwn.net”h]”hŒcorbet@lwn.net”…””}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:corbet@lwn.net”uh1jmhjÁubhŒâ. È stato migliorato da Johannes Berg, James Berry, Alex Chiang, Roland Dreier, Randy Dunlap, Jake Edge, Jiri Kosina, Matt Mackall, Arthur Marsh, Amanda McPherson, Andrew Morton, Andrew Price, Tsugikazu Shibata e Jochen Voß.”…””}”(hjÁh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K{hj°h²hubh¼)”}”(hŒ©Questo lavoro è stato supportato dalla Linux Foundation; un ringraziamento speciale ad Amanda McPherson, che ha visto il valore di questo lavoro e lo ha reso possibile.”h]”hŒ©Questo lavoro è stato supportato dalla Linux Foundation; un ringraziamento speciale ad Amanda McPherson, che ha visto il valore di questo lavoro e lo ha reso possibile.”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K€hj°h²hubeh}”(h]”Œcrediti”ah ]”h"]”Œcrediti”ah$]”h&]”uh1j©hj«h²hh³jh´Kyubjª)”}”(hhh]”(j¯)”}”(hŒ6L'importanza d'avere il codice nei sorgenti principali”h]”hŒ:L’importanza d’avere il codice nei sorgenti principali”…””}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjùh²hh³jh´K…ubh¼)”}”(hXWAlcune aziende e sviluppatori ogni tanto si domandano perché dovrebbero preoccuparsi di apprendere come lavorare con la comunità del kernel e di inserire il loro codice nel ramo di sviluppo principale (per ramo principale s'intende quello mantenuto da Linus Torvalds e usato come base dai distributori Linux). Nel breve termine, contribuire al codice può sembrare un costo inutile; può sembra più facile tenere separato il proprio codice e supportare direttamente i suoi utilizzatori. La verità è che il tenere il codice separato ("fuori dai sorgenti", *"out-of-tree"*) è un falso risparmio.”h]”(hX6Alcune aziende e sviluppatori ogni tanto si domandano perché dovrebbero preoccuparsi di apprendere come lavorare con la comunità del kernel e di inserire il loro codice nel ramo di sviluppo principale (per ramo principale s’intende quello mantenuto da Linus Torvalds e usato come base dai distributori Linux). Nel breve termine, contribuire al codice può sembrare un costo inutile; può sembra più facile tenere separato il proprio codice e supportare direttamente i suoi utilizzatori. La verità è che il tenere il codice separato (“fuori dai sorgentiâ€, ”…””}”(hj h²hh³Nh´NubhŒemphasis”“”)”}”(hŒ*"out-of-tree"*”h]”hŒ“out-of-tree—…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubhŒ) è un falso risparmio.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K‡hjùh²hubh¼)”}”(hŒçPer dimostrare i costi di un codice "fuori dai sorgenti", eccovi alcuni aspetti rilevanti del processo di sviluppo kernel; la maggior parte di essi saranno approfonditi dettagliatamente più avanti in questo documento. Considerate:”h]”hŒëPer dimostrare i costi di un codice “fuori dai sorgentiâ€, eccovi alcuni aspetti rilevanti del processo di sviluppo kernel; la maggior parte di essi saranno approfonditi dettagliatamente più avanti in questo documento. Considerate:”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Khjùh²hubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hXíIl codice che è stato inserito nel ramo principale del kernel è disponibile a tutti gli utilizzatori Linux. Sarà automaticamente presente in tutte le distribuzioni che lo consentono. Non c'è bisogno di: driver per dischi, scaricare file, o della scocciatura del dover supportare diverse versioni di diverse distribuzioni; funziona già tutto, per gli sviluppatori e per gli utilizzatori. L'inserimento nel ramo principale risolve un gran numero di problemi di distribuzione e di supporto. ”h]”h¼)”}”(hXìIl codice che è stato inserito nel ramo principale del kernel è disponibile a tutti gli utilizzatori Linux. Sarà automaticamente presente in tutte le distribuzioni che lo consentono. Non c'è bisogno di: driver per dischi, scaricare file, o della scocciatura del dover supportare diverse versioni di diverse distribuzioni; funziona già tutto, per gli sviluppatori e per gli utilizzatori. L'inserimento nel ramo principale risolve un gran numero di problemi di distribuzione e di supporto.”h]”hXðIl codice che è stato inserito nel ramo principale del kernel è disponibile a tutti gli utilizzatori Linux. Sarà automaticamente presente in tutte le distribuzioni che lo consentono. Non c’è bisogno di: driver per dischi, scaricare file, o della scocciatura del dover supportare diverse versioni di diverse distribuzioni; funziona già tutto, per gli sviluppatori e per gli utilizzatori. L’inserimento nel ramo principale risolve un gran numero di problemi di distribuzione e di supporto.”…””}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K•hjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hX÷Nonostante gli sviluppatori kernel si sforzino di tenere stabile l'interfaccia dello spazio utente, quella interna al kernel è in continuo cambiamento. La mancanza di un'interfaccia interna è deliberatamente una decisione di progettazione; ciò permette che i miglioramenti fondamentali vengano fatti in un qualsiasi momento e che risultino fatti con un codice di alta qualità. Ma una delle conseguenze di questa politica è che qualsiasi codice "fuori dai sorgenti" richiede costante manutenzione per renderlo funzionante coi kernel più recenti. Tenere un codice "fuori dai sorgenti" richiede una mole di lavoro significativa solo per farlo funzionare. Invece, il codice che si trova nel ramo principale non necessita di questo tipo di lavoro poiché ad ogni sviluppatore che faccia una modifica alle interfacce viene richiesto di sistemare anche il codice che utilizza quell'interfaccia. Quindi, il codice che è stato inserito nel ramo principale ha dei costi di mantenimento significativamente più bassi. ”h]”(h¼)”}”(hX‘Nonostante gli sviluppatori kernel si sforzino di tenere stabile l'interfaccia dello spazio utente, quella interna al kernel è in continuo cambiamento. La mancanza di un'interfaccia interna è deliberatamente una decisione di progettazione; ciò permette che i miglioramenti fondamentali vengano fatti in un qualsiasi momento e che risultino fatti con un codice di alta qualità. Ma una delle conseguenze di questa politica è che qualsiasi codice "fuori dai sorgenti" richiede costante manutenzione per renderlo funzionante coi kernel più recenti. Tenere un codice "fuori dai sorgenti" richiede una mole di lavoro significativa solo per farlo funzionare.”h]”hXNonostante gli sviluppatori kernel si sforzino di tenere stabile l’interfaccia dello spazio utente, quella interna al kernel è in continuo cambiamento. La mancanza di un’interfaccia interna è deliberatamente una decisione di progettazione; ciò permette che i miglioramenti fondamentali vengano fatti in un qualsiasi momento e che risultino fatti con un codice di alta qualità. Ma una delle conseguenze di questa politica è che qualsiasi codice “fuori dai sorgenti†richiede costante manutenzione per renderlo funzionante coi kernel più recenti. Tenere un codice “fuori dai sorgenti†richiede una mole di lavoro significativa solo per farlo funzionare.”…””}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KhjYubh¼)”}”(hXcInvece, il codice che si trova nel ramo principale non necessita di questo tipo di lavoro poiché ad ogni sviluppatore che faccia una modifica alle interfacce viene richiesto di sistemare anche il codice che utilizza quell'interfaccia. Quindi, il codice che è stato inserito nel ramo principale ha dei costi di mantenimento significativamente più bassi.”h]”hXeInvece, il codice che si trova nel ramo principale non necessita di questo tipo di lavoro poiché ad ogni sviluppatore che faccia una modifica alle interfacce viene richiesto di sistemare anche il codice che utilizza quell’interfaccia. Quindi, il codice che è stato inserito nel ramo principale ha dei costi di mantenimento significativamente più bassi.”…””}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K§hjYubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hŒìOltre a ciò, spesso il codice che è all'interno del kernel sarà migliorato da altri sviluppatori. Dare pieni poteri alla vostra comunità di utenti e ai clienti può portare a sorprendenti risultati che migliorano i vostri prodotti. ”h]”h¼)”}”(hŒëOltre a ciò, spesso il codice che è all'interno del kernel sarà migliorato da altri sviluppatori. Dare pieni poteri alla vostra comunità di utenti e ai clienti può portare a sorprendenti risultati che migliorano i vostri prodotti.”h]”hŒíOltre a ciò, spesso il codice che è all’interno del kernel sarà migliorato da altri sviluppatori. Dare pieni poteri alla vostra comunità di utenti e ai clienti può portare a sorprendenti risultati che migliorano i vostri prodotti.”…””}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K­hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hX2Il codice kernel è soggetto a revisioni, sia prima che dopo l'inserimento nel ramo principale. Non importa quanto forti fossero le abilità dello sviluppatore originale, il processo di revisione troverà il modo di migliore il codice. Spesso la revisione trova bachi importanti e problemi di sicurezza. Questo è particolarmente vero per il codice che è stato sviluppato in un ambiente chiuso; tale codice ottiene un forte beneficio dalle revisioni provenienti da sviluppatori esteri. Il codice "fuori dai sorgenti", invece, è un codice di bassa qualità. ”h]”h¼)”}”(hX1Il codice kernel è soggetto a revisioni, sia prima che dopo l'inserimento nel ramo principale. Non importa quanto forti fossero le abilità dello sviluppatore originale, il processo di revisione troverà il modo di migliore il codice. Spesso la revisione trova bachi importanti e problemi di sicurezza. Questo è particolarmente vero per il codice che è stato sviluppato in un ambiente chiuso; tale codice ottiene un forte beneficio dalle revisioni provenienti da sviluppatori esteri. Il codice "fuori dai sorgenti", invece, è un codice di bassa qualità.”h]”hX7Il codice kernel è soggetto a revisioni, sia prima che dopo l’inserimento nel ramo principale. Non importa quanto forti fossero le abilità dello sviluppatore originale, il processo di revisione troverà il modo di migliore il codice. Spesso la revisione trova bachi importanti e problemi di sicurezza. Questo è particolarmente vero per il codice che è stato sviluppato in un ambiente chiuso; tale codice ottiene un forte beneficio dalle revisioni provenienti da sviluppatori esteri. Il codice “fuori dai sorgentiâ€, invece, è un codice di bassa qualità.”…””}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K²hj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hXXLa partecipazione al processo di sviluppo costituisce la vostra via per influenzare la direzione di sviluppo del kernel. Gli utilizzatori che "reclamano da bordo campo" sono ascoltati, ma gli sviluppatori attivi hanno una voce più forte - e la capacità di implementare modifiche che renderanno il kernel più funzionale alle loro necessità. ”h]”h¼)”}”(hXWLa partecipazione al processo di sviluppo costituisce la vostra via per influenzare la direzione di sviluppo del kernel. Gli utilizzatori che "reclamano da bordo campo" sono ascoltati, ma gli sviluppatori attivi hanno una voce più forte - e la capacità di implementare modifiche che renderanno il kernel più funzionale alle loro necessità.”h]”hX[La partecipazione al processo di sviluppo costituisce la vostra via per influenzare la direzione di sviluppo del kernel. Gli utilizzatori che “reclamano da bordo campo†sono ascoltati, ma gli sviluppatori attivi hanno una voce più forte - e la capacità di implementare modifiche che renderanno il kernel più funzionale alle loro necessità.”…””}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K»hj¯ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hX Quando il codice è gestito separatamente, esiste sempre la possibilità che terze parti contribuiscano con una differente implementazione che fornisce le stesse funzionalità. Se dovesse accadere, l'inserimento del codice diventerà molto più difficile - fino all'impossibilità. Poi, dovrete far fronte a delle alternative poco piacevoli, come: (1) mantenere un elemento non standard "fuori dai sorgenti" per un tempo indefinito, o (2) abbandonare il codice e far migrare i vostri utenti alla versione "nei sorgenti". ”h]”h¼)”}”(hX Quando il codice è gestito separatamente, esiste sempre la possibilità che terze parti contribuiscano con una differente implementazione che fornisce le stesse funzionalità. Se dovesse accadere, l'inserimento del codice diventerà molto più difficile - fino all'impossibilità. Poi, dovrete far fronte a delle alternative poco piacevoli, come: (1) mantenere un elemento non standard "fuori dai sorgenti" per un tempo indefinito, o (2) abbandonare il codice e far migrare i vostri utenti alla versione "nei sorgenti".”h]”hXQuando il codice è gestito separatamente, esiste sempre la possibilità che terze parti contribuiscano con una differente implementazione che fornisce le stesse funzionalità. Se dovesse accadere, l’inserimento del codice diventerà molto più difficile - fino all’impossibilità. Poi, dovrete far fronte a delle alternative poco piacevoli, come: (1) mantenere un elemento non standard “fuori dai sorgenti†per un tempo indefinito, o (2) abbandonare il codice e far migrare i vostri utenti alla versione “nei sorgentiâ€.”…””}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KÁhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubj@)”}”(hXÏContribuire al codice è l'azione fondamentale che fa funzionare tutto il processo. Contribuendo attraverso il vostro codice potete aggiungere nuove funzioni al kernel e fornire competenze ed esempi che saranno utili ad altri sviluppatori. Se avete sviluppato del codice Linux (o state pensando di farlo), avete chiaramente interesse nel far proseguire il successo di questa piattaforma. Contribuire al codice è une delle migliori vie per aiutarne il successo. ”h]”h¼)”}”(hXÎContribuire al codice è l'azione fondamentale che fa funzionare tutto il processo. Contribuendo attraverso il vostro codice potete aggiungere nuove funzioni al kernel e fornire competenze ed esempi che saranno utili ad altri sviluppatori. Se avete sviluppato del codice Linux (o state pensando di farlo), avete chiaramente interesse nel far proseguire il successo di questa piattaforma. Contribuire al codice è une delle migliori vie per aiutarne il successo.”h]”hXÐContribuire al codice è l’azione fondamentale che fa funzionare tutto il processo. Contribuendo attraverso il vostro codice potete aggiungere nuove funzioni al kernel e fornire competenze ed esempi che saranno utili ad altri sviluppatori. Se avete sviluppato del codice Linux (o state pensando di farlo), avete chiaramente interesse nel far proseguire il successo di questa piattaforma. Contribuire al codice è une delle migliori vie per aiutarne il successo.”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KÉhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj<h²hh³jh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j:h³jh´K•hjùh²hubh¼)”}”(hXcIl ragionamento sopra citato si applica ad ogni codice "fuori dai sorgenti" dal kernel, incluso il codice proprietario distribuito solamente in formato binario. Ci sono, comunque, dei fattori aggiuntivi che dovrebbero essere tenuti in conto prima di prendere in considerazione qualsiasi tipo di distribuzione binaria di codice kernel. Questo include che:”h]”hXgIl ragionamento sopra citato si applica ad ogni codice “fuori dai sorgenti†dal kernel, incluso il codice proprietario distribuito solamente in formato binario. Ci sono, comunque, dei fattori aggiuntivi che dovrebbero essere tenuti in conto prima di prendere in considerazione qualsiasi tipo di distribuzione binaria di codice kernel. Questo include che:”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KÑhjùh²hubj;)”}”(hhh]”(j@)”}”(hX_Le questioni legali legate alla distribuzione di moduli kernel proprietari sono molto nebbiose; parecchi detentori di copyright sul kernel credono che molti moduli binari siano prodotti derivati del kernel e che, come risultato, la loro diffusione sia una violazione della licenza generale di GNU (della quale si parlerà più avanti). L'autore qui non è un avvocato, e niente in questo documento può essere considerato come un consiglio legale. Il vero stato legale dei moduli proprietari può essere determinato esclusivamente da un giudice. Ma l'incertezza che perseguita quei moduli è lì comunque. ”h]”h¼)”}”(hX^Le questioni legali legate alla distribuzione di moduli kernel proprietari sono molto nebbiose; parecchi detentori di copyright sul kernel credono che molti moduli binari siano prodotti derivati del kernel e che, come risultato, la loro diffusione sia una violazione della licenza generale di GNU (della quale si parlerà più avanti). L'autore qui non è un avvocato, e niente in questo documento può essere considerato come un consiglio legale. Il vero stato legale dei moduli proprietari può essere determinato esclusivamente da un giudice. Ma l'incertezza che perseguita quei moduli è lì comunque.”h]”hXbLe questioni legali legate alla distribuzione di moduli kernel proprietari sono molto nebbiose; parecchi detentori di copyright sul kernel credono che molti moduli binari siano prodotti derivati del kernel e che, come risultato, la loro diffusione sia una violazione della licenza generale di GNU (della quale si parlerà più avanti). L’autore qui non è un avvocato, e niente in questo documento può essere considerato come un consiglio legale. Il vero stato legale dei moduli proprietari può essere determinato esclusivamente da un giudice. Ma l’incertezza che perseguita quei moduli è lì comunque.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´K×hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj h²hh³jh´Nubj@)”}”(hX/I moduli binari aumentano di molto la difficoltà di fare debugging del kernel, al punto che la maggior parte degli sviluppatori del kernel non vorranno nemmeno tentare. Quindi la diffusione di moduli esclusivamente binari renderà difficile ai vostri utilizzatori trovare un supporto dalla comunità. ”h]”h¼)”}”(hX.I moduli binari aumentano di molto la difficoltà di fare debugging del kernel, al punto che la maggior parte degli sviluppatori del kernel non vorranno nemmeno tentare. Quindi la diffusione di moduli esclusivamente binari renderà difficile ai vostri utilizzatori trovare un supporto dalla comunità.”h]”hX.I moduli binari aumentano di molto la difficoltà di fare debugging del kernel, al punto che la maggior parte degli sviluppatori del kernel non vorranno nemmeno tentare. Quindi la diffusione di moduli esclusivamente binari renderà difficile ai vostri utilizzatori trovare un supporto dalla comunità.”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Káhj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj h²hh³jh´Nubj@)”}”(hX­Il supporto è anche difficile per i distributori di moduli binari che devono fornire una versione del modulo per ogni distribuzione e per ogni versione del kernel che vogliono supportate. Per fornire una copertura ragionevole e comprensiva, può essere richiesto di produrre dozzine di singoli moduli. E inoltre i vostri utilizzatori dovranno aggiornare il vostro modulo separatamente ogni volta che aggiornano il loro kernel. ”h]”h¼)”}”(hX¬Il supporto è anche difficile per i distributori di moduli binari che devono fornire una versione del modulo per ogni distribuzione e per ogni versione del kernel che vogliono supportate. Per fornire una copertura ragionevole e comprensiva, può essere richiesto di produrre dozzine di singoli moduli. E inoltre i vostri utilizzatori dovranno aggiornare il vostro modulo separatamente ogni volta che aggiornano il loro kernel.”h]”hX¬Il supporto è anche difficile per i distributori di moduli binari che devono fornire una versione del modulo per ogni distribuzione e per ogni versione del kernel che vogliono supportate. Per fornire una copertura ragionevole e comprensiva, può essere richiesto di produrre dozzine di singoli moduli. E inoltre i vostri utilizzatori dovranno aggiornare il vostro modulo separatamente ogni volta che aggiornano il loro kernel.”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Kçhj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj h²hh³jh´Nubj@)”}”(hŒþTutto ciò che è stato detto prima riguardo alla revisione del codice si applica doppiamente al codice proprietario. Dato che questo codice non è del tutto disponibile, non può essere revisionato dalla comunità e avrà, senza dubbio, seri problemi. ”h]”h¼)”}”(hŒýTutto ciò che è stato detto prima riguardo alla revisione del codice si applica doppiamente al codice proprietario. Dato che questo codice non è del tutto disponibile, non può essere revisionato dalla comunità e avrà, senza dubbio, seri problemi.”h]”hŒýTutto ciò che è stato detto prima riguardo alla revisione del codice si applica doppiamente al codice proprietario. Dato che questo codice non è del tutto disponibile, non può essere revisionato dalla comunità e avrà, senza dubbio, seri problemi.”…””}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´KîhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hj h²hh³jh´Nubeh}”(h]”h ]”h"]”h$]”h&]”jýjþuh1j:h³jh´K×hjùh²hubh¼)”}”(hX!I produttori di sistemi integrati, in particolare, potrebbero esser tentati dall'evitare molto di ciò che è stato detto in questa sezione, credendo che stiano distribuendo un prodotto finito che utilizza una versione del kernel immutabile e che non richiede un ulteriore sviluppo dopo il rilascio. Questa idea non comprende il valore di una vasta revisione del codice e il valore del permettere ai propri utenti di aggiungere funzionalità al vostro prodotto. Ma anche questi prodotti, hanno una vita commerciale limitata, dopo la quale deve essere rilasciata una nuova versione. A quel punto, i produttori il cui codice è nel ramo principale di sviluppo avranno un codice ben mantenuto e saranno in una posizione migliore per ottenere velocemente un nuovo prodotto pronto per essere distribuito.”h]”hX#I produttori di sistemi integrati, in particolare, potrebbero esser tentati dall’evitare molto di ciò che è stato detto in questa sezione, credendo che stiano distribuendo un prodotto finito che utilizza una versione del kernel immutabile e che non richiede un ulteriore sviluppo dopo il rilascio. Questa idea non comprende il valore di una vasta revisione del codice e il valore del permettere ai propri utenti di aggiungere funzionalità al vostro prodotto. Ma anche questi prodotti, hanno una vita commerciale limitata, dopo la quale deve essere rilasciata una nuova versione. A quel punto, i produttori il cui codice è nel ramo principale di sviluppo avranno un codice ben mantenuto e saranno in una posizione migliore per ottenere velocemente un nuovo prodotto pronto per essere distribuito.”…””}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´Kóhjùh²hubeh}”(h]”Œ6l-importanza-d-avere-il-codice-nei-sorgenti-principali”ah ]”h"]”Œ6l'importanza d'avere il codice nei sorgenti principali”ah$]”h&]”uh1j©hj«h²hh³jh´K…ubjª)”}”(hhh]”(j¯)”}”(hŒLicenza”h]”hŒLicenza”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j®hjŒh²hh³jh´Mubh¼)”}”(hX4IL codice Linux utilizza diverse licenze, ma il codice completo deve essere compatibile con la seconda versione della licenza GNU General Public License (GPLv2), che è la licenza che copre la distribuzione del kernel. Nella pratica, ciò significa che tutti i contributi al codice sono coperti anche'essi dalla GPLv2 (con, opzionalmente, una dicitura che permette la possibilità di distribuirlo con licenze più recenti di GPL) o dalla licenza three-clause BSD. Qualsiasi contributo che non è coperto da una licenza compatibile non verrà accettata nel kernel.”h]”hX6IL codice Linux utilizza diverse licenze, ma il codice completo deve essere compatibile con la seconda versione della licenza GNU General Public License (GPLv2), che è la licenza che copre la distribuzione del kernel. Nella pratica, ciò significa che tutti i contributi al codice sono coperti anche’essi dalla GPLv2 (con, opzionalmente, una dicitura che permette la possibilità di distribuirlo con licenze più recenti di GPL) o dalla licenza three-clause BSD. Qualsiasi contributo che non è coperto da una licenza compatibile non verrà accettata nel kernel.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´MhjŒh²hubh¼)”}”(hŒûPer il codice sottomesso al kernel non è necessario (o richiesto) la concessione del Copyright. Tutto il codice inserito nel ramo principale del kernel conserva la sua proprietà originale; ne risulta che ora il kernel abbia migliaia di proprietari.”h]”hŒûPer il codice sottomesso al kernel non è necessario (o richiesto) la concessione del Copyright. Tutto il codice inserito nel ramo principale del kernel conserva la sua proprietà originale; ne risulta che ora il kernel abbia migliaia di proprietari.”…””}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´M hjŒh²hubh¼)”}”(hX¹Una conseguenza di questa organizzazione della proprietà è che qualsiasi tentativo di modifica della licenza del kernel è destinata ad un quasi sicuro fallimento. Esistono alcuni scenari pratici nei quali il consenso di tutti i detentori di copyright può essere ottenuto (o il loro codice verrà rimosso dal kernel). Quindi, in sostanza, non esiste la possibilità che si giunga ad una versione 3 della licenza GPL nel prossimo futuro.”h]”hX¹Una conseguenza di questa organizzazione della proprietà è che qualsiasi tentativo di modifica della licenza del kernel è destinata ad un quasi sicuro fallimento. Esistono alcuni scenari pratici nei quali il consenso di tutti i detentori di copyright può essere ottenuto (o il loro codice verrà rimosso dal kernel). Quindi, in sostanza, non esiste la possibilità che si giunga ad una versione 3 della licenza GPL nel prossimo futuro.”…””}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´MhjŒh²hubh¼)”}”(hXsÈ imperativo che tutto il codice che contribuisce al kernel sia legittimamente software libero. Per questa ragione, un codice proveniente da un contributore anonimo (o sotto pseudonimo) non verrà accettato. È richiesto a tutti i contributori di firmare il proprio codice, attestando così che quest'ultimo può essere distribuito insieme al kernel sotto la licenza GPL. Il codice che non è stato licenziato come software libero dal proprio creatore, o che potrebbe creare problemi di copyright per il kernel (come il codice derivante da processi di ingegneria inversa senza le opportune tutele), non può essere diffuso.”h]”hXuÈ imperativo che tutto il codice che contribuisce al kernel sia legittimamente software libero. Per questa ragione, un codice proveniente da un contributore anonimo (o sotto pseudonimo) non verrà accettato. È richiesto a tutti i contributori di firmare il proprio codice, attestando così che quest’ultimo può essere distribuito insieme al kernel sotto la licenza GPL. Il codice che non è stato licenziato come software libero dal proprio creatore, o che potrebbe creare problemi di copyright per il kernel (come il codice derivante da processi di ingegneria inversa senza le opportune tutele), non può essere diffuso.”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´MhjŒh²hubh¼)”}”(hX8Domande relative a questioni legate al copyright sono frequenti nelle liste di discussione dedicate allo sviluppo di Linux. Tali quesiti, normalmente, non riceveranno alcuna risposta, ma una cosa deve essere tenuta presente: le persone che risponderanno a quelle domande non sono avvocati e non possono fornire supporti legali. Se avete questioni legali relative ai sorgenti del codice Linux, non esiste alternativa che quella di parlare con un avvocato esperto nel settore. Fare affidamento sulle risposte ottenute da una lista di discussione tecnica è rischioso.”h]”hX8Domande relative a questioni legate al copyright sono frequenti nelle liste di discussione dedicate allo sviluppo di Linux. Tali quesiti, normalmente, non riceveranno alcuna risposta, ma una cosa deve essere tenuta presente: le persone che risponderanno a quelle domande non sono avvocati e non possono fornire supporti legali. Se avete questioni legali relative ai sorgenti del codice Linux, non esiste alternativa che quella di parlare con un avvocato esperto nel settore. Fare affidamento sulle risposte ottenute da una lista di discussione tecnica è rischioso.”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³jh´M"hjŒh²hubeh}”(h]”Œlicenza”ah ]”h"]”Œlicenza”ah$]”h&]”uh1j©hj«h²hh³jh´Mubeh}”(h]”(Œ introduzione”j¨eh ]”h"]”(Œ introduzione”Œit_development_intro”eh$]”h&]”uh1j©hhh²hh³jh´K Œexpect_referenced_by_name”}”jñjsŒexpect_referenced_by_id”}”j¨jsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”juh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(j®NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”jŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”j¨]”jasŒnameids”}”(jñj¨jðjíj@j=j­jªjöjój‰j†jèjåuŒ nametypes”}”(jñˆjð‰j@‰j­‰jö‰j‰‰jè‰uh}”(j¨j«jíj«j=j¾jªjCjój°j†jùjåjŒuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”h¼)”}”(hhh]”hŒ:Hyperlink target "it-development-intro" is not referenced.”…””}”hj…sbah}”(h]”h ]”h"]”h$]”h&]”uh1h»hj‚ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”jŒline”Kuh1j€ubaŒ transformer”NŒ include_log”]”Œ4Documentation/translations/it_IT/process/1.Intro.rst”(NNNNt”†”aŒ decoration”Nh²hub.