Details
-
User Story
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
cd4db512a (dev), ae7b07e08 (6.5), 5d0720799 (dev), d93174896 (6.5), 8f4ec7436 (dev), 7ea471ec9 (dev), 9a63f8bda (6.5), 8e91f6f29 (dev), 9c3287c96 (6.5), dd46f3ca2 (dev), 4c0d8106c (6.5), eecfb1954 (dev), f47780204 (6.5), a09d8e0ae (dev), 6affbbde9 (6.7)
Description
Let's replace our current license disclaimer in files by an SPDX-License-Identifier.
Advantages
- More concise (less visual clutter at the beginning of the file)
- easy to parse by third-party tools
- easy to validate
See e.g. the Linux kernel that switched to SPDX-License-Identifier: https://lwn.net/Articles/739183/ . Also KDE has done so.
A template for setting up using SPDX-License-Identifier is available at https://reuse.software/spec/ . I'm not yet sure whether we can (and should) follow the framework 100% (there's e.g. a requirement to mark the license of every file, which is a bit annoying say for image files, and 3rd party code). But we should only deviate from the suggestions where necessary.
SPDX License Mapping
QT_BEGIN_LICENSE | SPDX Identifier |
---|---|
QT_BEGIN_LICENSE:BSD | LicenseRef-Qt-Commercial OR BSD-3-Clause |
QT_BEGIN_LICENSE:COMM | LicenseRef-Qt-Commercial |
QT_BEGIN_LICENSE:FDL | LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only |
QT_BEGIN_LICENSE:GPL | LicenseRef-Qt-Commercial OR GPL-3.0-only |
QT_BEGIN_LICENSE:GPL-EXCEPT | LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 |
QT_BEGIN_LICENSE:LGPL | LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
QT_BEGIN_LICENSE:LGPL-NOGPL2 | LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-3.0-only |
QT_BEGIN_LICENSE:LGPL-ONLY | LGPL-2.1-only |
QT_BEGIN_LICENSE:LGPL3 | LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only |
QT_BEGIN_LICENSE:LGPL3-COMM | LicenseRef-Qt-Commercial OR LGPL-3.0-only |
QT_BEGIN_LICENSE:MIT | MIT |
License files
Current license files (LICENSE.*) are removed from the main directory of each repository. Instead, licenses named after SPDX identifier:
- LICENSES/LicenseRef-Qt-Commercial.txt
- LICENSES/BSD-3-Clause.txt
- ...
Qt-Commercial would be a meta-license, like it is currently:
Licensees holding valid commercial Qt licenses may use this file in
accordance with the commercial license agreement provided with the
Software or, alternatively, in accordance with the terms contained in
a written agreement between you and The Qt Company. For licensing terms
and conditions see https://www.qt.io/terms-conditions. For further
information use the contact form at https://www.qt.io/contact-us.
Action Points
- Update qtqa license scanner so that it does not bark on missing QT_BEGIN_LICENSE: headers. Instead, consider adapting https://git.fsfe.org/reuse/tool .
- Mass-change all files, repository by repository (ignoring 3rd party code for now)
Attachments
Issue Links
- relates to
-
QTBUG-103519 Invalid code generated from UI files when building linguist tool
- Closed
-
QTBUG-108364 Use SPDX license identifiers in provisioning scripts
- Closed
-
QTBUG-88621 Add license headers to CMake build system files
- Closed
- resulted in
-
QTBUG-103582 Update dependencies on 'dev' in qt/qtactiveqt fails
- Closed
-
QTQAINFRA-5013 Revise API change review scripts to cope with SPDX copyright headers
- Closed
-
QTBUG-120262 Use SPDX-License-Ref in 3rdparty directories
- Closed
-
QTBUG-104126 Let qtattributionsscanner get licenses from LICENSES directory
- Closed