Difference between revisions of "Policies/Licensing Policy"

m (Changed protection level for "Policies/Licensing Policy" (‎[edit=autoconfirmed] (indefinite) ‎[move=autoconfirmed] (indefinite)))
(Clarified that non copyrightable data shall shave CC0-1.0.)
 
(15 intermediate revisions by 7 users not shown)
Line 1: Line 1:
All new source code and related data files in KDE repositories (SVN, GIT) must meet the following requirements:
+
This licence policy is designed to allow maximum code reuse with the community of KDE and beyond while making exceptions for the few cases which need it.
 +
 
 +
Guidelines and best practices for applying this policy can be found in the [[Guidelines_and_HOWTOs/Licensing|Licensing HowTo]].
 +
 
 +
== Policy ==
 +
All new source code and related data files in KDE repositories (SVN, Git) must meet the following requirements:
 
# All files must be in their preferred modifiable form, or alongside the file which is the preferred modifiable form.  In the 'alongside' case, there must be clear instructions for how to build using the preferred modifiable form.
 
# All files must be in their preferred modifiable form, or alongside the file which is the preferred modifiable form.  In the 'alongside' case, there must be clear instructions for how to build using the preferred modifiable form.
 
# All source files must contain a copyright header which identifies the copyright holder(s) together with an e-mail address that can be used to reach the copyright holder.
 
# All source files must contain a copyright header which identifies the copyright holder(s) together with an e-mail address that can be used to reach the copyright holder.
# Each source file must contain one of the licence headers listed below to state under which terms the software may be used, modified and redistributed.
+
# Each source file either must contain SPDX identifiers or licence headers to state under which terms the software may be used, modified and redistributed. The SPDX identifiers or licence headers stated below must be used. Inside one repository all files shall follow the same system for licence statements.
# Source files that are part of a library with a public API which is part of the KDE Platform (kdelibs, kdepimlibs and kdebase-runtime) must be licensed under one of the following terms:
+
## For each used SPDX identifier, the licence text must be included compatible with the SPDX specification.
#* '''LGPL''' version 2.1 as listed in {{path|kdelibs/COPYING.LIB}} or later
+
# ''Source files'' that are part of a library with a public API which is part of the KDE Platform (kdelibs, kdepimlibs, kde-runtime and KDE Frameworks) must be licensed under:
#* '''LGPL''' version 2.1, or version 3 or later versions approved by the membership of KDE e.V.
+
#* '''[https://spdx.org/licenses/LGPL-2.1-only.html LGPL-2.1-only] OR [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-LGPL|LicenseRef-KDE-Accepted-LGPL]]:''' LGPL version 2.1, or version 3 or later versions approved by the membership of KDE e.V.
#* '''BSD license''' as listed below.<br/>Ensure that the BSD license '''does not contain the so called 'advertisement clause'.'''
+
#:They may also be licensed under one of the following terms if it helps with license compatibility:
#* '''MIT license''' as listed below.
+
#* '''[https://spdx.org/licenses/LGPL-2.1-or-later.html LGPL-2.1-or-later:]''' LGPL version 2.1 or later
#* '''X11 license''' as listed below.
+
#* '''[https://spdx.org/licenses/BSD-2-Clause.html BSD-2-Clause:]''' BSD License as listed below.<br/>Ensure that the BSD license '''does not contain the so called 'advertisement clause' or terms similar to [https://github.com/facebook/react/blob/master/PATENTS Facebook's Additional Grant of Patent Rights].'''
#:Note each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
+
#* '''[https://spdx.org/licenses/MIT.html MIT:]''' MIT license as listed below.
# Any other source files must be licensed under one of the terms listed under 4) or one of the following terms:
+
#* '''[https://spdx.org/licenses/X11.html X11:]''' X11 license as listed below.
#* '''GPL''' version 2 as listed in {{path|kdelibs/COPYING}} or later
+
#:'''Note:''' each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
#* '''GPL''' version 2 or version 3 or later versions approved by the membership of KDE e.V.
+
#:'''Note:''' code may not be copied from Qt into KDE Platform as Qt is LGPL 3 only which would prevent it being used under LGPL 2.1
#* Code copied from Qt may be licenced under '''GPL''' version 2 or version 3 or later versions approved by Trolltech ASA and the KDE Free Qt Foundation
+
#:'''Note:''' the LGPL 2.1, 3 or approved by e.V. option is preferred and should be used unless there are special needs to improve code shareability
#:Note each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
+
# Any other source files must be licensed under one of the terms listed under 4) or:
# Translations of text from the files described in section 4 must be licenced under one of the terms in sections 4.  Translations of text from other files must be licenced under one of the terms in sections 4 or 5.
+
#* '''[https://spdx.org/licenses/GPL-2.0-only.html GPL-2.0-only] OR [https://spdx.org/licenses/GPL-3.0-only.html GPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]]:''' GPL version 2 or version 3 or later versions approved by the membership of KDE e.V.
# Icons in kdelibs, kdepimlibs or kdebase runtime must be licenced under the '''LGPL''' 3 or later versions approved by KDE e.V.  Icons elsewhere can be licenced under any of the terms in section 4 or 5.
+
#:They may also be licensed under one of the following terms if it helps with license compatibility:
# Documentation must be licensed under one of the following terms:
+
#* '''[https://spdx.org/licenses/GPL-2.0-or-later.html GPL-2.0-or-later]:''' GPL version 2 or later
#* '''FDL''' versions 1.2 as listed in {{path|kdelibs/COPYING.DOC}} or later versions with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+
#* '''[https://spdx.org/licenses/GPL-3.0-or-later.html GPL-3.0-or-later]:''' GPL version 3 or later
#* '''FDL''' versions 1.2 as listed in {{path|kdelibs/COPYING.DOC}} or later versions approved by KDE e.V. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.   
+
#* '''[https://spdx.org/licenses/GPL-3.0-only.html GPL-3-0-only] OR [[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]]:''' GPL version 3 or later versions approved by the membership of KDE e.V.
 +
