summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLucie Gérard <lucie.gerard@qt.io>2025-01-31 13:03:36 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2025-03-04 10:01:04 +0000
commit07714ca72b9a3d7c6c5e7c1c5474c60c1e9104e6 (patch)
tree5bbe83429d82c4828ea7cbddd10297e26433848c
parent546d1dcc8bace489074784d56dc785816210f54f (diff)
Update quip18
Extend description of files belonging to the documentation and build type. Introduce infrastructure type. Adapt to fit current reuse status. Change-Id: I9f2ace9e3cc57be908c4cafca199c2c25d0aae51 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r--quip-0018-license-specification.rst100
1 files changed, 78 insertions, 22 deletions
diff --git a/quip-0018-license-specification.rst b/quip-0018-license-specification.rst
index 201a2f9..b0331b2 100644
--- a/quip-0018-license-specification.rst
+++ b/quip-0018-license-specification.rst
@@ -8,6 +8,7 @@ Created: 2022-09-26
Post-History:
https://lists.qt-project.org/pipermail/development/2023-February/043648.html
https://lists.qt-project.org/pipermail/development/2024-February/045028.html
+ https://lists.qt-project.org/pipermail/development/2025-February/046121.html
Overview
========
@@ -55,18 +56,13 @@ There are various kinds of files in a Qt module repository that should
include license headers. Here, we classify these files in order to
identify which files should be under which licenses.
-Files that do not support inline comments do not have to contain
-licensing information. If licensing information for such files is
-still desirable, it should be placed into an adjacent ``.license``
-text file. For example, ``blob.bin`` may be accompanied by
-``blob.bin.license`` in the same directory.
-
-Licensing information may be omitted for files with trivial content.
+Note that files that cannot use inline headers need to advertise their
+copyright and license using an adjacent REUSE.toml file [4]_.
The documentation landing page of a Qt module contains a "Licenses and
Attributions" section that defines the licenses under which the module
and plugin implementation is available. See the list of Qt modules
-[6]_.
+[7]_.
Module and plugin implementation
--------------------------------
@@ -99,8 +95,8 @@ 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``.
+The license expression for examples and snippets is
+``LicenseRef-Qt-Commercial OR BSD-3-Clause``.
Tests
-----
@@ -111,6 +107,18 @@ location is the ``tests/`` subdirectory.
The license expression for tests is ``LicenseRef-Qt-Commercial OR
GPL-3.0-only``.
+Qt Translations
+---------------
+
+The usual location and file pattern for Qt translation files is ``translations/*.ts``.
+
+The license expression for Qt translation files is ``LicenseRef-Qt-Commercial OR
+BSD-3-Clause``.
+
+If the translation file is within a ``tests/`` subdirectory it is
+licensed as a test file. We also have TS files in some examples.
+Those would be licensed as examples.
+
Tools and Utils
---------------
@@ -135,8 +143,19 @@ GPL-3.0-only WITH Qt-GPL-exception-1.0``.
Documentation
-------------
-All ``.qdoc``, ``.qdocinc`` and ``.qdocconf`` files that are needed to
-generate the documentation.
+All files that are needed to generate the documentation:
+
+- ``*.qdoc``
+- ``*.qdoc.sample``
+- ``*.qdocinc``
+- ``*.qdocconf``
+- documentation assets, like images, typically located in ``doc/images`` folders,
+ including screencasts or animations.
+
+Following informative files are also considered documentation:
+
+- ``README``
+- ``qt_attribution.json`` (also used to generate documentation)
The license expression for documentation is ``LicenseRef-Qt-Commercial
OR GFDL-1.3-no-invariants-only``.
@@ -144,14 +163,25 @@ OR GFDL-1.3-no-invariants-only``.
Build System Files
------------------
-All files that contribute to Qt's build system. That includes the following file
-name patterns:
+All files that contribute to Qt's build system.
+That includes the following file name patterns:
- ``CMakeLists.txt``
- ``*.cmake``
+- ``*.cmake.conf``
- ``*.pro``
- ``*.pri``
- ``*.prf``
+- ``configure``
+- ``ci_config_linux.json``
+- ``*.cfg``
+- ``*.qrc``
+- ``*.plist``
+- ``*.tag``
+- ``*.yaml``
+
+and files within the ``coin`` folder (unless their suffix have them fall into
+an other category, like tools for example).
If such a file is present in a snippet directory, it is licensed as
a documentation snippets file.
@@ -160,6 +190,25 @@ an example file.
The license expression for build system files is ``BSD-3-Clause``.
+Infrastructure
+--------------
+
+Files that define development environment configurations and coding standards.
+These files typically include version control settings, code formatting rules,
+editor configurations, and license setting and definition.
+Common file patterns include:
+
+- ``.gitattributes``
+- ``.gitignore``
+- ``.gitmodules``
+- ``.gireview``
+- ``_clang-format``
+- ``licenseRule.json``
+- ``REUSE.toml``
+
+The license expression for infrastructure files is
+``LicenseRef-Qt-Commercial OR BSD-3-Clause``.
+
Testing License Usage
=====================
@@ -174,13 +223,19 @@ Related Work
============
The "Software License Agreement between The KDE Free Qt Foundation and
-The Qt Company Oy" [4]_ poses restrictions for the licenses of the Qt
+The Qt Company Oy" [5]_ poses restrictions for the licenses of the Qt
Free Edition modules.
-To a certain extent, Qt follows REUSE [5]_. REUSE is a guideline on
-how to specify the licenses in a project. We don't aim for full
-compliance at this point, due to small/binary files and 3rd party
-content.
+To a certain extent, Qt follows REUSE [6]_. REUSE is a guideline on
+how to specify the licenses in a project. We aim at full
+compliance.
+
+The reuse tool is also used to generate a “software bill of materials”
+(SBOM) document for the Qt source code. Using SPDX format, such a source SBOM
+lists copyright and licensing information for all files within a module.
+In the CI, source SBOM is generated from the SDPX-formatted copyright
+and license information in the Qt sources and in the REUSE.toml files.
+The source SBOM is then checked against 'licenseRule.json'.
References
==========
@@ -189,6 +244,7 @@ References
.. [1] https://spdx.github.io/spdx-spec/v2.3/SPDX-license-expressions/
.. [2] https://spdx.org/licenses/
.. [3] https://reuse.software/tutorial/#step-1
-.. [4] https://kde.org/community/whatiskde/Software_License_Agreement_2015_Text.pdf
-.. [5] https://reuse.software/spec/
-.. [6] https://doc.qt.io/qt-6/qtmodules.html
+.. [4] https://reuse.software/spec-3.2/#reusetoml
+.. [5] https://kde.org/community/whatiskde/Software_License_Agreement_2015_Text.pdf
+.. [6] https://reuse.software/spec/
+.. [7] https://doc.qt.io/qt-6/qtmodules.html