diff options
author | Lucie Gérard <lucie.gerard@qt.io> | 2025-01-31 13:03:36 +0100 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2025-03-04 10:01:04 +0000 |
commit | 07714ca72b9a3d7c6c5e7c1c5474c60c1e9104e6 (patch) | |
tree | 5bbe83429d82c4828ea7cbddd10297e26433848c | |
parent | 546d1dcc8bace489074784d56dc785816210f54f (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.rst | 100 |
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 |