#* Code copied from Qt may be licenced under '''GPL''' version 2 or later versions or under '''GPL''' version 3 or later versions depending on the licence of the relevant Qt code
 +
#:'''Note:''' each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
 +
#:'''Note:''' where a KDE repository contains files which are GPL 3+ and where the licence is stated with license headers, it must be clearly marked by adding the full licence in a file called COPYING.GPL3 in the top directory of the repository
 +
#:'''Note:''' Qt modules are either GPL2+ or GPL 3+, ensure the licence is compatible with your code before copying code from Qt
 +
# ''Applications which are intended to be run on a server'' may be licenced under the '''[https://spdx.org/licenses/AGPL-3.0-or-later.html AGPL-3.0-or-later]:''' GNU AGPL or later
 +
#:'''Note:''' the GNU AGPL is the recommended licence for server software in KDE
 +
# ''Translations'' of text from the files described in section 4 must be licenced under one of the terms in sections 4.  Translations of text from other files must be licenced under one of the terms in sections 4 or 5.
 +
# ''Media files'' such as images may be licensed under the '''[https://spdx.org/licenses/CC-BY-SA-4.0.html CC-BY-SA-4.0]''' or compatible licence. 
 +
#:'''Note:''' Image files must be committed together with their preferred modifiable form such as SVG.
 +
#:'''Note:''' CC-BY-SA 4.0 can be one-way converted to GPL 3.
 +
# ''Icons'' should be licenced as CC-BY-SA 4.0 or can also be licenced under any of the terms in section 4 or 5 or 8.  Icons in oxygen-icons and breeze-icons themes must be licenced under the "'''[https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-LGPL|LicenseRef-KDE-Accepted-LGPL]]'''", i.e. LGPL 3 or later versions approved by KDE e.V.
 +
