No hay nada que agregar a las explicaciones en las respuestas ya dadas, pero aquí hay instrucciones sobre cómo configurar los encabezados de los archivos de origen ( source ):
2.2 Agregar modificaciones de GPL a los archivos con licencia permisiva
Un caso más complicado ocurre cuando un desarrollador realiza cambios con derechos de autor en un archivo con licencia permisiva que el desarrollador está incorporando en un programa de GPL. Los desarrolladores en esta situación suelen aplicar la GPL a sus modificaciones. (Sin embargo, es posible que el desarrollador aporte un nuevo código bajo términos permisivos, como la licencia permisiva que rige el archivo no modificado. Discutimos ese caso en el § 2.3.)
A pesar de que la licencia permisiva del proyecto externo otorga permiso legal para incorporar el código de ese proyecto en un proyecto de GPL, el desarrollador del proyecto de GPL debería cumplir con el requisito de preservación de la notificación en la licencia permisiva. En un proyecto que utiliza el método de archivo por archivo, un desarrollador que realiza modificaciones de derechos de autor sobre un archivo con licencia permisiva debe colocar un nuevo aviso de copyright y un aviso de permiso por encima del existente y debe dejar claro que el desarrollador ha modificado el archivo. La parte superior del archivo aparecerá como sigue:
/*
* 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.
*/
Es muy importante que el desarrollador conserve el aviso completo de derechos de autor, el aviso de permiso y el descargo de responsabilidad de la garantía tal como aparecen en el código original, según lo requiere la licencia permisiva. A veces vemos avisos de GPL mezclados con avisos de licencias permisivas, una práctica confusa que oculta tanto el origen del código como los permisos precisos que fueron otorgados por los diversos titulares de derechos de autor que figuran en los avisos. Cuando diferentes titulares de derechos de autor han publicado sus contribuciones en términos diferentes, se deben especificar los términos que cada uno ha puesto en su contribución particular. Recomendamos hacer una separación clara y usar sangría, como en el ejemplo anterior.
Esta forma de organizar los avisos en el archivo hace que sea conveniente para los desarrolladores elegir si contribuyen con términos permisivos o con la GPL. Si desean que sus contribuciones estén disponibles bajo términos permisivos, pueden agregar sus avisos de derechos de autor al grupo inferior. Si desean contribuir con la GPL, pueden agregar sus avisos de derechos de autor en la parte superior. Sin embargo, tenga en cuenta que, en un solo archivo de origen, suele ser muy difícil y, a menudo, completamente inviable, determinar qué partes de dicho archivo están cubiertas por términos permisivos. Si el objetivo es hacer que el código adicional esté disponible solo bajo términos permisivos, se debe utilizar el método descrito en el § 2.3.