Jump to content

Policies/Licensing Policy: Difference between revisions

From KDE Community Wiki
*>Cullmann
m Protected "Policies/Licensing Policy" [edit=sysop:move=sysop]
Sommer (talk | contribs)
Clarify BSD-2-Clause/BSD-3-Clause as discussed on kde-community maling list https://mail.kde.org/pipermail/kde-community/2022q4/007400.html
 
(34 intermediate revisions by 14 users not shown)
Line 1: Line 1:
All source code in KDE SVN 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.
# All source files must contain a copyright header which identifies the copyright holder(s) together with a e-mail address that can be used to reach the copyright holder.
# Each source file must contain a license or a reference to a license which states under which terms the software may be used, modified and redistributed.
# Source files that are part of a library in kdelibs must be licensed under the terms of any of the following licenses:
#* '''LGPL''' as listed in {{path|kdelibs/COPYING.LIB}}
#* '''BSD license''' as listed in {{path|kdelibs/COPYING.BSD}} and below.<br/>Note that the BSD license '''does not contain the so called 'advertisement clause'.'''
#* '''X11 license''' as listed below.
# Any other source files must be licensed under the terms of one of the licenses listed under 3) or any of the following licenses:
#* '''GPL''' as listed in {{path|kdelibs/COPYING}}
#* '''QPL''' as listed below.
#* '''MIT license''' as listed below.
#* '''Artistic license''' as listed below.


== BSD License ==
Guidelines and best practices for applying this policy can be found in the [[Guidelines_and_HOWTOs/Licensing|Licensing HowTo]].
<pre>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:


1. Redistributions of source code must retain the above copyright
== Policy ==
  notice, this list of conditions and the following disclaimer.
All new source code and related data files in KDE repositories (SVN, Git) must meet the following requirements:
2. Redistributions in binary form must reproduce the above copyright
# 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.
  notice, this list of conditions and the following disclaimer in the
# 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.
  documentation and/or other materials provided with the distribution.
# 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 [[#Templates|stated below]] must be used. Inside one repository all files shall follow the same system for licence statements.
## For each used SPDX identifier, the licence text must be included compatible with the SPDX specification.
# ''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:
#* '''[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.
#:They may also be licensed under one of the following terms if it helps with license compatibility:
#* '''[https://spdx.org/licenses/LGPL-2.1-or-later.html LGPL-2.1-or-later:]''' LGPL version 2.1 or later
#* '''[https://spdx.org/licenses/BSD-2-Clause.html BSD-2-Clause:]''' BSD-2-Clause license as [[#BSD-2-Clause|listed below]].'''
#* '''[https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause:]''' BSD-3-Clause license as [[#BSD-3-Clause|listed below]]. </br> '''Note:''' It is strongly discouraged to use the BSD-3-Clause license. It makes sharing code within KDE more complicated and isn’t of much benefit. Unless you must use it (for example because of upstream compatibility), use the BSD-2-Clause instead.'''
#* '''[https://spdx.org/licenses/MIT.html MIT:]''' MIT license as listed below.
#* '''[https://spdx.org/licenses/X11.html X11:]''' X11 license as listed below.
#:'''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
# Any other source files must be licensed under one of the terms listed under 4) or:
#* '''[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.
#:They may also be licensed under one of the following terms if it helps with license compatibility:
#* '''[https://spdx.org/licenses/GPL-2.0-or-later.html GPL-2.0-or-later]:''' GPL version 2 or later
#* '''[https://spdx.org/licenses/GPL-3.0-or-later.html GPL-3.0-or-later]:''' GPL version 3 or later
#* '''[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
#:Documentation may additionally be licensed under any of the terms in section 4 or 5.
# ''CMake code'' must be licenced under the BSD-2-Clause license as [[#BSD-2-Clause|listed below]] or the BSD-3-Clause licence as [[#BSD-3-Clause|listed below]]. </br> '''Note:''' It is strongly discouraged to use the BSD-3-Clause license. It makes sharing code within KDE more complicated and isn’t of much benefit. Unless you must use it (for example because of upstream compatibility), use the BSD-2-Clause instead.
# ''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 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.
# 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.
# ''Geographic data'', in particular data based on or derived from OpenStreetMap may be licensed under the '''[https://spdx.org/licenses/ODbL-1.0.html Open Data Commons Open Database License v1.0]'''.


THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
== License Statements ==
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
The [https://reuse.software/spec/ REUSE Specification - Version 3.0] shall be applied when stating licenses and when adding license files to a project.
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
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>


== X11 License ==
=== SPDX Statements ===
<pre>
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.
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
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.
all copies or substantial portions of the Software.


THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 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>).
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
=== License Texts  ===
used in advertising or otherwise to promote the sale, use or other dealings
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.
in this Software without prior written authorization from the X Consortium.
</pre>


