1edba5eecSFederico Vaga.. include:: ../disclaimer-ita.rst 2edba5eecSFederico Vaga 3edba5eecSFederico Vaga:Original: :ref:`Documentation/process/1.Intro.rst <development_process_intro>` 4edba5eecSFederico Vaga:Translator: Alessia Mantegazza <amantegazza@vaga.pv.it> 5edba5eecSFederico Vaga 6edba5eecSFederico Vaga.. _it_development_intro: 7edba5eecSFederico Vaga 8edba5eecSFederico VagaIntroduzione 9edba5eecSFederico Vaga============ 10edba5eecSFederico Vaga 11edba5eecSFederico VagaRiepilogo generale 12edba5eecSFederico Vaga------------------ 13edba5eecSFederico Vaga 14*a4a2bf0eSFederico VagaIl resto di questa sezione riguarda il processo di sviluppo del kernel e 15*a4a2bf0eSFederico Vagaquella sorta di frustrazione che gli sviluppatori e i loro datori di lavoro 16*a4a2bf0eSFederico Vagapotrebbero dover affrontare. Ci sono molte ragioni per le quali del codice 17*a4a2bf0eSFederico Vagaper il kernel debba essere incorporato nel kernel ufficiale, fra le quali: 18edba5eecSFederico Vagadisponibilità immediata agli utilizzatori, supporto della comunità in 19edba5eecSFederico Vagadifferenti modalità, e la capacità di influenzare la direzione dello sviluppo 20*a4a2bf0eSFederico Vagadel kernel. 21edba5eecSFederico VagaIl codice che contribuisce al kernel Linux deve essere reso disponibile sotto 22edba5eecSFederico Vagauna licenza GPL-compatibile. 23edba5eecSFederico Vaga 24edba5eecSFederico VagaLa sezione :ref:`it_development_process` introduce il processo di sviluppo, 25edba5eecSFederico Vagail ciclo di rilascio del kernel, ed i meccanismi della finestra 26edba5eecSFederico Vagad'incorporazione. Il capitolo copre le varie fasi di una modifica: sviluppo, 27edba5eecSFederico Vagarevisione e ciclo d'incorporazione. Ci sono alcuni dibattiti su strumenti e 28edba5eecSFederico Vagaliste di discussione. Gli sviluppatori che sono in attesa di poter sviluppare 29edba5eecSFederico Vagaqualcosa per il kernel sono invitati ad individuare e sistemare bachi come 30edba5eecSFederico Vagaesercizio iniziale. 31edba5eecSFederico Vaga 32edba5eecSFederico VagaLa sezione :ref:`it_development_early_stage` copre i primi stadi della 33edba5eecSFederico Vagapianificazione di un progetto di sviluppo, con particolare enfasi sul 34edba5eecSFederico Vagacoinvolgimento della comunità, il prima possibile. 35edba5eecSFederico Vaga 36edba5eecSFederico VagaLa sezione :ref:`it_development_coding` riguarda il processo di scrittura 37edba5eecSFederico Vagadel codice. Qui, sono esposte le diverse insidie che sono state già affrontate 38edba5eecSFederico Vagada altri sviluppatori. Il capitolo copre anche alcuni dei requisiti per le 39edba5eecSFederico Vagamodifiche, ed esiste un'introduzione ad alcuni strumenti che possono aiutarvi 40edba5eecSFederico Vaganell'assicurarvi che le modifiche per il kernel siano corrette. 41edba5eecSFederico Vaga 42edba5eecSFederico VagaLa sezione :ref:`it_development_posting` parla del processo di pubblicazione 43edba5eecSFederico Vagadelle modifiche per la revisione. Per essere prese in considerazione dalla 44edba5eecSFederico Vagacomunità di sviluppo, le modifiche devono essere propriamente formattate ed 45edba5eecSFederico Vagaesposte, e devono essere inviate nel posto giusto. Seguire i consigli presenti 46edba5eecSFederico Vagain questa sezione dovrebbe essere d'aiuto nell'assicurare la migliore 47edba5eecSFederico Vagaaccoglienza possibile del vostro lavoro. 48edba5eecSFederico Vaga 49edba5eecSFederico VagaLa sezione :ref:`it_development_followthrough` copre ciò che accade dopo 50edba5eecSFederico Vagala pubblicazione delle modifiche; a questo punto il lavoro è lontano 51edba5eecSFederico Vagadall'essere concluso. Lavorare con i revisori è una parte cruciale del 52edba5eecSFederico Vagaprocesso di sviluppo; questa sezione offre una serie di consigli su come 53edba5eecSFederico Vagaevitare problemi in questa importante fase. Gli sviluppatori sono diffidenti 54edba5eecSFederico Vaganell'affermare che il lavoro è concluso quando una modifica è incorporata nei 55edba5eecSFederico Vagasorgenti principali. 56edba5eecSFederico Vaga 57*a4a2bf0eSFederico VagaLa sezione :ref:`it_development_advancedtopics` introduce un paio di argomenti 58*a4a2bf0eSFederico Vaga"avanzati": gestire le modifiche con git e controllare le modifiche pubblicate 59*a4a2bf0eSFederico Vagada altri. 60edba5eecSFederico Vaga 61edba5eecSFederico VagaLa sezione :ref:`it_development_conclusion` chiude il documento con dei 62edba5eecSFederico Vagariferimenti ad altre fonti che forniscono ulteriori informazioni sullo sviluppo 63edba5eecSFederico Vagadel kernel. 64edba5eecSFederico Vaga 65edba5eecSFederico VagaDi cosa parla questo documento 66edba5eecSFederico Vaga------------------------------ 67edba5eecSFederico Vaga 68edba5eecSFederico VagaIl kernel Linux, ha oltre 8 milioni di linee di codice e ben oltre 1000 69edba5eecSFederico Vagacontributori ad ogni rilascio; è uno dei più vasti e più attivi software 70edba5eecSFederico Vagaliberi progettati mai esistiti. Sin dal sul modesto inizio nel 1991, 71edba5eecSFederico Vagaquesto kernel si è evoluto nel miglior componente per sistemi operativi 72edba5eecSFederico Vagache fanno funzionare piccoli riproduttori musicali, PC, grandi super computer 73edba5eecSFederico Vagae tutte le altre tipologie di sistemi fra questi estremi. È una soluzione 74edba5eecSFederico Vagarobusta, efficiente ed adattabile a praticamente qualsiasi situazione. 75edba5eecSFederico Vaga 76edba5eecSFederico VagaCon la crescita di Linux è arrivato anche un aumento di sviluppatori 77edba5eecSFederico Vaga(ed aziende) desiderosi di partecipare a questo sviluppo. I produttori di 78edba5eecSFederico Vagahardware vogliono assicurarsi che il loro prodotti siano supportati da Linux, 79edba5eecSFederico Vagarendendo questi prodotti attrattivi agli utenti Linux. I produttori di 80edba5eecSFederico Vagasistemi integrati, che usano Linux come componente di un prodotto integrato, 81edba5eecSFederico Vagavogliono che Linux sia capace ed adeguato agli obiettivi ed il più possibile 82edba5eecSFederico Vagaalla mano. Fornitori ed altri produttori di software che basano i propri 83*a4a2bf0eSFederico Vagaprodotti su Linux hanno un chiaro interesse verso capacità, prestazioni ed 84edba5eecSFederico Vagaaffidabilità del kernel Linux. E gli utenti finali, anche, spesso vorrebbero 85edba5eecSFederico Vagacambiare Linux per renderlo più aderente alle proprie necessità. 86edba5eecSFederico Vaga 87edba5eecSFederico VagaUna delle caratteristiche più coinvolgenti di Linux è quella dell'accessibilità 88edba5eecSFederico Vagaper gli sviluppatori; chiunque con le capacità richieste può migliorare 89edba5eecSFederico VagaLinux ed influenzarne la direzione di sviluppo. Prodotti non open-source non 90*a4a2bf0eSFederico Vagapossono offrire questo tipo di apertura, che è una caratteristica del software 91edba5eecSFederico Vagalibero. Ma, anzi, il kernel è persino più aperto rispetto a molti altri 92edba5eecSFederico Vagaprogetti di software libero. Un classico ciclo di sviluppo trimestrale può 93edba5eecSFederico Vagacoinvolgere 1000 sviluppatori che lavorano per più di 100 differenti aziende 94edba5eecSFederico Vaga(o per nessuna azienda). 95edba5eecSFederico Vaga 96edba5eecSFederico VagaLavorare con la comunità di sviluppo del kernel non è particolarmente 97edba5eecSFederico Vagadifficile. Ma, ciononostante, diversi potenziali contributori hanno trovato 98edba5eecSFederico Vagadelle difficoltà quando hanno cercato di lavorare sul kernel. La comunità del 99edba5eecSFederico Vagakernel utilizza un proprio modo di operare che gli permette di funzionare 100edba5eecSFederico Vagaagevolmente (e genera un prodotto di alta qualità) in un ambiente dove migliaia 101edba5eecSFederico Vagadi stringhe di codice sono modificate ogni giorni. Quindi non deve sorprendere 102edba5eecSFederico Vagache il processo di sviluppo del kernel differisca notevolmente dai metodi di 103edba5eecSFederico Vagasviluppo privati. 104edba5eecSFederico Vaga 105edba5eecSFederico VagaIl processo di sviluppo del Kernel può, dall'altro lato, risultare 106edba5eecSFederico Vagaintimidatorio e strano ai nuovi sviluppatori, ma ha dietro di se buone ragioni 107*a4a2bf0eSFederico Vagae solide esperienze. Uno sviluppatore che non comprende i modi della comunità 108edba5eecSFederico Vagadel kernel (o, peggio, che cerchi di aggirarli o violarli) avrà un'esperienza 109*a4a2bf0eSFederico Vagadeludente nel proprio bagaglio. La comunità di sviluppo, sebbene sia utile 110edba5eecSFederico Vagaa coloro che cercano di imparare, ha poco tempo da dedicare a coloro che non 111edba5eecSFederico Vagaascoltano o coloro che non sono interessati al processo di sviluppo. 112edba5eecSFederico Vaga 113edba5eecSFederico VagaSi spera che coloro che leggono questo documento saranno in grado di evitare 114edba5eecSFederico Vagaqueste esperienze spiacevoli. C'è molto materiale qui, ma lo sforzo della 115edba5eecSFederico Vagalettura sarà ripagato in breve tempo. La comunità di sviluppo ha sempre 116edba5eecSFederico Vagabisogno di sviluppatori che vogliano aiutare a rendere il kernel migliore; 117edba5eecSFederico Vagail testo seguente potrebbe esservi d'aiuto - o essere d'aiuto ai vostri 118edba5eecSFederico Vagacollaboratori- per entrare a far parte della nostra comunità. 119edba5eecSFederico Vaga 120edba5eecSFederico VagaCrediti 121edba5eecSFederico Vaga------- 122edba5eecSFederico Vaga 123edba5eecSFederico VagaQuesto documento è stato scritto da Jonathan Corbet, corbet@lwn.net. 124edba5eecSFederico VagaÈ stato migliorato da Johannes Berg, James Berry, Alex Chiang, Roland 125edba5eecSFederico VagaDreier, Randy Dunlap, Jake Edge, Jiri Kosina, Matt Mackall, Arthur Marsh, 126edba5eecSFederico VagaAmanda McPherson, Andrew Morton, Andrew Price, Tsugikazu Shibata e Jochen Voß. 127edba5eecSFederico Vaga 128edba5eecSFederico VagaQuesto lavoro è stato supportato dalla Linux Foundation; un ringraziamento 129edba5eecSFederico Vagaspeciale ad Amanda McPherson, che ha visto il valore di questo lavoro e lo ha 130edba5eecSFederico Vagareso possibile. 131edba5eecSFederico Vaga 132edba5eecSFederico VagaL'importanza d'avere il codice nei sorgenti principali 133edba5eecSFederico Vaga------------------------------------------------------ 134edba5eecSFederico Vaga 135*a4a2bf0eSFederico VagaAlcune aziende e sviluppatori ogni tanto si domandano perché dovrebbero 136edba5eecSFederico Vagapreoccuparsi di apprendere come lavorare con la comunità del kernel e di 137edba5eecSFederico Vagainserire il loro codice nel ramo di sviluppo principale (per ramo principale 138edba5eecSFederico Vagas'intende quello mantenuto da Linus Torvalds e usato come base dai 139edba5eecSFederico Vagadistributori Linux). Nel breve termine, contribuire al codice può sembrare 140edba5eecSFederico Vagaun costo inutile; può sembra più facile tenere separato il proprio codice e 141edba5eecSFederico Vagasupportare direttamente i suoi utilizzatori. La verità è che il tenere il 142edba5eecSFederico Vagacodice separato ("fuori dai sorgenti", *"out-of-tree"*) è un falso risparmio. 143edba5eecSFederico Vaga 144edba5eecSFederico VagaPer dimostrare i costi di un codice "fuori dai sorgenti", eccovi 145edba5eecSFederico Vagaalcuni aspetti rilevanti del processo di sviluppo kernel; la maggior parte 146edba5eecSFederico Vagadi essi saranno approfonditi dettagliatamente più avanti in questo documento. 147*a4a2bf0eSFederico VagaConsiderate: 148edba5eecSFederico Vaga 149edba5eecSFederico Vaga- Il codice che è stato inserito nel ramo principale del kernel è disponibile 150edba5eecSFederico Vaga a tutti gli utilizzatori Linux. Sarà automaticamente presente in tutte le 151edba5eecSFederico Vaga distribuzioni che lo consentono. Non c'è bisogno di: driver per dischi, 152*a4a2bf0eSFederico Vaga scaricare file, o della scocciatura del dover supportare diverse versioni di 153edba5eecSFederico Vaga diverse distribuzioni; funziona già tutto, per gli sviluppatori e per gli 154edba5eecSFederico Vaga utilizzatori. L'inserimento nel ramo principale risolve un gran numero di 155edba5eecSFederico Vaga problemi di distribuzione e di supporto. 156edba5eecSFederico Vaga 157edba5eecSFederico Vaga- Nonostante gli sviluppatori kernel si sforzino di tenere stabile 158edba5eecSFederico Vaga l'interfaccia dello spazio utente, quella interna al kernel è in continuo 159edba5eecSFederico Vaga cambiamento. La mancanza di un'interfaccia interna è deliberatamente una 160edba5eecSFederico Vaga decisione di progettazione; ciò permette che i miglioramenti fondamentali 161edba5eecSFederico Vaga vengano fatti in un qualsiasi momento e che risultino fatti con un codice di 162edba5eecSFederico Vaga alta qualità. Ma una delle conseguenze di questa politica è che qualsiasi 163edba5eecSFederico Vaga codice "fuori dai sorgenti" richiede costante manutenzione per renderlo 164edba5eecSFederico Vaga funzionante coi kernel più recenti. Tenere un codice "fuori dai sorgenti" 165edba5eecSFederico Vaga richiede una mole di lavoro significativa solo per farlo funzionare. 166edba5eecSFederico Vaga 167edba5eecSFederico Vaga Invece, il codice che si trova nel ramo principale non necessita di questo 168edba5eecSFederico Vaga tipo di lavoro poiché ad ogni sviluppatore che faccia una modifica alle 169*a4a2bf0eSFederico Vaga interfacce viene richiesto di sistemare anche il codice che utilizza 170*a4a2bf0eSFederico Vaga quell'interfaccia. Quindi, il codice che è stato inserito nel ramo principale 171*a4a2bf0eSFederico Vaga ha dei costi di mantenimento significativamente più bassi. 172edba5eecSFederico Vaga 173edba5eecSFederico Vaga- Oltre a ciò, spesso il codice che è all'interno del kernel sarà migliorato da 174edba5eecSFederico Vaga altri sviluppatori. Dare pieni poteri alla vostra comunità di utenti e ai 175edba5eecSFederico Vaga clienti può portare a sorprendenti risultati che migliorano i vostri 176edba5eecSFederico Vaga prodotti. 177edba5eecSFederico Vaga 178edba5eecSFederico Vaga- Il codice kernel è soggetto a revisioni, sia prima che dopo l'inserimento 179edba5eecSFederico Vaga nel ramo principale. Non importa quanto forti fossero le abilità dello 180*a4a2bf0eSFederico Vaga sviluppatore originale, il processo di revisione troverà il modo di migliore 181edba5eecSFederico Vaga il codice. Spesso la revisione trova bachi importanti e problemi di 182edba5eecSFederico Vaga sicurezza. Questo è particolarmente vero per il codice che è stato 183*a4a2bf0eSFederico Vaga sviluppato in un ambiente chiuso; tale codice ottiene un forte beneficio 184edba5eecSFederico Vaga dalle revisioni provenienti da sviluppatori esteri. Il codice 185edba5eecSFederico Vaga "fuori dai sorgenti", invece, è un codice di bassa qualità. 186edba5eecSFederico Vaga 187edba5eecSFederico Vaga- La partecipazione al processo di sviluppo costituisce la vostra via per 188edba5eecSFederico Vaga influenzare la direzione di sviluppo del kernel. Gli utilizzatori che 189edba5eecSFederico Vaga "reclamano da bordo campo" sono ascoltati, ma gli sviluppatori attivi 190edba5eecSFederico Vaga hanno una voce più forte - e la capacità di implementare modifiche che 191edba5eecSFederico Vaga renderanno il kernel più funzionale alle loro necessità. 192edba5eecSFederico Vaga 193edba5eecSFederico Vaga- Quando il codice è gestito separatamente, esiste sempre la possibilità che 194edba5eecSFederico Vaga terze parti contribuiscano con una differente implementazione che fornisce 195edba5eecSFederico Vaga le stesse funzionalità. Se dovesse accadere, l'inserimento del codice 196edba5eecSFederico Vaga diventerà molto più difficile - fino all'impossibilità. Poi, dovrete far 197edba5eecSFederico Vaga fronte a delle alternative poco piacevoli, come: (1) mantenere un elemento 198edba5eecSFederico Vaga non standard "fuori dai sorgenti" per un tempo indefinito, o (2) abbandonare 199edba5eecSFederico Vaga il codice e far migrare i vostri utenti alla versione "nei sorgenti". 200edba5eecSFederico Vaga 201*a4a2bf0eSFederico Vaga- Contribuire al codice è l'azione fondamentale che fa funzionare tutto il 202edba5eecSFederico Vaga processo. Contribuendo attraverso il vostro codice potete aggiungere nuove 203edba5eecSFederico Vaga funzioni al kernel e fornire competenze ed esempi che saranno utili ad 204edba5eecSFederico Vaga altri sviluppatori. Se avete sviluppato del codice Linux (o state pensando 205edba5eecSFederico Vaga di farlo), avete chiaramente interesse nel far proseguire il successo di 206edba5eecSFederico Vaga questa piattaforma. Contribuire al codice è une delle migliori vie per 207edba5eecSFederico Vaga aiutarne il successo. 208edba5eecSFederico Vaga 209edba5eecSFederico VagaIl ragionamento sopra citato si applica ad ogni codice "fuori dai sorgenti" 210edba5eecSFederico Vagadal kernel, incluso il codice proprietario distribuito solamente in formato 211edba5eecSFederico Vagabinario. Ci sono, comunque, dei fattori aggiuntivi che dovrebbero essere 212edba5eecSFederico Vagatenuti in conto prima di prendere in considerazione qualsiasi tipo di 213edba5eecSFederico Vagadistribuzione binaria di codice kernel. Questo include che: 214edba5eecSFederico Vaga 215edba5eecSFederico Vaga- Le questioni legali legate alla distribuzione di moduli kernel proprietari 216edba5eecSFederico Vaga sono molto nebbiose; parecchi detentori di copyright sul kernel credono che 217edba5eecSFederico Vaga molti moduli binari siano prodotti derivati del kernel e che, come risultato, 218edba5eecSFederico Vaga la loro diffusione sia una violazione della licenza generale di GNU (della 219*a4a2bf0eSFederico Vaga quale si parlerà più avanti). L'autore qui non è un avvocato, e 220edba5eecSFederico Vaga niente in questo documento può essere considerato come un consiglio legale. 221edba5eecSFederico Vaga Il vero stato legale dei moduli proprietari può essere determinato 222edba5eecSFederico Vaga esclusivamente da un giudice. Ma l'incertezza che perseguita quei moduli 223edba5eecSFederico Vaga è lì comunque. 224edba5eecSFederico Vaga 225edba5eecSFederico Vaga- I moduli binari aumentano di molto la difficoltà di fare debugging del 226edba5eecSFederico Vaga kernel, al punto che la maggior parte degli sviluppatori del kernel non 227edba5eecSFederico Vaga vorranno nemmeno tentare. Quindi la diffusione di moduli esclusivamente 228edba5eecSFederico Vaga binari renderà difficile ai vostri utilizzatori trovare un supporto dalla 229edba5eecSFederico Vaga comunità. 230edba5eecSFederico Vaga 231edba5eecSFederico Vaga- Il supporto è anche difficile per i distributori di moduli binari che devono 232edba5eecSFederico Vaga fornire una versione del modulo per ogni distribuzione e per ogni versione 233edba5eecSFederico Vaga del kernel che vogliono supportate. Per fornire una copertura ragionevole e 234edba5eecSFederico Vaga comprensiva, può essere richiesto di produrre dozzine di singoli moduli. 235edba5eecSFederico Vaga E inoltre i vostri utilizzatori dovranno aggiornare il vostro modulo 236edba5eecSFederico Vaga separatamente ogni volta che aggiornano il loro kernel. 237edba5eecSFederico Vaga 238edba5eecSFederico Vaga- Tutto ciò che è stato detto prima riguardo alla revisione del codice si 239*a4a2bf0eSFederico Vaga applica doppiamente al codice proprietario. Dato che questo codice non è 240edba5eecSFederico Vaga del tutto disponibile, non può essere revisionato dalla comunità e avrà, 241edba5eecSFederico Vaga senza dubbio, seri problemi. 242edba5eecSFederico Vaga 243edba5eecSFederico VagaI produttori di sistemi integrati, in particolare, potrebbero esser tentati 244edba5eecSFederico Vagadall'evitare molto di ciò che è stato detto in questa sezione, credendo che 245edba5eecSFederico Vagastiano distribuendo un prodotto finito che utilizza una versione del kernel 246edba5eecSFederico Vagaimmutabile e che non richiede un ulteriore sviluppo dopo il rilascio. Questa 247edba5eecSFederico Vagaidea non comprende il valore di una vasta revisione del codice e il valore 248edba5eecSFederico Vagadel permettere ai propri utenti di aggiungere funzionalità al vostro prodotto. 249edba5eecSFederico VagaMa anche questi prodotti, hanno una vita commerciale limitata, dopo la quale 250edba5eecSFederico Vagadeve essere rilasciata una nuova versione. A quel punto, i produttori il cui 251edba5eecSFederico Vagacodice è nel ramo principale di sviluppo avranno un codice ben mantenuto e 252edba5eecSFederico Vagasaranno in una posizione migliore per ottenere velocemente un nuovo prodotto 253edba5eecSFederico Vagapronto per essere distribuito. 254edba5eecSFederico Vaga 255edba5eecSFederico Vaga 256edba5eecSFederico VagaLicenza 257edba5eecSFederico Vaga------- 258edba5eecSFederico Vaga 259edba5eecSFederico VagaIL codice Linux utilizza diverse licenze, ma il codice completo deve essere 260edba5eecSFederico Vagacompatibile con la seconda versione della licenza GNU General Public License 261edba5eecSFederico Vaga(GPLv2), che è la licenza che copre la distribuzione del kernel. 262edba5eecSFederico VagaNella pratica, ciò significa che tutti i contributi al codice sono coperti 263edba5eecSFederico Vagaanche'essi dalla GPLv2 (con, opzionalmente, una dicitura che permette la 264edba5eecSFederico Vagapossibilità di distribuirlo con licenze più recenti di GPL) o dalla licenza 265edba5eecSFederico Vagathree-clause BSD. Qualsiasi contributo che non è coperto da una licenza 266edba5eecSFederico Vagacompatibile non verrà accettata nel kernel. 267edba5eecSFederico Vaga 268edba5eecSFederico VagaPer il codice sottomesso al kernel non è necessario (o richiesto) la 269edba5eecSFederico Vagaconcessione del Copyright. Tutto il codice inserito nel ramo principale del 270edba5eecSFederico Vagakernel conserva la sua proprietà originale; ne risulta che ora il kernel abbia 271edba5eecSFederico Vagamigliaia di proprietari. 272edba5eecSFederico Vaga 273edba5eecSFederico VagaUna conseguenza di questa organizzazione della proprietà è che qualsiasi 274*a4a2bf0eSFederico Vagatentativo di modifica della licenza del kernel è destinata ad un quasi sicuro 275edba5eecSFederico Vagafallimento. Esistono alcuni scenari pratici nei quali il consenso di tutti 276edba5eecSFederico Vagai detentori di copyright può essere ottenuto (o il loro codice verrà rimosso 277edba5eecSFederico Vagadal kernel). Quindi, in sostanza, non esiste la possibilità che si giunga ad 278edba5eecSFederico Vagauna versione 3 della licenza GPL nel prossimo futuro. 279edba5eecSFederico Vaga 280edba5eecSFederico VagaÈ imperativo che tutto il codice che contribuisce al kernel sia legittimamente 281edba5eecSFederico Vagasoftware libero. Per questa ragione, un codice proveniente da un contributore 282edba5eecSFederico Vagaanonimo (o sotto pseudonimo) non verrà accettato. È richiesto a tutti i 283edba5eecSFederico Vagacontributori di firmare il proprio codice, attestando così che quest'ultimo 284edba5eecSFederico Vagapuò essere distribuito insieme al kernel sotto la licenza GPL. Il codice che 285edba5eecSFederico Vaganon è stato licenziato come software libero dal proprio creatore, o che 286edba5eecSFederico Vagapotrebbe creare problemi di copyright per il kernel (come il codice derivante 287edba5eecSFederico Vagada processi di ingegneria inversa senza le opportune tutele), non può essere 288edba5eecSFederico Vagadiffuso. 289edba5eecSFederico Vaga 290edba5eecSFederico VagaDomande relative a questioni legate al copyright sono frequenti nelle liste 291edba5eecSFederico Vagadi discussione dedicate allo sviluppo di Linux. Tali quesiti, normalmente, 292edba5eecSFederico Vaganon riceveranno alcuna risposta, ma una cosa deve essere tenuta presente: 293edba5eecSFederico Vagale persone che risponderanno a quelle domande non sono avvocati e non possono 294edba5eecSFederico Vagafornire supporti legali. Se avete questioni legali relative ai sorgenti 295edba5eecSFederico Vagadel codice Linux, non esiste alternativa che quella di parlare con un 296edba5eecSFederico Vagaavvocato esperto nel settore. Fare affidamento sulle risposte ottenute da 297edba5eecSFederico Vagauna lista di discussione tecnica è rischioso. 298