How to use a GNU License in a Software Project

This post gives some hints about how to use a GNU license (GPL, LGPL, AGPL) in a software project.

Free Software Foundation (FSF) explains what it needs to be done on this external link. There are some additional instructions on this external link.

In case of doubt, please follow the links above. The rest of this post just try to clarify certain points.

Steps about how to adapt the Software to use a GNU License

You may need to update your project to:

  1. Set project file headers
  2. Include License File
  3. Modify Software to display Disclaimer

1. Set Project File Headers

Set header for all project files, including copyright notice, license notice, project name and contact information.

2. Include License File

Include the license file, called conventionally COPYING in GNU project.

3. Modify Software to display Disclaimer

The software should display the disclaimer, for example, in the “About…” dialog. The FSF even recommends to show it on startup.

The disclaimer could be:

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/>.

Even if the program is run from the command line, it should display the disclaimer.

The FSF proposed that this text to be included in command line programs is:

<program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

‘show c’ and ‘show w’ should be adapted to the corresponding interface.

You can read a discussion about what it means on this external link.

How to adapt the Documentation related to a Software to use a GNU License

According to the FSF, documentation should also have a special treatment. Free Document License (FDL) would apply.

You can find more information on this external link.

External References

Leave a Reply

Your email address will not be published. Required fields are marked *