== QPL ==
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.
<pre>
For <code>LicenseRef-KDE-Accepted-LGPL</code> and <code>LicenseRef-KDE-Accepted-GPL</code> licenses, see below.
    THE Q PUBLIC LICENSE
  version 1.0


  Copyright (C) 1999-2000 Trolltech AS, Norway.
==== <span id="LicenseRef-KDE-Accepted-LGPL"></span>LicenseRef-KDE-Accepted-LGPL ====
      Everyone is permitted to copy and
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:
      distribute this license document.


The intent of this license is to establish freedom to share and change the
<pre>
software regulated by this license under the open source model.
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 license applies to any software containing a notice placed by the
This program is distributed in the hope that it will be useful,
copyright holder saying that it may be distributed under the terms of
but WITHOUT ANY WARRANTY; without even the implied warranty of
the Q Public License version 1.0. Such software is herein referred to as
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
the Software.  This license covers modification and distribution of the
GNU General Public License for more details.
Software, use of third-party application programs based on the Software,
</pre>
and development of free software which uses the Software.


Granted Rights
==== <span id="LicenseRef-KDE-Accepted-GPL"></span>LicenseRef-KDE-Accepted-GPL ====
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:


1. You are granted the non-exclusive rights set forth in this license
<pre>
  provided you agree to and comply with any and all conditions in this
This program is free software; you can redistribute it and/or
  license.  Whole or partial distribution of the Software, or software
modify it under the terms of the GNU General Public License as
  items that link with the Software, in any form signifies acceptance of
published by the Free Software Foundation; either version 3 of
  this license.
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.


2. You may copy and distribute the Software in unmodified form provided
This program is distributed in the hope that it will be useful,
  that the entire package, including - but not restricted to - copyright,
but WITHOUT ANY WARRANTY; without even the implied warranty of
  trademark notices and disclaimers, as released by the initial developer
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  of the Software, is distributed.
GNU General Public License for more details.
</pre>


3. You may make modifications to the Software and distribute your
=== Templates ===
  modifications, in a form that is separate from the Software, such as
  patches. The following restrictions apply to modifications:


    a. Modifications must not alter or remove any copyright notices in
==== 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]]) ====
        the Software.
<pre>
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>


    b. When modifications to the Software are released under this
==== 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]]) ====
        license, a non-exclusive royalty-free right is granted to the
<pre>
        initial developer of the Software to distribute your modification
SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
        in future versions of the Software provided such versions remain
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
        available under these terms in addition to any other license(s) of
</pre>
        the initial developer.


4. You may distribute machine-executable forms of the Software or
==== Alternative Licenses Allowed for License Compatibility ====
  machine-executable forms of modified versions of the Software, provided
  that you meet these restrictions:


    a. You must include this license document in the distribution.
