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