summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--quip-0018-license-specification.rst61
1 files changed, 44 insertions, 17 deletions
diff --git a/quip-0018-license-specification.rst b/quip-0018-license-specification.rst
index e482f3d..201a2f9 100644
--- a/quip-0018-license-specification.rst
+++ b/quip-0018-license-specification.rst
@@ -5,7 +5,9 @@ Author: Lucie Gerard,
Status: Active
Type: Informational
Created: 2022-09-26
-Post-History: https://lists.qt-project.org/pipermail/development/2023-February/043648.html
+Post-History:
+ https://lists.qt-project.org/pipermail/development/2023-February/043648.html
+ https://lists.qt-project.org/pipermail/development/2024-February/045028.html
Overview
========
@@ -83,13 +85,21 @@ GPL-3.0-only``.
The GPL-only license expression is ``LicenseRef-Qt-Commercial OR
GPL-3.0-only``.
-Examples
---------
+The license expression for files that are statically linked with user
+code - even for dynamic builds of Qt - is
+``LicenseRef-Qt-Commercial OR BSD-3-Clause``.
+
+Examples and Snippets
+---------------------
Files that belong to the implementation of Qt examples. The usual
locations for examples is the ``examples/`` subdirectory.
-The license expression for examples is ``LicenseRef-Qt-Commercial OR
+Also, any source code that appears in the documentation. The usual locations are
+``snippets/`` directories throughout the Qt module repository's directory
+tree.
+
+The license expression for examples and snippets is ``LicenseRef-Qt-Commercial OR
BSD-3-Clause``.
Tests
@@ -101,13 +111,25 @@ location is the ``tests/`` subdirectory.
The license expression for tests is ``LicenseRef-Qt-Commercial OR
GPL-3.0-only``.
-Tools
------
+Tools and Utils
+---------------
Files that belong to the implementation of Qt tools that are for use
by Qt users. The usual location is the ``src/tools/`` subdirectory.
-The license expression for tools is ``LicenseRef-Qt-Commercial OR
+Also considered tools are script and shell files,
+as long as they are not part of an example or a documentation snippet.
+Such files are usually using the following file name patterns:
+
+- ``*.sh``
+- ``*.py``
+- ``*.pl``
+- ``*.bat``
+- ``*.ps1``
+
+Finally, files that are located in a /util/ directory.
+
+The license expression for tools and utils is ``LicenseRef-Qt-Commercial OR
GPL-3.0-only WITH Qt-GPL-exception-1.0``.
Documentation
@@ -119,16 +141,6 @@ generate the documentation.
The license expression for documentation is ``LicenseRef-Qt-Commercial
OR GFDL-1.3-no-invariants-only``.
-Documentation snippets
-----------------------
-
-Any source code that appears in the documentation. The usual locations are
-``doc/snippets/`` directories throughout the Qt module repository's directory
-tree.
-
-The license expression for documentation snippets is
-``LicenseRef-Qt-Commercial OR BSD-3-Clause``.
-
Build System Files
------------------
@@ -141,8 +153,23 @@ name patterns:
- ``*.pri``
- ``*.prf``
+If such a file is present in a snippet directory, it is licensed as
+a documentation snippets file.
+If such a file is present in an example directory, it is licensed as
+an example file.
+
The license expression for build system files is ``BSD-3-Clause``.
+Testing License Usage
+=====================
+
+The Qt CI can enforce correct usages of license files.
+This requires a 'licenseRule.json' file to exist in the top-level
+directory of the Qt module's repository. This file contain
+declarative rules, based on file suffix and directory,
+and should follow the rules set out in this QUIP.
+They do allow for exceptions and special cases though, if necessary.
+
Related Work
============