I am using the GPLv3 license for a tool that embeds files into source code. However as part of it's operation it copies a portion of it's own source into projects that use it (as a library to allow files to be read). I don't want this file, nor the files generated by the execution of the program to be licensed under the GPL.
I am using the standard GPLv3 header in all my files:
// <one line to give the program's name and a brief idea of what it does.>
// Copyright (C) <year> <name of author>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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 <https://www.gnu.org/licenses/>.
However I am not sure what to do about the file that gets copied in, nor the files generated by the program as it runs - is there a specific header I should use, or should I merely have a small header indicating that it was generated by my program and is exempt from the licensing my program is under?
I have currently just used the existing GPLv3 header in my files, with a small addition to indicate the different licensing:
// As an exception, you may distribute programs that contain code generated
// with or copied into by this program under terms of your choice.