Proper Copyright/License Attribution for Themes

There seems to be a great deal of confusion/misunderstanding regarding what constitutes proper copyright/license attribution for Themes, and several Themes are being approved without proper copyright/license attribution.

There are four primary types of attribution: the Theme itself, derivative-work, incorporated code, and bundled resources. For works licensed under (or compatibly with) GPLGPL GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://wordpress.org/about/license/. The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html. This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples., this attribution is important, because it ensures that end users know their rights regarding modification and distribution of the copyrighted work. The “copyleft” nature of GPL ensures that those same rights are preserved in downstream distributions of a copyrighted work, or works derived from that work – which is why it is imperative that correct copyright/license attribution be included in GPL-compatible works.

Theme Copyright Attribution

Fred WordPress Theme, Copyright 2012 Joe Smith
Fred is distributed under the terms of the GNU GPL

The Theme itself is a copyrighted work, and requires copyright attribution. According to GNU (the maintainer of the GPL):

Whichever license you plan to use, the process involves adding two elements to each source file of your program: a copyright notice (such as “Copyright 1999 Terry Jones”), and a statement of copying permission, saying that the program is distributed under the terms of the GNU General Public License (or the Lesser GPL).

The copyright notice:

The copyright notice should include the year in which you finished preparing the releaseRelease A release is the distribution of the final version of an application. A software release may be either public or private and generally constitutes the initial or new generation of a new or upgraded application. A release is preceded by the distribution of alpha and then beta versions of the software. (so if you finished it in 1998 but didn’t post it until 1999, use 1998). You should add the proper year for each release; for example, “Copyright 1998, 1999 Terry Jones” if some versions were finished in 1998 and some were finished in 1999. If several people helped write the code, use all their names.

The statement of copying permission:

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

Derivative Themes and Incorporated Code Copyright Attribution

Themes that are derived from other Themes (such as Twenty Twelve or Underscores) must declare that they are derived from another work, and include the original copyright notice from that work. For derivative works, the declaration would follow the Theme’s own copyright notice, and would take a form similar to the following:

Ginger WordPress Theme is derived from Fred WordPress Theme, Copyright 2012 Joe Smith
Fred WordPress Theme is distributed under the terms of the GNU GPL

Incorporated Code Copyright Attribution

Themes that incorporate code from other Themes (or Plugins) must declare that they incorporate code from another Theme/PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. The difference between a derivative work and incorporated code is, generally, a matter of extent. If you use a Theme as a “starter” or a base (such as Underscores), then you have created a derivative work. If you use one or more functions from another Theme, then you have incorporated code from that Theme.

For incorporated code, the declaration should be added to the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. comments for the files and/or the doc blocks for the incorporated functions, including copyright, license, and a source link, using appropriate syntax (such as phpDoc for incorporated PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. code). The Theme readme (or license) file should include a declaration of incorporated code:

Ginger WordPress Theme incorporates code from Fred WordPress Theme, Copyright 2012 Joe Smith
Fred WordPress Theme is distributed under the terms of the GNU GPL

Bundled Resource Copyright Attribution

Themes that bundle third-party resources (such as script libraries, PHP or CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. frameworks, images, fonts, etc.) must declare that they bundle those resources. For bundled resources, the original copyright notice (normally found in file headers, or a license file) should be retained if it exists. Additionally, the Theme readme (or license) file should include a declaration of bundled resources, including copyright, license, and a source link.

Ginger WordPress Theme bundles the following third-party resources:

Genericons icon font, Copyright 2013 Automattic
Genericons are licensed under the terms of the GNU GPL, Version 2 (or later)
Source: http://www.genericons.com

Cycle2 jQuery library, Copyright 2012 M. Alsup
Cycle2 is dual-licensed under the terms of the GNU GPL, Version 2, and the MIT license
Source: http://jquery.malsup.com/cycle2/

Requiring this information to be listed in the readme when it is available in file headers is a bit redundant; but it is a matter of ensuring that the Theme developer has considered/verified that the licenses for all bundled resources are GPL-compatible, and that end users (and reviewers) have a known location to find this information. Note that, because binary files (such as images) do not have human-readable file headers, the inclusion of copyright, license, and source link in the readme is critical, since otherwise the end user will have no way to know how to find this information.

Putting it All Together

Here is an example of a complete copyright/license attribution section in a Theme readme (or license) file:

Ginger WordPress Theme, Copyright 2012 Joe Smith
Ginger 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 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 .

Ginger WordPress Theme is derived from Underscores WordPress Theme, Copyright 2013 Automattic, Inc.
Underscores WordPress Theme is distributed under the terms of the GNU GPL

Ginger WordPress Theme incorporates code from Fred WordPress Theme, Copyright 2012 Joe Smith
Fred WordPress Theme is distributed under the terms of the GNU GPL

Ginger WordPress Theme bundles the following third-party resources:

Genericons icon font, Copyright 2013 Automattic
Genericons are licensed under the terms of the GNU GPL, Version 2 (or later)
Source: http://www.genericons.com

Cycle2 jQuery library, Copyright 2012 M. Alsup
Cycle2 is dual-licensed under the terms of the GNU GPL, Version 2, and the MIT license
Source: http://jquery.malsup.com/cycle2/

Hopefully this post helps clarify the requirements for proper copyright/license attribution, and will help ensure that review of license requirements is more consistent. As a reminder: under the current guidelines, these copyright statements must be included in the Theme readme (or license) file. The examples given above are intended to describe required content, and not necessarily a required format for that content.

#copyright, #license

Licensing Note: Apache and GPL

Just a quick note, that came up during last week’s push to tame the review queue: the ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free. 2.0 license is GPLGPL GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://wordpress.org/about/license/. The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html. This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples.-compatible, but only with version 3.0 of the GPL. Works that are either GPLv2.0 or GPLv3.0 are appropriate to be hosted in the Theme directory, so that’s not a problem; however, works that incorporate or bundle Apache 2.0 works must use either unversioned GPL, or GPLv3.0 explicitly.

The most likely occurrence of this issue is with Themes developed using Twitter Bootstrap. When reviewing such Themes, please be sure to check that, if the Theme is licensed under GPL, that the license specifies either unversioned GPL, or GPLv3.0.

(And if for any reason this interpretation is incorrect, please discuss in the comments.)

Edit

Note, by “unversioned” GPL, I am referring to the current version of the GNU GPL, which can be found at this URL, and which currently is GPLv3.

What is important is the actual license text associated with the Theme: whether called simply “GPL” or explicitly GPLv3, the license text must be GPLv3. A Theme that claims the license is “GPL”, but that ships with a license.txt that is GPLv2 would not be able to bundle an Apache 2.0-licensed work.

#apache-2-0, #gpl, #license