162306a36Sopenharmony_ci.. include:: ../disclaimer-ita.rst 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci:Original: :ref:`Documentation/process/1.Intro.rst <development_process_intro>` 462306a36Sopenharmony_ci:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it> 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci.. _it_development_intro: 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciIntroduzione 962306a36Sopenharmony_ci============ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciRiepilogo generale 1262306a36Sopenharmony_ci------------------ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciIl resto di questa sezione riguarda il processo di sviluppo del kernel e 1562306a36Sopenharmony_ciquella sorta di frustrazione che gli sviluppatori e i loro datori di lavoro 1662306a36Sopenharmony_cipotrebbero dover affrontare. Ci sono molte ragioni per le quali del codice 1762306a36Sopenharmony_ciper il kernel debba essere incorporato nel kernel ufficiale, fra le quali: 1862306a36Sopenharmony_cidisponibilità immediata agli utilizzatori, supporto della comunità in 1962306a36Sopenharmony_cidifferenti modalità, e la capacità di influenzare la direzione dello sviluppo 2062306a36Sopenharmony_cidel kernel. 2162306a36Sopenharmony_ciIl codice che contribuisce al kernel Linux deve essere reso disponibile sotto 2262306a36Sopenharmony_ciuna licenza GPL-compatibile. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ciLa sezione :ref:`it_development_process` introduce il processo di sviluppo, 2562306a36Sopenharmony_ciil ciclo di rilascio del kernel, ed i meccanismi della finestra 2662306a36Sopenharmony_cid'incorporazione. Il capitolo copre le varie fasi di una modifica: sviluppo, 2762306a36Sopenharmony_cirevisione e ciclo d'incorporazione. Ci sono alcuni dibattiti su strumenti e 2862306a36Sopenharmony_ciliste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare 2962306a36Sopenharmony_ciqualcosa per il kernel sono invitati ad individuare e sistemare bachi come 3062306a36Sopenharmony_ciesercizio iniziale. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciLa sezione :ref:`it_development_early_stage` copre i primi stadi della 3362306a36Sopenharmony_cipianificazione di un progetto di sviluppo, con particolare enfasi sul 3462306a36Sopenharmony_cicoinvolgimento della comunità, il prima possibile. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciLa sezione :ref:`it_development_coding` riguarda il processo di scrittura 3762306a36Sopenharmony_cidel codice. Qui, sono esposte le diverse insidie che sono state già affrontate 3862306a36Sopenharmony_cida altri sviluppatori. Il capitolo copre anche alcuni dei requisiti per le 3962306a36Sopenharmony_cimodifiche, ed esiste un'introduzione ad alcuni strumenti che possono aiutarvi 4062306a36Sopenharmony_cinell'assicurarvi che le modifiche per il kernel siano corrette. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ciLa sezione :ref:`it_development_posting` parla del processo di pubblicazione 4362306a36Sopenharmony_cidelle modifiche per la revisione. Per essere prese in considerazione dalla 4462306a36Sopenharmony_cicomunità di sviluppo, le modifiche devono essere propriamente formattate ed 4562306a36Sopenharmony_ciesposte, e devono essere inviate nel posto giusto. Seguire i consigli presenti 4662306a36Sopenharmony_ciin questa sezione dovrebbe essere d'aiuto nell'assicurare la migliore 4762306a36Sopenharmony_ciaccoglienza possibile del vostro lavoro. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciLa sezione :ref:`it_development_followthrough` copre ciò che accade dopo 5062306a36Sopenharmony_cila pubblicazione delle modifiche; a questo punto il lavoro è lontano 5162306a36Sopenharmony_cidall'essere concluso. Lavorare con i revisori è una parte cruciale del 5262306a36Sopenharmony_ciprocesso di sviluppo; questa sezione offre una serie di consigli su come 5362306a36Sopenharmony_cievitare problemi in questa importante fase. Gli sviluppatori sono diffidenti 5462306a36Sopenharmony_cinell'affermare che il lavoro è concluso quando una modifica è incorporata nei 5562306a36Sopenharmony_cisorgenti principali. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciLa sezione :ref:`it_development_advancedtopics` introduce un paio di argomenti 5862306a36Sopenharmony_ci"avanzati": gestire le modifiche con git e controllare le modifiche pubblicate 5962306a36Sopenharmony_cida altri. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ciLa sezione :ref:`it_development_conclusion` chiude il documento con dei 6262306a36Sopenharmony_ciriferimenti ad altre fonti che forniscono ulteriori informazioni sullo sviluppo 6362306a36Sopenharmony_cidel kernel. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciDi cosa parla questo documento 6662306a36Sopenharmony_ci------------------------------ 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciIl kernel Linux, ha oltre 8 milioni di linee di codice e ben oltre 1000 6962306a36Sopenharmony_cicontributori ad ogni rilascio; è uno dei più vasti e più attivi software 7062306a36Sopenharmony_ciliberi progettati mai esistiti. Sin dal sul modesto inizio nel 1991, 7162306a36Sopenharmony_ciquesto kernel si è evoluto nel miglior componente per sistemi operativi 7262306a36Sopenharmony_ciche fanno funzionare piccoli riproduttori musicali, PC, grandi super computer 7362306a36Sopenharmony_cie tutte le altre tipologie di sistemi fra questi estremi. È una soluzione 7462306a36Sopenharmony_cirobusta, efficiente ed adattabile a praticamente qualsiasi situazione. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciCon la crescita di Linux è arrivato anche un aumento di sviluppatori 7762306a36Sopenharmony_ci(ed aziende) desiderosi di partecipare a questo sviluppo. I produttori di 7862306a36Sopenharmony_cihardware vogliono assicurarsi che il loro prodotti siano supportati da Linux, 7962306a36Sopenharmony_cirendendo questi prodotti attrattivi agli utenti Linux. I produttori di 8062306a36Sopenharmony_cisistemi integrati, che usano Linux come componente di un prodotto integrato, 8162306a36Sopenharmony_civogliono che Linux sia capace ed adeguato agli obiettivi ed il più possibile 8262306a36Sopenharmony_cialla mano. Fornitori ed altri produttori di software che basano i propri 8362306a36Sopenharmony_ciprodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed 8462306a36Sopenharmony_ciaffidabilità del kernel Linux. E gli utenti finali, anche, spesso vorrebbero 8562306a36Sopenharmony_cicambiare Linux per renderlo più aderente alle proprie necessità. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciUna delle caratteristiche più coinvolgenti di Linux è quella dell'accessibilità 8862306a36Sopenharmony_ciper gli sviluppatori; chiunque con le capacità richieste può migliorare 8962306a36Sopenharmony_ciLinux ed influenzarne la direzione di sviluppo. Prodotti non open-source non 9062306a36Sopenharmony_cipossono offrire questo tipo di apertura, che è una caratteristica del software 9162306a36Sopenharmony_cilibero. Ma, anzi, il kernel è persino più aperto rispetto a molti altri 9262306a36Sopenharmony_ciprogetti di software libero. Un classico ciclo di sviluppo trimestrale può 9362306a36Sopenharmony_cicoinvolgere 1000 sviluppatori che lavorano per più di 100 differenti aziende 9462306a36Sopenharmony_ci(o per nessuna azienda). 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciLavorare con la comunità di sviluppo del kernel non è particolarmente 9762306a36Sopenharmony_cidifficile. Ma, ciononostante, diversi potenziali contributori hanno trovato 9862306a36Sopenharmony_cidelle difficoltà quando hanno cercato di lavorare sul kernel. La comunità del 9962306a36Sopenharmony_cikernel utilizza un proprio modo di operare che gli permette di funzionare 10062306a36Sopenharmony_ciagevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia 10162306a36Sopenharmony_cidi stringhe di codice sono modificate ogni giorni. Quindi non deve sorprendere 10262306a36Sopenharmony_ciche il processo di sviluppo del kernel differisca notevolmente dai metodi di 10362306a36Sopenharmony_cisviluppo privati. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciIl processo di sviluppo del Kernel può, dall'altro lato, risultare 10662306a36Sopenharmony_ciintimidatorio e strano ai nuovi sviluppatori, ma ha dietro di se buone ragioni 10762306a36Sopenharmony_cie solide esperienze. Uno sviluppatore che non comprende i modi della comunità 10862306a36Sopenharmony_cidel kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un'esperienza 10962306a36Sopenharmony_cideludente nel proprio bagaglio. La comunità di sviluppo, sebbene sia utile 11062306a36Sopenharmony_cia coloro che cercano di imparare, ha poco tempo da dedicare a coloro che non 11162306a36Sopenharmony_ciascoltano o coloro che non sono interessati al processo di sviluppo. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciSi spera che coloro che leggono questo documento saranno in grado di evitare 11462306a36Sopenharmony_ciqueste esperienze spiacevoli. C'è molto materiale qui, ma lo sforzo della 11562306a36Sopenharmony_cilettura sarà ripagato in breve tempo. La comunità di sviluppo ha sempre 11662306a36Sopenharmony_cibisogno di sviluppatori che vogliano aiutare a rendere il kernel migliore; 11762306a36Sopenharmony_ciil testo seguente potrebbe esservi d'aiuto - o essere d'aiuto ai vostri 11862306a36Sopenharmony_cicollaboratori- per entrare a far parte della nostra comunità. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciCrediti 12162306a36Sopenharmony_ci------- 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ciQuesto documento è stato scritto da Jonathan Corbet, corbet@lwn.net. 12462306a36Sopenharmony_ciÈ stato migliorato da Johannes Berg, James Berry, Alex Chiang, Roland 12562306a36Sopenharmony_ciDreier, Randy Dunlap, Jake Edge, Jiri Kosina, Matt Mackall, Arthur Marsh, 12662306a36Sopenharmony_ciAmanda McPherson, Andrew Morton, Andrew Price, Tsugikazu Shibata e Jochen Voß. 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ciQuesto lavoro è stato supportato dalla Linux Foundation; un ringraziamento 12962306a36Sopenharmony_cispeciale ad Amanda McPherson, che ha visto il valore di questo lavoro e lo ha 13062306a36Sopenharmony_cireso possibile. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciL'importanza d'avere il codice nei sorgenti principali 13362306a36Sopenharmony_ci------------------------------------------------------ 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciAlcune aziende e sviluppatori ogni tanto si domandano perché dovrebbero 13662306a36Sopenharmony_cipreoccuparsi di apprendere come lavorare con la comunità del kernel e di 13762306a36Sopenharmony_ciinserire il loro codice nel ramo di sviluppo principale (per ramo principale 13862306a36Sopenharmony_cis'intende quello mantenuto da Linus Torvalds e usato come base dai 13962306a36Sopenharmony_cidistributori Linux). Nel breve termine, contribuire al codice può sembrare 14062306a36Sopenharmony_ciun costo inutile; può sembra più facile tenere separato il proprio codice e 14162306a36Sopenharmony_cisupportare direttamente i suoi utilizzatori. La verità è che il tenere il 14262306a36Sopenharmony_cicodice separato ("fuori dai sorgenti", *"out-of-tree"*) è un falso risparmio. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciPer dimostrare i costi di un codice "fuori dai sorgenti", eccovi 14562306a36Sopenharmony_cialcuni aspetti rilevanti del processo di sviluppo kernel; la maggior parte 14662306a36Sopenharmony_cidi essi saranno approfonditi dettagliatamente più avanti in questo documento. 14762306a36Sopenharmony_ciConsiderate: 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci- Il codice che è stato inserito nel ramo principale del kernel è disponibile 15062306a36Sopenharmony_ci a tutti gli utilizzatori Linux. Sarà automaticamente presente in tutte le 15162306a36Sopenharmony_ci distribuzioni che lo consentono. Non c'è bisogno di: driver per dischi, 15262306a36Sopenharmony_ci scaricare file, o della scocciatura del dover supportare diverse versioni di 15362306a36Sopenharmony_ci diverse distribuzioni; funziona già tutto, per gli sviluppatori e per gli 15462306a36Sopenharmony_ci utilizzatori. L'inserimento nel ramo principale risolve un gran numero di 15562306a36Sopenharmony_ci problemi di distribuzione e di supporto. 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci- Nonostante gli sviluppatori kernel si sforzino di tenere stabile 15862306a36Sopenharmony_ci l'interfaccia dello spazio utente, quella interna al kernel è in continuo 15962306a36Sopenharmony_ci cambiamento. La mancanza di un'interfaccia interna è deliberatamente una 16062306a36Sopenharmony_ci decisione di progettazione; ciò permette che i miglioramenti fondamentali 16162306a36Sopenharmony_ci vengano fatti in un qualsiasi momento e che risultino fatti con un codice di 16262306a36Sopenharmony_ci alta qualità. Ma una delle conseguenze di questa politica è che qualsiasi 16362306a36Sopenharmony_ci codice "fuori dai sorgenti" richiede costante manutenzione per renderlo 16462306a36Sopenharmony_ci funzionante coi kernel più recenti. Tenere un codice "fuori dai sorgenti" 16562306a36Sopenharmony_ci richiede una mole di lavoro significativa solo per farlo funzionare. 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci Invece, il codice che si trova nel ramo principale non necessita di questo 16862306a36Sopenharmony_ci tipo di lavoro poiché ad ogni sviluppatore che faccia una modifica alle 16962306a36Sopenharmony_ci interfacce viene richiesto di sistemare anche il codice che utilizza 17062306a36Sopenharmony_ci quell'interfaccia. Quindi, il codice che è stato inserito nel ramo principale 17162306a36Sopenharmony_ci ha dei costi di mantenimento significativamente più bassi. 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci- Oltre a ciò, spesso il codice che è all'interno del kernel sarà migliorato da 17462306a36Sopenharmony_ci altri sviluppatori. Dare pieni poteri alla vostra comunità di utenti e ai 17562306a36Sopenharmony_ci clienti può portare a sorprendenti risultati che migliorano i vostri 17662306a36Sopenharmony_ci prodotti. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci- Il codice kernel è soggetto a revisioni, sia prima che dopo l'inserimento 17962306a36Sopenharmony_ci nel ramo principale. Non importa quanto forti fossero le abilità dello 18062306a36Sopenharmony_ci sviluppatore originale, il processo di revisione troverà il modo di migliore 18162306a36Sopenharmony_ci il codice. Spesso la revisione trova bachi importanti e problemi di 18262306a36Sopenharmony_ci sicurezza. Questo è particolarmente vero per il codice che è stato 18362306a36Sopenharmony_ci sviluppato in un ambiente chiuso; tale codice ottiene un forte beneficio 18462306a36Sopenharmony_ci dalle revisioni provenienti da sviluppatori esteri. Il codice 18562306a36Sopenharmony_ci "fuori dai sorgenti", invece, è un codice di bassa qualità. 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci- La partecipazione al processo di sviluppo costituisce la vostra via per 18862306a36Sopenharmony_ci influenzare la direzione di sviluppo del kernel. Gli utilizzatori che 18962306a36Sopenharmony_ci "reclamano da bordo campo" sono ascoltati, ma gli sviluppatori attivi 19062306a36Sopenharmony_ci hanno una voce più forte - e la capacità di implementare modifiche che 19162306a36Sopenharmony_ci renderanno il kernel più funzionale alle loro necessità. 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci- Quando il codice è gestito separatamente, esiste sempre la possibilità che 19462306a36Sopenharmony_ci terze parti contribuiscano con una differente implementazione che fornisce 19562306a36Sopenharmony_ci le stesse funzionalità. Se dovesse accadere, l'inserimento del codice 19662306a36Sopenharmony_ci diventerà molto più difficile - fino all'impossibilità. Poi, dovrete far 19762306a36Sopenharmony_ci fronte a delle alternative poco piacevoli, come: (1) mantenere un elemento 19862306a36Sopenharmony_ci non standard "fuori dai sorgenti" per un tempo indefinito, o (2) abbandonare 19962306a36Sopenharmony_ci il codice e far migrare i vostri utenti alla versione "nei sorgenti". 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci- Contribuire al codice è l'azione fondamentale che fa funzionare tutto il 20262306a36Sopenharmony_ci processo. Contribuendo attraverso il vostro codice potete aggiungere nuove 20362306a36Sopenharmony_ci funzioni al kernel e fornire competenze ed esempi che saranno utili ad 20462306a36Sopenharmony_ci altri sviluppatori. Se avete sviluppato del codice Linux (o state pensando 20562306a36Sopenharmony_ci di farlo), avete chiaramente interesse nel far proseguire il successo di 20662306a36Sopenharmony_ci questa piattaforma. Contribuire al codice è une delle migliori vie per 20762306a36Sopenharmony_ci aiutarne il successo. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ciIl ragionamento sopra citato si applica ad ogni codice "fuori dai sorgenti" 21062306a36Sopenharmony_cidal kernel, incluso il codice proprietario distribuito solamente in formato 21162306a36Sopenharmony_cibinario. Ci sono, comunque, dei fattori aggiuntivi che dovrebbero essere 21262306a36Sopenharmony_citenuti in conto prima di prendere in considerazione qualsiasi tipo di 21362306a36Sopenharmony_cidistribuzione binaria di codice kernel. Questo include che: 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci- Le questioni legali legate alla distribuzione di moduli kernel proprietari 21662306a36Sopenharmony_ci sono molto nebbiose; parecchi detentori di copyright sul kernel credono che 21762306a36Sopenharmony_ci molti moduli binari siano prodotti derivati del kernel e che, come risultato, 21862306a36Sopenharmony_ci la loro diffusione sia una violazione della licenza generale di GNU (della 21962306a36Sopenharmony_ci quale si parlerà più avanti). L'autore qui non è un avvocato, e 22062306a36Sopenharmony_ci niente in questo documento può essere considerato come un consiglio legale. 22162306a36Sopenharmony_ci Il vero stato legale dei moduli proprietari può essere determinato 22262306a36Sopenharmony_ci esclusivamente da un giudice. Ma l'incertezza che perseguita quei moduli 22362306a36Sopenharmony_ci è lì comunque. 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci- I moduli binari aumentano di molto la difficoltà di fare debugging del 22662306a36Sopenharmony_ci kernel, al punto che la maggior parte degli sviluppatori del kernel non 22762306a36Sopenharmony_ci vorranno nemmeno tentare. Quindi la diffusione di moduli esclusivamente 22862306a36Sopenharmony_ci binari renderà difficile ai vostri utilizzatori trovare un supporto dalla 22962306a36Sopenharmony_ci comunità. 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci- Il supporto è anche difficile per i distributori di moduli binari che devono 23262306a36Sopenharmony_ci fornire una versione del modulo per ogni distribuzione e per ogni versione 23362306a36Sopenharmony_ci del kernel che vogliono supportate. Per fornire una copertura ragionevole e 23462306a36Sopenharmony_ci comprensiva, può essere richiesto di produrre dozzine di singoli moduli. 23562306a36Sopenharmony_ci E inoltre i vostri utilizzatori dovranno aggiornare il vostro modulo 23662306a36Sopenharmony_ci separatamente ogni volta che aggiornano il loro kernel. 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci- Tutto ciò che è stato detto prima riguardo alla revisione del codice si 23962306a36Sopenharmony_ci applica doppiamente al codice proprietario. Dato che questo codice non è 24062306a36Sopenharmony_ci del tutto disponibile, non può essere revisionato dalla comunità e avrà, 24162306a36Sopenharmony_ci senza dubbio, seri problemi. 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ciI produttori di sistemi integrati, in particolare, potrebbero esser tentati 24462306a36Sopenharmony_cidall'evitare molto di ciò che è stato detto in questa sezione, credendo che 24562306a36Sopenharmony_cistiano distribuendo un prodotto finito che utilizza una versione del kernel 24662306a36Sopenharmony_ciimmutabile e che non richiede un ulteriore sviluppo dopo il rilascio. Questa 24762306a36Sopenharmony_ciidea non comprende il valore di una vasta revisione del codice e il valore 24862306a36Sopenharmony_cidel permettere ai propri utenti di aggiungere funzionalità al vostro prodotto. 24962306a36Sopenharmony_ciMa anche questi prodotti, hanno una vita commerciale limitata, dopo la quale 25062306a36Sopenharmony_cideve essere rilasciata una nuova versione. A quel punto, i produttori il cui 25162306a36Sopenharmony_cicodice è nel ramo principale di sviluppo avranno un codice ben mantenuto e 25262306a36Sopenharmony_cisaranno in una posizione migliore per ottenere velocemente un nuovo prodotto 25362306a36Sopenharmony_cipronto per essere distribuito. 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciLicenza 25762306a36Sopenharmony_ci------- 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ciIL codice Linux utilizza diverse licenze, ma il codice completo deve essere 26062306a36Sopenharmony_cicompatibile con la seconda versione della licenza GNU General Public License 26162306a36Sopenharmony_ci(GPLv2), che è la licenza che copre la distribuzione del kernel. 26262306a36Sopenharmony_ciNella pratica, ciò significa che tutti i contributi al codice sono coperti 26362306a36Sopenharmony_cianche'essi dalla GPLv2 (con, opzionalmente, una dicitura che permette la 26462306a36Sopenharmony_cipossibilità di distribuirlo con licenze più recenti di GPL) o dalla licenza 26562306a36Sopenharmony_cithree-clause BSD. Qualsiasi contributo che non è coperto da una licenza 26662306a36Sopenharmony_cicompatibile non verrà accettata nel kernel. 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciPer il codice sottomesso al kernel non è necessario (o richiesto) la 26962306a36Sopenharmony_ciconcessione del Copyright. Tutto il codice inserito nel ramo principale del 27062306a36Sopenharmony_cikernel conserva la sua proprietà originale; ne risulta che ora il kernel abbia 27162306a36Sopenharmony_cimigliaia di proprietari. 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ciUna conseguenza di questa organizzazione della proprietà è che qualsiasi 27462306a36Sopenharmony_citentativo di modifica della licenza del kernel è destinata ad un quasi sicuro 27562306a36Sopenharmony_cifallimento. Esistono alcuni scenari pratici nei quali il consenso di tutti 27662306a36Sopenharmony_cii detentori di copyright può essere ottenuto (o il loro codice verrà rimosso 27762306a36Sopenharmony_cidal kernel). Quindi, in sostanza, non esiste la possibilità che si giunga ad 27862306a36Sopenharmony_ciuna versione 3 della licenza GPL nel prossimo futuro. 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ciÈ imperativo che tutto il codice che contribuisce al kernel sia legittimamente 28162306a36Sopenharmony_cisoftware libero. Per questa ragione, un codice proveniente da un contributore 28262306a36Sopenharmony_cianonimo (o sotto pseudonimo) non verrà accettato. È richiesto a tutti i 28362306a36Sopenharmony_cicontributori di firmare il proprio codice, attestando così che quest'ultimo 28462306a36Sopenharmony_cipuò essere distribuito insieme al kernel sotto la licenza GPL. Il codice che 28562306a36Sopenharmony_cinon è stato licenziato come software libero dal proprio creatore, o che 28662306a36Sopenharmony_cipotrebbe creare problemi di copyright per il kernel (come il codice derivante 28762306a36Sopenharmony_cida processi di ingegneria inversa senza le opportune tutele), non può essere 28862306a36Sopenharmony_cidiffuso. 28962306a36Sopenharmony_ci 29062306a36Sopenharmony_ciDomande relative a questioni legate al copyright sono frequenti nelle liste 29162306a36Sopenharmony_cidi discussione dedicate allo sviluppo di Linux. Tali quesiti, normalmente, 29262306a36Sopenharmony_cinon riceveranno alcuna risposta, ma una cosa deve essere tenuta presente: 29362306a36Sopenharmony_cile persone che risponderanno a quelle domande non sono avvocati e non possono 29462306a36Sopenharmony_cifornire supporti legali. Se avete questioni legali relative ai sorgenti 29562306a36Sopenharmony_cidel codice Linux, non esiste alternativa che quella di parlare con un 29662306a36Sopenharmony_ciavvocato esperto nel settore. Fare affidamento sulle risposte ottenute da 29762306a36Sopenharmony_ciuna lista di discussione tecnica è rischioso. 298