# Content on collaborative edited websites such as wikis must be licensed under the '''Creative Commons Attribution-Sharealike 4.0 International''' or compatible licence.
 +
# ''Documentation'' must be licensed under the '''[https://spdx.org/licenses/CC-BY-SA-4.0.html CC-BY-SA-4.0]''' or compatible licence
 +
#:'''Note:''' CC-BY-SA 4.0 can be one-way converted to GPL 3.
 +
# Documentation started before 2017 can be licensed under one of the following terms:
 +
#* '''[https://spdx.org/licenses/GFDL-1.3.html FDL]''' versions 1.2 or later versions with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 +
#* '''FDL''' versions 1.2 or later versions approved by KDE e.V. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.   
 
#:Note each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
 
#:Note each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
 
#:Documentation may additionally be licensed under any of the terms in section 4 or 5.
 
#:Documentation may additionally be licensed under any of the terms in section 4 or 5.
# CMake modules must be licenced under the BSD licence listed below
+
# ''CMake modules'' must be licenced under the BSD licence listed below
# Standalone media files such as images may be licensed under the Creative Commons Attribution-Share Alike 3.0 Unported licence at http://creativecommons.org/licenses/by-sa/3.0/ .   This does not apply to icons or anything which is likely to be mixed with content under our normal (GPL etc) licences.
+
# ''Windows installer files'' using the WiX Toolset may be licenced under the '''[https://spdx.org/licenses/CPAL-1.0.html Common Public Licence 1.0]'''
# Other data included in KDE's codebase must be licenced under one of the terms in sections 4 or 5.
+
# Other copyrightable data included in KDE's codebase must be licensed under one of the terms in Sections 4 or 5. If a file is not copyrightable (e.g. it is an automatically generated file, a trivial list of files, or trivial test data) it shall have the '''[https://spdx.org/licenses/CC0-1.0.html CC0-1.0]''' license.
# Contributors who have signed the Fiduciary License Agreement with KDE e.V. may licence files described in section 3 under LGPL 2.1 & 3 only and may licence other source files under GPL 2 & 3 only.
+
# As new versions of GNU licenses are published they will be discussed by the membership of KDE e.V. and accepted via an announcement on https://ev.kde.org whether we will adopt it.  This will depend on if adopting the licence would harm the future distribution of KDE, if the licence preserves freedom for our developers & users and a vote by the membership agrees to the acceptance of the new licence version. When using the SPDX identifiers '''[[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]]''' or '''[[#LicenseRef-KDE-Accepted-LGPL|LicenseRef-KDE-Accepted-LGPL]]''' to express this, the respective license text must be placed according to the REUSE specification in the repository, as stated below.
# As new versions of GNU licenses are published they will be discussed by the membership of KDE e.V. and accepted via an announcement on http://ev.kde.org if: not adopting the licence would harm the future distribution of KDE, the licence preserves freedom for our developers & users and a vote by the membership agrees to the acceptance of the new licence version.
+
 
 +
== License Statements ==
 +