===== [https://spdx.org/licenses/GPL-2.0-or-later.html GPL-2.0-or-later] =====
<pre>
SPDX-License-Identifier: GPL-2.0-or-later
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
</pre>


    b. You must ensure that all recipients of the machine-executable forms
===== [https://spdx.org/licenses/GPL-3.0-only.html GPL-3.0-only] OR [[#LicenseRef-KDE-Accepted-GPL|LicenseRef-KDE-Accepted-GPL]] =====
        are also able to receive the complete machine-readable source code
<pre>
        to the distributed Software, including all modifications, without
SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
        any charge beyond the costs of data transfer, and place prominent
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
        notices in the distribution explaining this.
</pre>


    c. You must ensure that all modifications included in the
===== [https://spdx.org/licenses/GPL-3.0-or-later.html GPL-3.0-or-later] =====
        machine-executable forms are available under the terms of this
<pre>
        license.
SPDX-License-Identifier: GPL-3.0-or-later
 
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
5. You may use the original or modified versions of the Software to
  compile, link and run application programs legally developed by you
  or by others.
 
6. You may develop application programs, reusable components and other
  software items that link with the original or modified versions of the
  Software.  These items, when distributed, are subject to the following
  requirements:
 
    a. You must ensure that all recipients of machine-executable forms of
        these items are also able to receive and use the complete
        machine-readable source code to the items without any charge
        beyond the costs of data transfer.
 
    b. You must explicitly license all recipients of your items to use
        and re-distribute original and modified versions of the items in
        both machine-executable and source code forms. The recipients must
        be able to do so without any charges whatsoever, and they must be
        able to re-distribute to anyone they choose.
 
 
    c. If the items are not available to the general public, and the
        initial developer of the Software requests a copy of the items,
        then you must supply one.
 
    Limitations of Liability
 
In no event shall the initial developers or copyright holders be liable
for any damages whatsoever, including - but not restricted to - lost
revenue or profits or other direct, indirect, special, incidental or
consequential damages, even if they have been advised of the possibility
of such damages, except to the extent invariable law, if any, provides
otherwise.
 
          No Warranty
 
The Software and this license document are provided AS IS with NO WARRANTY
OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE.
                                Choice of Law
 
This license is governed by the Laws of Norway. Disputes shall be settled
by Oslo City Court.
</pre>
</pre>


== MIT license ==
===== [https://spdx.org/licenses/LGPL-2.1-or-later.html LGPL-2.1-or-later] =====
<pre>
<pre>
Permission to use, copy, modify, and distribute this software
SPDX-License-Identifier: LGPL-2.1-or-later
and its documentation for any purpose and without fee is hereby
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
granted, provided that the above copyright notice appear in all
copies and that both that the copyright notice and this
permission notice and warranty disclaimer appear in supporting
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
software, including all implied warranties of merchantability
and fitness.  In no event shall the author be liable for any
special, 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.
</pre>
</pre>


== Artistic License ==
===== [https://spdx.org/licenses/BSD-2-Clause.html BSD-2-Clause] =====
<pre>
<pre>
                              The "Artistic License"
SPDX-License-Identifier: BSD-2-Clause
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
</pre>


                                      Preamble
'''Note:''' SPDX lists a half-dozen BSD-2-Clause variants, but you must use exclusively the one listed here.


        The intent of this document is to state the conditions under which a
===== [https://spdx.org/licenses/BSD-3-Clause.html BSD-3-Clause] =====
        Package may be copied, such that the Copyright Holder maintains some
<pre>
        semblance of artistic control over the development of the package,
SPDX-License-Identifier: BSD-3-Clause
        while giving the users of the package the right to use and
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
        distribute the Package in a more-or-less customary fashion, plus the
</pre>
        right to make reasonable modifications.


        Definitions:
'''Note:''' SPDX lists a half-dozen BSD-3-Clause variants, but you must use exclusively the one listed here.


          * "Package" refers to the collection of files distributed by the
===== [https://spdx.org/licenses/X11.html X11] =====
            Copyright Holder, and derivatives of that collection of files
<pre>
            created through textual modification.
SPDX-License-Identifier: X11
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
</pre>


          * "Standard Version" refers to such a Package if it has not been
===== [https://spdx.org/licenses/MIT.html MIT] =====
            modified, or has been modified in accordance with the wishes of
<pre>
            the Copyright Holder.
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: <year> <name of author> <e-mail>
</pre>


          * "Copyright Holder" is whoever is named in the copyright or
== License Headers (Deprecated) ==
            copyrights for the package.
Traditional license headers for stating licenses in source code files is deprecated and shall only be used to maintain consistency inside a repository.


          * "You" is you, if you're thinking about copying or distributing
            this Package.


          * "Reasonable copying fee" is whatever you can justify on the
= Changelog =
            basis of media cost, duplication charges, time of people
            involved, and so on. (You will not be required to justify it to
            the Copyright Holder, but only to the computing community at
            large as a market that must bear the fee.)


          * "Freely Available" means that no fee is charged for the item
== January 2023 ==
            itself, though there may be fees involved in handling the item.
* Clarify usage of BSD licence variants, based on a discussion on the kde-community mailing list (https://mail.kde.org/pipermail/kde-community/2022q4/007400.html).
            It also means that recipients of the item may redistribute it
            under the same conditions they received it.


        1. You may make and give away verbatim copies of the source form of
== September 2021 ==
        the Standard Version of this Package without restriction, provided
* Added ODbL-1.0 for geographic data derived from OSM, based on a discussion on the kde-communit and kde-frameworks-devel mailing lists (https://mail.kde.org/pipermail/kde-community/2021q3/007064.html).
        that you duplicate all of the original copyright notices and
        associated disclaimers.


        2. You may apply bug fixes, portability fixes and other
== December 2020 ==
        modifications derived from the Public Domain or from the Copyright
* Clarified that CMake license requirements apply to all CMake code as discussed in 'CMake source files without license' on kde-devel list.
        Holder. A Package modified in such a way shall still be considered
        the Standard Version.


        3. You may otherwise modify your copy of this Package in any way,
== September 2020 ==
        provided that you insert a prominent notice in each changed file
* Clarified that non copyrightable data shall shave CC0-1.0.
        stating how and when you changed that file, and provided that you do
        at least ONE of the following:


            a) place your modifications in the Public Domain or
== June 2020 ==
            otherwise make them Freely Available, such as by posting
* Reshuffled template blobs. No longer offering templates for the deprecated header formats.
            said modifications to Usenet or an equivalent medium, or
            placing the modifications on a major archive site such as
            ftp.uu.net, or by allowing the Copyright Holder to include
            your modifications in the Standard Version of the Package.


            b) use the modified Package only within your corporation
== January 2020 ==
            or organization.
* 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


            c) rename any non-standard executables so the names do not
== July 2017 ==
            conflict with standard executables, which must also be
* Note that Qt is LGPL 3 not 2.1
            provided, and provide a separate manual page for each
* Code copied from Qt can be GPL 3 as well as GPL 2, check comparible with your code
            non-standard executable that clearly documents how it
* Allow AGPL for web apps
            differs from the Standard Version.
* Encourage AGPL for web apps
 
* Allow icons to be CC-BY-SA 4
            d) make other distribution arrangements with the Copyright
* Allow media files to be CC-BY-SA 4 and no longer allow CC-BY-SA 3
            Holder.
* Note CC-BY-SA 4 is LGPL 3 compatible
 
* Documentation to be CC-BY-SA 4
        4. You may distribute the programs of this Package in object code or
* MIT text now one of the more standard variants (modern style with sublicence)
        executable form, provided that you do at least ONE of the following:
* Links to SPDX licences
 
* Dissallow Facebook's additional grant of patent rights
            a) distribute a Standard Version of the executables and
* require (L)GPL2+3+eV with option of other stuff to give a clear indication of which is preferred
            library files, together with instructions (in the manual
* remove licence option of GPL2+3 only for FLA signers, nobody uses it and it's the same as GPL2+3+eV
            page or equivalent) on where to get the Standard Version.
* Note images must have SVG committed with it
 
* re-order license headers to make 2+3+KDEeV the main option
            b) accompany the distribution with the machine-readable
            source of the Package with your modifications.
 
            c) accompany any non-standard executables with their
            corresponding Standard Version executables, giving the
            non-standard executables non-standard names, and clearly
            documenting the differences in manual pages (or
            equivalent), together with instructions on where to get
            the Standard Version.
 
            d) make other distribution arrangements with the Copyright
            Holder.
 
        5. You may charge a reasonable copying fee for any distribution of
        this Package. You may charge any fee you choose for support of this
        Package. You may not charge a fee for this Package itself. However,
        you may distribute this Package in aggregate with other (possibly
        commercial) programs as part of a larger (possibly commercial)
        software distribution provided that you do not advertise this
        Package as a product of your own.
 
        6. The scripts and library files supplied as input to or produced as
        output from the programs of this Package do not automatically fall
        under the copyright of this Package, but belong to whomever
        generated them, and may be sold commercially, and may be aggregated
        with this Package.
 
        7. C or perl subroutines supplied by you and linked into this
        Package shall not be considered part of this Package.
 
        8. The name of the Copyright Holder may not be used to endorse or
        promote products derived from this software without specific prior
        written permission.
 
        9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
        IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
        WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
                                      The End
</pre>


[[Category:Policies]]
[[Category:Policies]]

Latest revision as of 08:08, 11 January 2023

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:
    • LGPL-2.1-or-later: LGPL version 2.1 or later
    • BSD-2-Clause: BSD-2-Clause license as listed below.
    • BSD-3-Clause: BSD-3-Clause license as listed below.
      Note: It is strongly discouraged to use the BSD-3-Clause license. It makes sharing code within KDE more complicated and isn’t of much benefit. Unless you must use it (for example because of upstream compatibility), use the BSD-2-Clause instead.
    • MIT: MIT license as listed below.
    • X11: X11 license as listed below.
    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 code must be licenced under the BSD-2-Clause license as listed below or the BSD-3-Clause licence as listed below.
    Note: It is strongly discouraged to use the BSD-3-Clause license. It makes sharing code within KDE more complicated and isn’t of much benefit. Unless you must use it (for example because of upstream compatibility), use the BSD-2-Clause instead.
  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.
  17. Geographic data, in particular data based on or derived from OpenStreetMap may be licensed under the Open Data Commons Open Database License v1.0.

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 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) 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>

Note: SPDX lists a half-dozen BSD-2-Clause variants, but you must use exclusively the one listed here.

BSD-3-Clause
SPDX-License-Identifier: BSD-3-Clause
SPDX-FileCopyrightText: <year> <name of author> <e-mail>

Note: SPDX lists a half-dozen BSD-3-Clause variants, but you must use exclusively the one listed here.

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

January 2023

September 2021

December 2020

  • Clarified that CMake license requirements apply to all CMake code as discussed in 'CMake source files without license' on kde-devel list.

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