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