Nulla da aggiungere alle spiegazioni nelle risposte già fornite, ma qui ci sono le istruzioni su come modellare le intestazioni dei file di origine ( sorgente ):
2.2 Aggiunta di modifiche GPL ai file con licenza permissiva
Un caso più complicato si verifica quando uno sviluppatore apporta modifiche al copyright in un file con licenza permissiva che lo sviluppatore sta incorporando in un programma GPL. Gli sviluppatori in questa situazione applicano in genere la GPL alle loro modifiche. (Tuttavia, è possibile che lo sviluppatore fornisca invece un nuovo codice in termini permissivi, come la licenza permissiva che regola il file non modificato. Discuteremo tale caso in § 2.3.)
Anche se la licenza permissiva del progetto esterno concede l'autorizzazione legale per incorporare il codice di quel progetto in un progetto GPL, lo sviluppatore del progetto GPL deve comunque rispettare i requisiti di conservazione degli avvisi nella licenza permissiva. In un progetto che utilizza il metodo file per file, uno sviluppatore che apporta modifiche al copyright su un file con licenza permissiva dovrebbe inserire una nuova nota sul copyright e una notifica di autorizzazione sopra quella esistente e dovrebbe chiarire che lo sviluppatore ha modificato il file. La parte superiore del file verrà quindi visualizzata come segue:
/*
* Copyright (c) 2007 GPL Project Developer Who Made Changes
*
* This file is free software: you may copy, redistribute and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 2 of the License, or (at your
* option) any later version.
*
* This file is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* This file incorporates work covered by the following copyright and
* permission notice:
*
* Copyright (c) YEARS_LIST, Permissive Contributor1
* Copyright (c) YEARS_LIST, Permissive Contributor2
*
* Permission to use, copy, modify, and/or distribute this software
* for any purpose with or without fee is hereby granted, provided
* that the above copyright notice and this permission notice appear
* in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
* NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
È molto importante che lo sviluppatore conservi l'intera nota sul copyright, l'avviso di autorizzazione e il disclaimer della garanzia così come appaiono nel codice originale, come richiesto dalla licenza permissiva. A volte vediamo avvisi GPL mescolati con avvisi di licenza permissivi, una pratica confusa che oscura sia la provenienza del codice sia le autorizzazioni precise concesse dai vari detentori del copyright elencati negli avvisi. Quando diversi detentori del copyright hanno rilasciato i loro contributi in termini diversi, devono essere specificati i termini che ciascuno ha posto sul proprio contributo specifico. Raccomandiamo di fare una chiara separazione e usare il rientro, come nell'esempio sopra.
Questo modo di organizzare gli avvisi nel file rende conveniente per gli sviluppatori scegliere se contribuire in termini permissivi o in base alla GPL. Se desiderano rendere disponibili i loro contributi in base a termini permissivi, possono aggiungere le loro note sul copyright al gruppo inferiore. Se desiderano contribuire ai sensi della GPL, possono aggiungere le loro note sul copyright in alto. Si noti, tuttavia, che in un singolo file sorgente è in genere molto difficile, e spesso completamente impossibile, determinare quali parti di tale file sono coperte da termini permissivi. Se l'obiettivo è rendere disponibile il codice aggiuntivo solo in termini permissivi, si dovrebbe usare il metodo descritto nel § 2.3.