This is article will show you how to practically implement a license after you have decided which one you are going to use. There are several different methods and people implement them differently. I am going to show you the different ways people have been adding licenses and then what I decided to use.
I will group the methods by license to make things easier and so you can use this article as a reference.
Choose a License has the official ways of implementing licenses and you can get text versions of the full licenses there. They do look a bit different in terms of formatting (indendtations) to some of the others I have see but the wording is the same
The licenses are expresssed in 2 different ways.
- The full license file which should be put (usually) in the root folder of the software. Some people create a license folder and put it in there. The rules mainly say that the license should be distributed with the sofatware and I would advise not to hide it.
- boilerplate / copyright header put in the actual software/source files. The rule of thumb is add it tro all significant parts of the code. This is code that is more than 300 lines as a rule of thumb. but it does not ahrm adding it to all files if you want. The code that is put here is refered to as the boilerplate. If you've got a project where individual files might be taken out of context, it may be sensible to add the boilerplate to all files.
Collaboration
This is where you modify work where it already has a copyright and you must leave the copyright inplace.
GPL / MIT
If a copyright has already been expressed you cannot remove that copyright declaration so what a lot of people do is just add their copyright notice below the old one which keeps the same license but adds your copyright claim.
Copyright (C) 20015-2016 Original Author // unchanged Copyright (C) 2017 QuantumwWarp.com
This article tells you about collabaration (already worked on) for GPL -
Apache
I think apache is the same as above but you might be required to make notes of the changes that have been made rather than just add an extra copyright line.
GPLv2 / GPLv3
This method also applies to GPLv2 but using the v2 of the license.
- The GNU General Public License v3.0 - GNU Project - Free Software Foundation
- GNU General Public License v3.0 - Choose a License
- GNU General Public License v2.0 - GNU Project - Free Software Foundation
- GPLv2 boilerplate - Free Software Foundation
- How to use GNU licenses for your own software - GNU Project - Free Software Foundation
- GPLv3 explained · GitHub - GPLv3 explained. GitHub Gist: instantly share code, notes, and snippets.
- GPLv3 - In Markdown | GNU.org
How to apply this license
- Create a text file (typically named LICENSE, LICENSE.txt, sometimes LICENSE.md) in the root of your source code and copy the text of the license into the file.
- The Free Software Foundation recommends taking the additional step of adding a boilerplate notice to the top of each file. The boilerplate can be found at the end of the license.
- Optional: Add GPL-3.0+ (or GPL-3.0 to disallow future versions) to your project's package description, if applicable (e.g., Node.js, Ruby, and Rust). This will ensure the license is displayed in package directories.
Other GPL Family Notes
- The method for applying a lcinese using GPLv2 is exactly the same excepot the license and boilerplate are different.
- AGPL and LGPL has different licenses and boilerplates and slightly different rules ans when and where the license should be available.
Boilerplate License Examples
The following are examples of GPL boilerplate code. There seems to be quite a variety of these code different people use. These companies are respected organisations so the code must be good and I suppose it is personal preference.
My GPLv3
This is the boilerplate I am going to use for my GPLv3 software.
I went with this design because it includes my name and website, it has a small foot print and because I have not put version numbers in I do not have to update the text everytime I upgrade my software, there is also a generic link to the GPL license so I am not stuck with using a particlualr filename for the license (i.e. LICENSE, LICENSE.txt, LICENSE.md)
NB: I need to decide on the license line once I have added it my github repe. apparently it will recognise LICENSE.txt as a license file. I could also then like Divi add extra infor to the top of the license file.
@license GNU/GPLv3 or later; https://www.gnu.org/licenses/gpl.html
or
@license GNU General Public License version 2 or later; see LICENSE.txt
/** * @package QWcrm * @author Jon Brown https://quantumwarp.com/ * @copyright Copyright (C) 2016 - 2017 Jon Brown, All rights reserved. * @license GNU/GPLv3 or later; https://www.gnu.org/licenses/gpl.html */
My GPLv2
The same as above but for GPLv2 software.
/** * @package QWcrm * @author Jon Brown https://quantumwarp.com/ * @copyright Copyright (C) 2016 - 2017 Jon Brown, All rights reserved. * @license GNU/GPLv2 or later; https://www.gnu.org/licenses/gpl-2.0.html */
GNU Official GPLv3 instructions
Attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
For a one-file program, the statement (for the GPL) should look like this:
- replace the first line with a description of the software - some pople do not put the software description line in, but just delete it instead.
- replace <year> with the year
- replace <name of author> with your name
<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 <http://www.gnu.org/licenses/>.
For programs that are more than one file, it is better to replace “this program” with the name of the program, and begin the statement with a line saying “This file is part of NAME”. For instance,
- Replace 'Foobar' with the name of your product
This file is part of Foobar. Foobar 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. Foobar 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 Foobar. If not, see <http://www.gnu.org/licenses/>.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<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.
Joomla (index.php)
- https://www.joomla.org/
- This is one of the most well known Open Source softwre using GPLv2 and this is their boilerplate from the index.php
/** * @package Joomla.Site * * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */
Joomla (com_content)
- components/com_content/controller.php
- notice the aditional @subpackage
/** * @package Joomla.Site * @subpackage com_content * * @copyright Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */
Power Content
/** * @package com_epc / Power Content * @version CVS: 1.0.0 * @author Shir Ekerling <shirekerling@gmail.com> * @copyright 2016 Shir Ekerling * @license GNU General Public License version 2 or later; see LICENSE.txt */
Divi Builder
/* * Plugin Name: Divi Builder * Plugin URI: http://elegantthemes.com * Description: A drag and drop page builder for any WordPress theme. * Version: 1.3.10 * Author: Elegant Themes * Author URI: http://elegantthemes.com * License: GPLv2 or later */
Gantry
- http://gantry.org/
- Gantry - templates/g5_helium/html/layouts/joomla/system
- this is an excellent example on how to add cascading copyright notices
/** * @package Gantry 5 Theme * @author RocketTheme http://www.rockettheme.com * @copyright Copyright (C) 2007 - 2015 RocketTheme, LLC * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved. * @license GNU/GPLv2 and later * * http://www.gnu.org/licenses/gpl-2.0.html */
AllVideos
/** * @version 4.8.0 * @package AllVideos (plugin) * @author JoomlaWorks - http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2016 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */
Joomla Forum
- https://forum.joomla.org/viewtopic.php?t=616933
- This shows a thought process on how to make the boilerplate smaller to reduce file payload size.
A
/** * @package Joomla * @subpackage [PROGRAM] * @copyright (C) [COMPANY] * @license GNU/GPL, see license.txt * [PROGRAM] is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License 2 * as published by the Free Software Foundation. * * [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 [PROGRAM]; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * or see http://www.gnu.org/licenses/. */
B
/** * @package Joomla * @subpackage [PROGRAM] * @copyright (C) [COMPANY] * @license GNU/GPL, see license.txt * [PROGRAM] is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License 2 * as published by the Free Software Foundation. */
C
/** * @package Joomla * @subpackage [PROGRAM] * @copyright (C) [COMPANY] * @license GNU General Public License 2, see license.txt */
Stackoverflow - How to propertly comment a PHP file based on GNU/GPL source
/** * @package GovArticle.Administrator * @subpackage com_govarticle.layouts * @author Artur Stępień (artur@example.pl) * @copyright (C) 2005 - 2015 Open Source Matters. All rights reserved. * @copyright (C) 2015 - Fundacja PCJ Otwarte Źródła * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html * @link http://dostepny.joomla.pl * * Based on com_content layouts from Joomla! */
GitHub - ThinkUp
- https://github.com/ThinkUpLLC/ThinkUp
- ThinkUp's source code is licensed under the GNU General Public License, except for the external libraries listed below. See the website linked above
- This incorporates a normal GPLv3 licenses but with author information added at the bottom in function delcaration style. this would work better if there are more authors to disclose.
/** * * ThinkUp/webapp/public.php * * Copyright (c) 2009-2010 Gina Trapani, Jason McPheron, Dash30, Christoffer Viken, Dwi Widiastuti * * LICENSE: * * This file is part of ThinkUp. * * ThinkUp 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. * * ThinkUp 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 ThinkUp. If not, see <http://www.gnu.org/licenses/>. * */ /** * @author Gina Trapani <ginatrapani[at]gmail[dot]com> * @author Jason McPheron <jason[at]onebigword[dot]com> * @author Dash30 <customerservice[at]dash30[dot]com> * @author Christoffer Viken <christoffer[at]viken[dot]me> * @author Dwi Widiastuti <admin[at]diazuwi[dot]web[dot]id> * @license http://www.gnu.org/licenses/gpl.html * @copyright 2009-2010 Gina Trapani, Jason McPheron, Dash30, Christoffer Viken, Dwi Widiastuti */
GPL - Collaboration Examples
Here I will put a collection of licenses where there has been more than 1 author.
Stackoverflow - GPL license. Code reuse
All original material Copyright (C) 2009-2010 author Original file from A: A/foo/foo.h Copyright (C) 1997-2001 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 2 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, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Or
/* * Copyright (c) 2007 GPL Project Developer Who Made Changes <gpl@example.org> * * 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 <http://www.gnu.org/licenses/>. * * This file incorporates work covered by the following copyright and * permission notice: * * Copyright (c) YEARS_LIST, Permissive Contributor1 <contrib1@example.net> * Copyright (c) YEARS_LIST, Permissive Contributor2 <contrib2@example.net> * * 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. */
Stackoverflow - GPL copyright notice when contributing new files
A
/** * Some open source application * Component Bar * (C) 20?? by Scruffy H. Hacker (scruffy@foo.bar) * (C) 20?? by Tobier Hackerson (tobier@foo.bar) * Released under the GPL * * Awesome description here. */
B
/** * My Extension to some open source application * * Copyright 2012 by Tobias Eriksson <author@tobier.se> * * This file is part of some open source application. * * Some open source application 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. * * Some open source application 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 Foobar. If not, see <http://www.gnu.org/licenses/>. * * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+> */
C
/** * Some open source application * * Copyright 2012 by Tobias Eriksson <author@tobier.se> * Copyright 2010, 2011 by Scruffy H. Hacker <scruffy@foo.bar> * * Licensed under GNU General Public License 3.0 or later. * Some rights reserved. See COPYING, AUTHORS. * * @license GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+> */
Software Freedom - Maintaining Permissive-Licensed Files in a GPL-Licensed Project: Guidelines for Developers
Including unmodified permissive-licensed files. The top of the incorpoated file should look something like this:
/* Copyright (c) YEARS_LIST, Permissive Project Contributor1 <contrib1@example.net> * Copyright (c) YEARS_LIST, Permissive Project Contributor2 <contrib2@example.net> * ... * * 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. */
then - 2.2 Adding GPL’d modifications to permissive-licensed files
/* * Copyright (c) 2007 GPL Project Developer Who Made Changes <gpl@example.org> * * 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 <http://www.gnu.org/licenses/>. * * This file incorporates work covered by the following copyright and * permission notice: * * Copyright (c) YEARS_LIST, Permissive Contributor1 <contrib1@example.net> * Copyright (c) YEARS_LIST, Permissive Contributor2 <contrib2@example.net> * * 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. */
GPL - Additional Terms
It is possible to add extra terms to the GPL license should you need to. See below for an example
SobiPro
- https://www.sigsiu.net/
- SobiPro stores it license (GPLv3) @ /site/gplv3.txt
- There are additional terms @ /site/gplv3addterms.txt (applicable section 7 additional terms)
SobiPro is released under the GNU General Public License V3
Additional Terms according section 7 of GNU/GPL V3
These additional terms refer to SobiPro and its applications (hereinafter referred to as Software) and any updates to Software.
"Sobi" and "SobiPro" are trademarks of Sigsiu.NET GmbH. The licensing of the Software under the GPL does not imply a trademark license. Therefore any rights, title and interest in our trademarks remain entirely with Sigsiu.NET GmbH.
Except as expressly provided herein, no trademark rights are granted to any trademarks of Sigsiu.NET GmbH. Licensees are granted a limited, non-exclusive right to use the marks "Sobi", "SobiPro" and the SobiPro and Sigsiu.NET logos in connection with unmodified copies of the Software.
If the licensee distributes modified copies of the Software, he has to:
Replace/remove all terms, images and files containing the marks "Sobi", "SobiPro" and the SobiPro and Sigsiu.NET logos.
Remove any code which causes connection to or any kind of load of servers managed by Sigsiu.NET GmbH
The terms "Sigsiu", "Sigsiu.NET", "Sobi" and "SobiPro" have to be removed from all visual outputs (front-end and back-end).
The copyright notices within the source code files must not be removed and have to be left fully intact.
This agreement does not limit user's rights under, or grant user rights that supersede, the license terms of any particular component of the Software.
In addition, licensees that modify the Software must give the modified Software a new name that is not confusingly similar to "Sobi" or "SobiPro" and may not distribute it under the names "Sobi" and "SobiPro".
The names "Sobi", "SobiPro" and "Sigsiu" must not be used to endorse or promote products derived from this Software without prior written permission of Sigsiu.NET GmbH.
If any provision of this agreement is held to be unenforceable, it does not excuse you from the conditions of this License. If the licensee cannot distribute so as to satisfy simultaneously his obligations under this License and any other pertinent obligations, then as a consequence he may not distribute the Software at all.
Divi Builder
- Divi has added the following to the begining of the license.txt (GPLv2) in it's package
/*************************************************************************/
/*************************************************************************/
Copyright 2015 Elegant Themes, Inc.
All plugin files are licensed under the GNU Public License 2.0 unless
specified as otherwise within the file itself. Some files may be
licensed under alternative open source licenses such as MIT, BSD
or OFL. Refer to individual files for licensing information. If no
license is stated, then the file is placed under the GPL 2.0. You
will find a copy of the GPL 2.0 below.
/*************************************************************************/
/*************************************************************************/
GPL - Aggregation
This Wordpress template license is a 'GPLv2 or later' license but it also 'bundles' third-party resources with their own licenses. I believe these will then form part of the GPLv2 license. This is good example of aggregation but it is possibly an example distributing code with a GPL licensed software but where they keep their own license rather than the viral properties of the parent softwares GPL license.
=== Twenty Seventeen === Contributors: the WordPress team Requires at least: WordPress 4.7 Tested up to: WordPress 4.9-trunk Version: 1.3 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready == Description == Twenty Seventeen brings your site to life with header video and immersive featured images. With a focus on business sites, it features multiple sections on the front page as well as widgets, navigation and social menus, a logo, and more. Personalize its asymmetrical grid with a custom color scheme and showcase your multimedia content with post formats. Our default theme for 2017 works great in many languages, for any abilities, and on any device. For more information about Twenty Seventeen please go to https://codex.wordpress.org/Twenty_Seventeen. == Installation == 1. In your admin panel, go to Appearance -> Themes and click the 'Add New' button. 2. Type in Twenty Seventeen in the search form and press the 'Enter' key on your keyboard. 3. Click on the 'Activate' button to use your new theme right away. 4. Go to https://codex.wordpress.org/Twenty_Seventeen for a guide on how to customize this theme. 5. Navigate to Appearance > Customize in your admin panel and customize to taste. == Copyright == Twenty Seventeen WordPress Theme, Copyright 2016 WordPress.org Twenty Seventeen is distributed under the terms of the GNU GPL 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 2 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. Twenty Seventeen bundles the following third-party resources: HTML5 Shiv, Copyright 2014 Alexander Farkas Licenses: MIT/GPL2 Source: https://github.com/aFarkas/html5shiv jQuery scrollTo, Copyright 2007-2015 Ariel Flesler License: MIT Source: https://github.com/flesler/jquery.scrollTo normalize.css, Copyright 2012-2016 Nicolas Gallagher and Jonathan Neal License: MIT Source: https://necolas.github.io/normalize.css/ Font Awesome icons, Copyright Dave Gandy License: SIL Open Font License, version 1.1. Source: http://fontawesome.io/ Bundled header image, Copyright Alvin Engler License: CC0 1.0 Universal (CC0 1.0) Source: https://unsplash.com/@englr?photo=bIhpiQA009k == Changelog == = 1.3 = * Released: June 8, 2017 https://codex.wordpress.org/Twenty_Seventeen_Theme_Changelog#Version_1.3 = 1.2 = * Released: April 18, 2017 https://codex.wordpress.org/Twenty_Seventeen_Theme_Changelog#Version_1.2 = 1.1 = * Released: January 6, 2017 https://codex.wordpress.org/Twenty_Seventeen_Theme_Changelog#Version_1.1 = 1.0 = * Released: December 6, 2016 Initial release
Apache
- ASF Source Header and Copyright Notice Policy - This document describes how Apache committers and PMC members should handle source file licensing and copyright notices.
- How to apply the Apache License to your work - http://www.apache.org/licenses/LICENSE-2.0.html#apply
- Apache License 2.0 - Choose a License
- also known as the X11 license or MIT X license
How to apply this license
- Create a text file (typically named LICENSE, LICENSE.txt, sometimes LICENSE.md) in the root of your source code and copy the text of the license into the file.
- Note: The Apache Foundation recommends taking the additional step of adding a boilerplate notice to the header of each source file. You can find the notice at the very end of the license in the appendix.
Boilerplate License Examples
There is only the official boilerplate I have come across and it is straight forward.
To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MIT
- http://softwareengineering.stackexchange.com/questions/157968/how-to-manage-a-copyright-notice-in-an-open-source-project
- MIT License - Choose a License
How to apply this license
- Create a text file (typically named LICENSE, LICENSE.txt, sometimes LICENSE.md) in the root of your source code and copy the text of the license into the file. Replace [year] with the current year and [fullname] with the name (or names) of the copyright holders.
- Optional: Add MIT to your project's package description, if applicable (e.g., Node.js, Ruby, and Rust). This will ensure the license is displayed in package directories.
The License
Some versions of this license do not have 'MIT License' at the top, but you should include it as it helps people identify the license quicker.
MIT License Copyright (c) [year] [fullname] Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
Boilerplate License Examples
There is no boilerplate because the license is so short it serves as both the license and boilerplate.
Other Links / Research
- General
- Licensing a repository - GitHub Docs - Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.
- LICENSE vs LICENSE.txt vs LICENSE.md vs LICENSE.rst
- Which filename should I use for shwoing my license? What os the modern way of doing things as all of these are valid and recognised.
- Claude AI
- The convention is LICENSE (no extension at all) — that's the standard used by the vast majority of open source projects on GitHub.
- Here's why, and when the others are used:
LICENSE(recommended) — GitHub automatically detects this file, displays a license badge on your repo page, and shows a summary in the sidebar. Works with no extension, or LICENSE.txt / LICENSE.md.LICENSE.txt— Also detected by GitHub, perfectly acceptable. Useful if your tooling or contributors expect a plain text extension.LICENSE.md— Also detected, but slightly unconventional. Markdown formatting is rarely needed in a license file since they're plain prose, so the .md extension doesn't add much value.
- Practical advice: Just use
LICENSEwith no extension. It's what npm, pip, and most major projects (React, Vue, Linux, etc.) use, and GitHub gives it full first-class treatment. If you're copying a license from choosealicense.com, it'll give you the text ready to paste into a plainLICENSEfile.
- Determining the location of your license - Licensing a repository - GitHub Docs
- Most people place their license text in a file named LICENSE.txt (or LICENSE.md or LICENSE.rst) in the root of the repository; here's an example from Hubot.
- Some projects include information about their license in their README. For example, a project's README may include a note saying "This project is licensed under the terms of the MIT license."
- As a best practice, we encourage you to include the license file with your project.
- when making my copyright header in a file, should i include my username or just my name?
- From Claude AI
- For copyright headers, use your real legal name (or your organization's legal name), not a username.
- A username like
xX_coder99_Xxhas no legal standing — copyright law protects natural persons and legal entities, and a pseudonym or handle generally won't identify you in any enforceable way. - A typical header looks like:
// Copyright (c) 2026 Jane Smith. All rights reserved.
- A few nuances worth knowing:
- If you're well-known by a pseudonym (like a published author), courts have sometimes recognized pen names, but this is murky territory and not worth relying on for software.
- If it's for work/a company, use the company's legal name, not yours at all — the employer likely owns the copyright anyway.
- Open source with a license (MIT, Apache, etc.) — still use your real name alongside the license text.
- Short answer: real name, no username.
- From Claude AI
- `All rights reserved` should only be used when not using a open source license?
- Claude AI
- Correct. "All rights reserved" is redundant (and arguably misleading) when you're using an open source license, since you're explicitly granting rights to others.
- Proprietary / no license →
All rights reserved.makes sense - Open source license (MIT, Apache, GPL, etc.) → just reference the license instead
- Proprietary / no license →
- A typical open source header:
// Copyright (c) 2026 Jane Smith // SPDX-License-Identifier: MIT
- Or the more verbose style:
// Copyright (c) 2026 Jane Smith // Licensed under the MIT License. See LICENSE file for details.
- The
SPDX-License-Identifiershorthand is increasingly popular, especially in larger projects, as it's machine-readable and unambiguous.
- Correct. "All rights reserved" is redundant (and arguably misleading) when you're using an open source license, since you're explicitly granting rights to others.
- Claude AI
- SPDX (Software Package Data Exchange)
- A license identifier that is machine readable.
- Official
- SPDX – Linux Foundation Projects Site
- The System Package Data Exchange™ (SPDX®)
- An open standard capable of representing systems with software components in as SBOMs (Software Bill of Materials) and other AI, data and security references supporting a range of risk management use cases.
- The SPDX specification is a freely available international open standard (ISO/IEC 5962:2021).
- SPDX License List | Software Package Data Exchange (SPDX)
- The SPDX License List is an integral part of the SPDX Specification.
- The SPDX License List itself is a list of commonly found licenses and exceptions used in free and open or collaborative software, data, hardware, or documentation.
- The SPDX License List includes a standardized short identifier, the full name, the license text, and a canonical permanent URL for each license and exception.
- The purpose of the SPDX License List is to enable efficient and reliable identification of such licenses and exceptions in an SPDX document, in source files or elsewhere.
- Specifications – SPDX - The SPDX specification is an international open standard (ISO/IEC 5962:2021).
- Handling License Info – SPDX
- Use SPDX short-form identifiers to communicate license information in a simple, efficient, portable and machine-readable manner
- How to use them and Where they're used today.
- Annex D: SPDX License Expressions - SPDX Specification 2.3.0
- B. SPDX license expressions - SPDX Specification 3.0.1
- SPDX – Linux Foundation Projects Site
- Examples
- General
- Software Package Data Exchange - Wikipedia
- The SPDX specification is recognized as the international open standard for security, license compliance, and other software supply chain artifacts as ISO/IEC 5962:2021.
- Software Package Data Exchange - Wikipedia
- Tutorials
- GitHub - david-a-wheeler/spdx-tutorial
- A brief tutorial on how to use Software Package Data Exchange (SPDX)
- Software Package Data Exchange (SPDX) is a standard format for communicating the components of software packages, including information about their licenses.
- Understanding and Using SPDX License Identifiers and License Expressions | FOSSA Blog
- An overview of SPDX License Identifiers and Expressions and how they streamline open source licensing communication.
- In this blog, we’ll provide additional context around License Identifiers and explain how to use them.
- Has practical examples on how to use the SPDX header.
- GitHub - david-a-wheeler/spdx-tutorial
- SBOM (Software Bill of Materials)
- This really is an extension of SPDX and a practical purpose of SPDX.
- SBOM Tools – Open Source Security Foundation
- A Software Bill Of Materials (SBOM) is an artifact that includes an inventory of the software components and dependencies that are included in a parent software.
- SBOMs are quickly becoming a necessity for software products and services to include in their software delivery practices.
- The ultimate guide to SBOMs | GitLab
- Learn what a software bill of materials is and why it has become an integral part of modern software development.
- An SBOM is a nested inventory or list of ingredients that make up software components. In addition to the components themselves, SBOMs include critical information about the libraries, tools, and processes used to develop, build, and deploy a software artifact.
- CycloneDX Bill of Materials Standard | CycloneDX
- OWASP CycloneDX is a full-stack Bill of Materials (BOM) standard that provides advanced supply chain capabilities for cyber risk reduction.
- The specification supports Software Bill of Materials (SBOM), Software-as-a-Service Bill of Materials (SaaSBOM), Hardware Bill of Materials (HBOM), Operations Bill of Materials (OBOM), Vulnerability Disclosure Reports (VDR), and Vulnerability Exploitability eXchange (VEX).
- Some Notes
- CycloneDX: The International Standard for Bill of Materials (ECMA-424)
- The OWASP Foundation and Ecma International Technical Committee for Software & System Transparency (TC54) drive the continued advancement of the specification.
- CycloneDX is designed to provide advanced supply chain capabilities for cyber risk reduction.
- Compatible with over 260 tools across 20+ programming languages, CycloneDX is trusted by enterprises, governments, and open source projects.
- CycloneDX is authorized for use by medical device manufacturers.
- Consumers can trust that their medical devices are manufactured securely, thanks to CycloneDX Hardware Bill of Materials (HBOM) and Software Bill of Materials (SBOM).
- CycloneDX is the standard for multiple world governments and the defense industrial base.
- Trusted for satellite and space systems, missile guidance systems, and algorithmic warfare, CycloneDX plays a small part in safeguarding national defense.
- CycloneDX is enterprise ready and surfaces risk for IT and OT assets.
- CycloneDX is trusted by leading CMDB vendors to detect security issues in hardware, software, services, and operations.
- CycloneDX offers the most advanced license support of any SBOM format.
- CycloneDX can leverage SPDX license IDs and expressions, along with comprehensive commercial license support, supporting open source license compliance and Software Asset Management (SAM) use cases.
- CycloneDX evolves with your project or organizational needs.
- Trusted by beginners and experts, CycloneDX offers an easy on-ramp to adoption and the world's most extensive collection of tools to get started.
- Specification Overview | CycloneDX - Explore how CycloneDX elevates supply chain transparency. Discover how its modular, extensible design delivers actionable insights.
- OSS Review Toolkit - A suite of CLI tools to automate software compliance checks.
- Analyzer | OSS Review Toolkit - The analyzer is a Software Composition Analysis (SCA) tool that determines the dependencies of software projects inside the specified version-controlled input directory (-i).
- Copyright Notices
- What to Include in A UK Copyright Statement | Sprintlaw UK
- Clear copyright statement essentials for UK businesses: what to include, where to place it, sample notices and how it fits with your website legals.
- “All rights reserved” isn’t required under UK law, but it remains a useful shorthand indicating you’ve not granted any reuse rights by default. If you’re curious about what that phrase does and doesn’t do, see our guide to All Rights Reserved notices.
- Copyright Examples & How to Write a Copyright Notice - Termly
- We take a look at some copyright examples of digital media, art, music, and literary works and show you how to write a good copyright notice.
- AI generated is not protected by copyright laws in the U.S. This decision was released in 2023 by the U.S. Copyright Office when they released their Copyright Registration Guidance.
- When submitting a copyright application, you must disclose what portions of the content come from an AI and which portions were created by a human. The AI contributions cannot be copyrighted unless they’re de minimis, a fancy way of saying trivial or minor.
- In Europe, it generally does not fall under copyright. Parliament released a briefing advocating for a human-centric approach concerning copyright protections.
- It is still unclear how UK copyright laws apply to AI.
- Copyright notices - GOV.UK - A copyright notice is a concise note published by the Intellectual Property Office (IPO) providing basic copyright guidance.
- Open Source Software / Free Software (OSS/FS or FLOSS) | David A. Wheeler's Personal Home Page - David A. Wheeler's Personal Home Page
- Free Copyright Notice | Template & FAQs - Rocket Lawyer UK - Protect your work with a copyright statement. Assert ownership of your website, book, or other written material. Try our copyright disclaimer template today!
- How to Write a Copyright Footer the Right Way - LegalClarity - Learn what belongs in a copyright notice, where to place it, and how to handle edge cases like AI-generated content.
- P-03: Using Copyright Notices :: The UK Copyright Service - The copyright notices fact sheet explains how to mark your work to ensure the best effect and protection.
- Where should I add license and copyrght information? | Notepad++ Community
- Q:
- I have finished my
Exclusive File Lockplugin, everything is working and I will release it as a free plugin. It will be GNU GPLv3. - The last thing I have to sort out is were to put copyright and license information.
- Do anyone have any examples of license and copyright formats and where to put them. Maybe a well formatted plugin I can look at.
- I have finished my
- A:
- Seems pretty straightforward to me. You put the “block comment” syntax for your language around that block, fill in the
<one line..,>and<year> <name of author> - Since the template you used probably already had the copyright, you most likely just need to change the intro line comment and the copyright line comment.
- I’m not sure what more you want to see? Here’s how I did it in my CollectionInterface plugin: https://github.com/pryrt/NppPlugin-CollectionInterface/blob/main/src/PluginDefinition.cpp
- Seems pretty straightforward to me. You put the “block comment” syntax for your language around that block, fill in the
- Q:
- What to Include in A UK Copyright Statement | Sprintlaw UK