The [https://reuse.software/spec/ REUSE Specification - Version 3.0] shall be applied when stating licenses and when adding license files to a project.
 +
 
 +
=== SPDX Statements ===
 +
Each plain text file that can contain comments must contain comments at the top of the file (comment header) that declare that file’s copyright and licensing information. The comment header must contain one or more copyright tags and one SPDX-License-Identifier tag.
  
== GPL Header ==
+
For copyright statements either a <code>SPDX-FileCopyrightText</code> tag followed by a colon can be used or the word <code>Copyright</code>, in which case a colon is not needed.
<pre>
 
Copyright <year> <name of author> <e-mail>
 
  
This program is free software; you can redistribute it and/or
+
The <code>SPDX-License-Identifier</code> tag must be followed by a valid SPDX License Expression describing the licensing of the file (example: <code>SPDX-License-Identifier: LGPL-2.1-or-later OR MIT</code>).
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,
+
=== License Texts  ===
but WITHOUT ANY WARRANTY; without even the implied warranty of
+
The repository must include a <code>LICENSES/</code> directory in the root of the repository, which contains the license text for every used license inside the repository. Each license file shall be a plain text file that is placed in this directory and the name of the license file must be the SPDX License Identifier of the license followed by ".txt" (example: <code>LICENSES/LGPL-2.1-or-later.txt</code>). The directory must not include license files for licenses that are not used inside the repository.
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
+
The license files shall be taken from [https://spdx.org/licenses/]. It is preferred to use the [https://git.fsfe.org/reuse/tool reuse] command line tool's download option to avoid copy-paste errors.
along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
For <code>LicenseRef-KDE-Accepted-LGPL</code> and <code>LicenseRef-KDE-Accepted-GPL</code> licenses, see below.
</pre>
 
  
or for later versions approved by KDE e.V.
+
==== <span id="LicenseRef-KDE-Accepted-LGPL"></span>LicenseRef-KDE-Accepted-LGPL ====
 +
When using the <code>LicenseRef-KDE-Accepted-LGPL</code> identifier inside a project, the following file <code>LICENSES/LicenseRef-KDE-Accepted-LGPL.txt</code> must be added to the project with the following content:
  
 
<pre>
 
<pre>
Copyright <year>  <name of author> <e-mail>
+
This library is free software; you can redistribute it and/or
 
+
modify it under the terms of the GNU Lesser General Public
This program is free software; you can redistribute it and/or
+
License as published by the Free Software Foundation; either
modify it under the terms of the GNU General Public License as
+
version 3 of the license or (at your option) any later version
published by the Free Software Foundation; either version 2 of
+
that is accepted by the membership of KDE e.V. (or its successor
the License or (at your option) version 3 or any later version
+
approved by the membership of KDE e.V.), which shall act as a
accepted by the membership of KDE e.V. (or its successor approved
+
proxy as defined in Section 6 of version 3 of the license.
by the membership of KDE e.V.), which shall act as a proxy  
 
defined in Section 14 of version 3 of the license.
 
  
 
This program is distributed in the hope that it will be useful,
 
This program is distributed in the hope that it will be useful,
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 
GNU General Public License for more details.
 
GNU General Public License for more details.
 +
</pre>
  
You should have received a copy of the GNU General Public License
+
==== <span id="LicenseRef-KDE-Accepted-GPL"></span>LicenseRef-KDE-Accepted-GPL ====
along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
When using the <code>LicenseRef-KDE-Accepted-GPL</code> identifier inside a project, the following file <code>LICENSES/LicenseRef-KDE-Accepted-GPL.txt</code> must be added to the project with the following content:
</pre>
 
  
== LGPL Header ==
 
 
<pre>
 
<pre>
Copyright <year>  <name of author> <e-mail>
 
 
 
This library is free software; you can redistribute it and/or
 
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
+
modify it under the terms of the GNU General Public License as
License as published by the Free Software Foundation; either  
+
published by the Free Software Foundation; either version 3 of
version 2.1 of the License, or (at your option) any later version.
+
the license or (at your option) at any later version that is
 +
accepted by the membership of KDE e.V. (or its successor
 +
approved by the membership of KDE e.V.), which shall act as a
 +
proxy as defined in Section 14 of version 3 of the license.
  
This library is distributed in the hope that it will be useful,
+
This program is distributed in the hope that it will be useful,
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
Lesser General Public License for more details.
+
GNU General Public License for more details.
 
 
You should have received a copy of the GNU Lesser General Public
 
License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 
 
</pre>
 
</pre>
  
or for later versions approved by KDE e.V.
+
=== Templates ===
  
 +
==== GPL ([https://spdx.org/licenses/GPL-2.0-only.html GPL-2.0-only] OR [https://spdx.org/licenses/GPL-3.0-only.html GPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]]) ====
 
<pre>
 
<pre>
Copyright <year> <name of author> <e-mail>
+
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
 +
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
 +
</pre>
  
This library is free software; you can redistribute it and/or
+
==== LGPL ([https://spdx.org/licenses/LGPL-2.1-only.html LGPL-2.1-only] OR [https://spdx.org/licenses/LGPL-3.0-only.html LGPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-LGPL|LicenseRef-KDE-Accepted-LGPL]]) ====
modify it under the terms of the GNU Lesser General Public
+
<pre>
License as published by the Free Software Foundation; either
+
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
version 2.1 of the License, or (at your option) version 3, or any
+
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
later version accepted by the membership of KDE e.V. (or its
+
</pre>
successor approved by the membership of KDE e.V.), which shall
 
act as a proxy defined in Section 6 of version 3 of the license.
 
  
This library is distributed in the hope that it will be useful,
+
==== Alternative Licenses Allowed for License Compatibility ====
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
Lesser General Public License for more details.
 
  
You should have received a copy of the GNU Lesser General Public
+
===== [https://spdx.org/licenses/GPL-2.0-or-later.html GPL-2.0-or-later] =====
License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+
<pre>
 +
SPDX-License-Identifier: GPL-2.0-or-later
 +
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
 
</pre>
 
</pre>
  
== BSD License ==
+
===== [https://spdx.org/licenses/GPL-3.0-only.html GPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]] =====
 
<pre>
 
<pre>
Copyright <year> <name of author> <e-mail>
+
SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
 +
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
 +
</pre>
  
Redistribution and use in source and binary forms, with or without
+
===== [https://spdx.org/licenses/GPL-3.0-or-later.html GPL-3.0-or-later] =====
modification, are permitted provided that the following conditions
+
<pre>
are met:
+
SPDX-License-Identifier: GPL-3.0-or-later
 +
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
 +
</pre>
  
1. Redistributions of source code must retain the above copyright
+
===== [https://spdx.org/licenses/LGPL-2.1-or-later.html LGPL-2.1-or-later] =====
  notice, this list of conditions and the following disclaimer.
+
<pre>
2. Redistributions in binary form must reproduce the above copyright
+
SPDX-License-Identifier: LGPL-2.1-or-later
  notice, this list of conditions and the following disclaimer in the
+
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
  documentation and/or other materials provided with the distribution.
+
</pre>
  
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+
===== [https://spdx.org/licenses/BSD-2-Clause.html BSD-2-Clause] =====
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+
<pre>
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+
SPDX-License-Identifier: BSD-2-Clause
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
</pre>
 
</pre>
  
A third requirement is sometimes included: "3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission." 
+
A third requirement is sometimes included: [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause]
  
The advertising clause requiring mention in adverts must never be included.
+
The advertising clause requiring mention in adverts must never be included. The Facebook patent grant must never be included.
  
== X11 License ==
+
===== [https://spdx.org/licenses/X11.html X11] =====
 
<pre>
 
<pre>
Copyright <year> <name of author> <e-mail>
+
SPDX-License-Identifier: X11
 +
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
 +
</pre>
  
Permission is hereby granted, free of charge, to any person obtaining a copy
+
===== [https://spdx.org/licenses/MIT.html MIT] =====
of this software and associated documentation files (the "Software"), to deal
+
<pre>
in the Software without restriction, including without limitation the rights
+
SPDX-License-Identifier: MIT
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
copies of the Software, and to permit persons to whom the Software is
+
</pre>
furnished to do so, subject to the following conditions:
 
  
The above copyright notice and this permission notice shall be included in
+
== License Headers (Deprecated) ==
all copies or substantial portions of the Software.
+
Traditional license headers for stating licenses in source code files is deprecated and shall only be used to maintain consistency inside a repository.
  
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
 
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
  
Except as contained in this notice, the name of the X Consortium shall not be
+
= Changelog =
used in advertising or otherwise to promote the sale, use or other dealings
+
== September 2020 ==
in this Software without prior written authorization from the X Consortium.
+
* Clarified that non copyrightable data shall shave CC0-1.0.
</pre>
 
  
== MIT license ==
+
== June 2020 ==
<pre>
+
* Reshuffled template blobs. No longer offering templates for the deprecated header formats.
Copyright <year>  <name of author> <e-mail>
 
  
Permission to use, copy, modify, and distribute this software
+
== January 2020 ==
and its documentation for any purpose and without fee is hereby
+
* update deprecated SPDX identifiers
granted, provided that the above copyright notice appear in all
+
* allow REUSE.software compatible license statements as an alternative to license headers
copies and that both that the copyright notice and this
+
* define SPDX compatible license statements for later version of GPL and LGPL
permission notice and warranty disclaimer appear in supporting
+
* define SPDX based license statements
documentation, and that the name of the author not be used in
 
advertising or publicity pertaining to distribution of the
 
software without specific, written prior permission.
 
  
The author disclaim all warranties with regard to this
+
== July 2017 ==
software, including all implied warranties of merchantability
+
* Note that Qt is LGPL 3 not 2.1
and fitness.  In no event shall the author be liable for any
+
* Code copied from Qt can be GPL 3 as well as GPL 2, check comparible with your code
special, indirect or consequential damages or any damages
+
* Allow AGPL for web apps
whatsoever resulting from loss of use, data or profits, whether
+
* Encourage AGPL for web apps
in an action of contract, negligence or other tortious action,
+
* Allow icons to be CC-BY-SA 4
arising out of or in connection with the use or performance of
+
* Allow media files to be CC-BY-SA 4 and no longer allow CC-BY-SA 3
this software.
+
* Note CC-BY-SA 4 is LGPL 3 compatible
</pre>
+
* Documentation to be CC-BY-SA 4
 +
* MIT text now one of the more standard variants (modern style with sublicence)
 +
* Links to SPDX licences
 +
* Dissallow Facebook's additional grant of patent rights
 +
* require (L)GPL2+3+eV with option of other stuff to give a clear indication of which is preferred
 +
* remove licence option of GPL2+3 only for FLA signers, nobody uses it and it's the same as GPL2+3+eV
 +
* Note images must have SVG committed with it
 +
* re-order license headers to make 2+3+KDEeV the main option
  
 
[[Category:Policies]]
 
[[Category:Policies]]

Latest revision as of 14:08, 8 September 2020

This licence policy is designed to allow maximum code reuse with the community of KDE and beyond while making exceptions for the few cases which need it.

Guidelines and best practices for applying this policy can be found in the Licensing HowTo.

Policy

All new source code and related data files in KDE repositories (SVN, Git) must meet the following requirements:

  1. All files must be in their preferred modifiable form, or alongside the file which is the preferred modifiable form. In the 'alongside' case, there must be clear instructions for how to build using the preferred modifiable form.
  2. All source files must contain a copyright header which identifies the copyright holder(s) together with an e-mail address that can be used to reach the copyright holder.
  3. Each source file either must contain SPDX identifiers or licence headers to state under which terms the software may be used, modified and redistributed. The SPDX identifiers or licence headers stated below must be used. Inside one repository all files shall follow the same system for licence statements.
    1. For each used SPDX identifier, the licence text must be included compatible with the SPDX specification.
  4. Source files that are part of a library with a public API which is part of the KDE Platform (kdelibs, kdepimlibs, kde-runtime and KDE Frameworks) must be licensed under:
    They may also be licensed under one of the following terms if it helps with license compatibility:
    Note: each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
    Note: code may not be copied from Qt into KDE Platform as Qt is LGPL 3 only which would prevent it being used under LGPL 2.1
    Note: the LGPL 2.1, 3 or approved by e.V. option is preferred and should be used unless there are special needs to improve code shareability
  5. Any other source files must be licensed under one of the terms listed under 4) or:
    They may also be licensed under one of the following terms if it helps with license compatibility:
    • GPL-2.0-or-later: GPL version 2 or later
    • GPL-3.0-or-later: GPL version 3 or later
    • GPL-3-0-only OR LicenseRef-KDE-Accepted-GPL: GPL version 3 or later versions approved by the membership of KDE e.V.
    • Code copied from Qt may be licenced under GPL version 2 or later versions or under GPL version 3 or later versions depending on the licence of the relevant Qt code
    Note: each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
    Note: where a KDE repository contains files which are GPL 3+ and where the licence is stated with license headers, it must be clearly marked by adding the full licence in a file called COPYING.GPL3 in the top directory of the repository
    Note: Qt modules are either GPL2+ or GPL 3+, ensure the licence is compatible with your code before copying code from Qt
  6. Applications which are intended to be run on a server may be licenced under the AGPL-3.0-or-later: GNU AGPL or later
    Note: the GNU AGPL is the recommended licence for server software in KDE
  7. Translations of text from the files described in section 4 must be licenced under one of the terms in sections 4. Translations of text from other files must be licenced under one of the terms in sections 4 or 5.
  8. Media files such as images may be licensed under the CC-BY-SA-4.0 or compatible licence.
    Note: Image files must be committed together with their preferred modifiable form such as SVG.
    Note: CC-BY-SA 4.0 can be one-way converted to GPL 3.
  9. Icons should be licenced as CC-BY-SA 4.0 or can also be licenced under any of the terms in section 4 or 5 or 8. Icons in oxygen-icons and breeze-icons themes must be licenced under the "LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL", i.e. LGPL 3 or later versions approved by KDE e.V.
  10. Content on collaborative edited websites such as wikis must be licensed under the Creative Commons Attribution-Sharealike 4.0 International or compatible licence.
  11. Documentation must be licensed under the CC-BY-SA-4.0 or compatible licence
    Note: CC-BY-SA 4.0 can be one-way converted to GPL 3.
  12. Documentation started before 2017 can be licensed under one of the following terms:
    • FDL versions 1.2 or later versions with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    • FDL versions 1.2 or later versions approved by KDE e.V. with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    Note each bulletpoint above is a single option, it can not be licenced under just part of one bulletpoint option
    Documentation may additionally be licensed under any of the terms in section 4 or 5.
  13. CMake modules must be licenced under the BSD licence listed below
  14. Windows installer files using the WiX Toolset may be licenced under the Common Public Licence 1.0
  15. Other copyrightable data included in KDE's codebase must be licensed under one of the terms in Sections 4 or 5. If a file is not copyrightable (e.g. it is an automatically generated file, a trivial list of files, or trivial test data) it shall have the CC0-1.0 license.
  16. As new versions of GNU licenses are published they will be discussed by the membership of KDE e.V. and accepted via an announcement on https://ev.kde.org whether we will adopt it. This will depend on if adopting the licence would harm the future distribution of KDE, if the licence preserves freedom for our developers & users and a vote by the membership agrees to the acceptance of the new licence version. When using the SPDX identifiers LicenseRef-KDE-Accepted-GPL or LicenseRef-KDE-Accepted-LGPL to express this, the respective license text must be placed according to the REUSE specification in the repository, as stated below.

License Statements

The REUSE Specification - Version 3.0 shall be applied when stating licenses and when adding license files to a project.

SPDX Statements

Each plain text file that can contain comments must contain comments at the top of the file (comment header) that declare that file’s copyright and licensing information. The comment header must contain one or more copyright tags and one SPDX-License-Identifier tag.

For copyright statements either a SPDX-FileCopyrightText tag followed by a colon can be used or the word Copyright, in which case a colon is not needed.

The SPDX-License-Identifier tag must be followed by a valid SPDX License Expression describing the licensing of the file (example: SPDX-License-Identifier: LGPL-2.1-or-later OR MIT).

License Texts

The repository must include a LICENSES/ directory in the root of the repository, which contains the license text for every used license inside the repository. Each license file shall be a plain text file that is placed in this directory and the name of the license file must be the SPDX License Identifier of the license followed by ".txt" (example: LICENSES/LGPL-2.1-or-later.txt). The directory must not include license files for licenses that are not used inside the repository.

The license files shall be taken from [1]. It is preferred to use the reuse command line tool's download option to avoid copy-paste errors. For LicenseRef-KDE-Accepted-LGPL and LicenseRef-KDE-Accepted-GPL licenses, see below.

LicenseRef-KDE-Accepted-LGPL

When using the LicenseRef-KDE-Accepted-LGPL identifier inside a project, the following file LICENSES/LicenseRef-KDE-Accepted-LGPL.txt must be added to the project with the following content:

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the license or (at your option) any later version
that is accepted by the membership of KDE e.V. (or its successor
approved by the membership of KDE e.V.), which shall act as a
proxy as defined in Section 6 of version 3 of the license.

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.

LicenseRef-KDE-Accepted-GPL

When using the LicenseRef-KDE-Accepted-GPL identifier inside a project, the following file LICENSES/LicenseRef-KDE-Accepted-GPL.txt must be added to the project with the following content:

This library 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) at any later version that is
accepted by the membership of KDE e.V. (or its successor
approved by the membership of KDE e.V.), which shall act as a
proxy as defined in Section 14 of version 3 of the license.

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.

Templates

GPL (GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL)

SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
SPDX-FileCopyrightText: <year> <name of author> <e-mail>

LGPL (LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL)

SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
SPDX-FileCopyrightText: <year> <name of author> <e-mail>

Alternative Licenses Allowed for License Compatibility

GPL-2.0-or-later
SPDX-License-Identifier: GPL-2.0-or-later
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
GPL-3.0-or-later
SPDX-License-Identifier: GPL-3.0-or-later
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
LGPL-2.1-or-later
SPDX-License-Identifier: LGPL-2.1-or-later
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
BSD-2-Clause
SPDX-License-Identifier: BSD-2-Clause
SPDX-FileCopyrightText: <year> <name of author> <e-mail>

A third requirement is sometimes included: BSD-3-Clause

The advertising clause requiring mention in adverts must never be included. The Facebook patent grant must never be included.

X11
SPDX-License-Identifier: X11
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
MIT
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: <year> <name of author> <e-mail>

License Headers (Deprecated)

Traditional license headers for stating licenses in source code files is deprecated and shall only be used to maintain consistency inside a repository.


Changelog

September 2020

  • Clarified that non copyrightable data shall shave CC0-1.0.

June 2020

  • Reshuffled template blobs. No longer offering templates for the deprecated header formats.

January 2020

  • update deprecated SPDX identifiers
  • allow REUSE.software compatible license statements as an alternative to license headers
  • define SPDX compatible license statements for later version of GPL and LGPL
  • define SPDX based license statements

July 2017

  • Note that Qt is LGPL 3 not 2.1
  • Code copied from Qt can be GPL 3 as well as GPL 2, check comparible with your code
  • Allow AGPL for web apps
  • Encourage AGPL for web apps
  • Allow icons to be CC-BY-SA 4
  • Allow media files to be CC-BY-SA 4 and no longer allow CC-BY-SA 3
  • Note CC-BY-SA 4 is LGPL 3 compatible
  • Documentation to be CC-BY-SA 4
  • MIT text now one of the more standard variants (modern style with sublicence)
  • Links to SPDX licences
  • Dissallow Facebook's additional grant of patent rights
  • require (L)GPL2+3+eV with option of other stuff to give a clear indication of which is preferred
  • remove licence option of GPL2+3 only for FLA signers, nobody uses it and it's the same as GPL2+3+eV
  • Note images must have SVG committed with it
  • re-order license headers to make 2+3+KDEeV the main option

This page was last edited on 8 September 2020, at 14:08. Content is available under Creative Commons License SA 4.0 unless otherwise noted.
-->