Revision control
Copy as Markdown
[
{
"comment": [ "file_pattern_ending: strings matched against the end of a file name.",
"location keys: regular expression matched against the beginning of",
"the file path (relative to the git submodule root).",
"spdx: list of SPDX-License-Expression's allowed in the matching files.",
"-------------------------------------------------------",
"Files with the following endings are Build System licensed,",
"unless they are examples",
"Files with other endings can also be build system files"],
"file_pattern_ending": ["CMakeLists.txt", ".cmake", ".pro", "configure",
".cmake.conf", ".tag", ".yaml"],
"location": {
"": {
"comment": "Default",
"file type": "build system",
"spdx": ["BSD-3-Clause"]
},
"(.*)(examples/|snippets/)": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
},
"examples/demos/qtjennydemo/qtjenny_general": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_baseclass": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_callback": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
}
}
},
{
"comments": ["Files with the following endings are infrastructure licensed"],
"file_pattern_ending": [".gitattributes", ".gitignore", ".gitmodules", ".gitreview",
"_clang-format", "licenseRule.json", "REUSE.toml"],
"location":{
"": {
"comment": "Default",
"file type": "infrastructure",
"spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
}
}
},
{
"comments": ["Files with the following endings are Tool licensed,",
"unless they are examples.",
"Files with other endings can also be tool files."],
"file_pattern_ending": [".sh", ".py", ".pl", ".bat", ".ps1"],
"location":{
"": {
"comment": "",
"file type": "tools",
"spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0"]
},
"(.*)(examples/|snippets/)": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
},
"examples/demos/qtjennydemo/qtjenny_general/gradlew.bat": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_baseclass/gradlew.bat": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_callback/gradlew.bat": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["Apache-2.0"]
}
}
},
{
"comment": "Files with the following endings are documentation licensed.",
"file_pattern_ending": [".qdoc", ".qdocinc" , ".qdocconf", ".qdoc.sample",
"README.md", "CONTRIBUTING.md",
"qt_attribution.json", "tree_config.xml"],
"location":{
"": {
"comment": "",
"file type": "documentation",
"spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
}
}
},
{
"comment": ["All other files",
"The licensing is defined only by the file location in the Qt module repository.",
"NO <file_pattern_ending> key for this case!",
"This needs to be the last entry of the file."],
"location": {
"tests/": {
"comment": "",
"file type": "test",
"spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
},
"doc/src/platformintegration/platformintegration.h": {
"comment": "examples and snippets",
"file type": "",
"spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
},
"doc/config/style/.*\\.(js|css)": {
"comment": "Default",
"file type": "documentation",
"spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
},
"dist/": {
"comment": "Default",
"file type": "documentation",
"spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
},
"(.*)(examples/|snippets/)": {
"comment": "Example takes precedence",
"file type": "examples and snippets",
"spdx": ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
},
"src/": {
"comment": "",
"file type": "module and plugin",
"spdx": ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"]
},
"doc(/.*/|/|.*snippets.*)images/": {
"comment": "Default",
"file type": "documentation",
"spdx": ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
},
"tests/auto/quick/examples/": {
"comment": "",
"file type": "test",
"spdx": ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
},
"examples/demos/todolist/imports/CustomControls/images/.*.svg": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/todolist/content/images/.*.svg": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/todolist/imports/CustomStyle/images/Expand_Icon.svg": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/thermostat/imports/ThermostatCustomControls/images/keyboard.svg": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/hangman/purchasing/android/src/org/qtproject/qt/android/purchasing/(Base|Security)": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/colorpaletteclient/icons/": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/thermostat/content/images/(Auto|Cool|Dry|Eco|Fan|Heat|down|drop|edit|energy)": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/thermostat/content/images/(maxTemp|minTemp|more|power|schedule|settings|stats)": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/thermostat/content/images/(temperature|thermostat|up)": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/thermostat/content/images/(home|kid_room|kitchen|living_room|theme|bedroom|arrow)": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/dice/maps/M_Side_Table_Natural_Wenge_Wood_4K_": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/dice/maps/carpet_texture_baseColor.jpeg": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-SA-4.0"]
},
"examples/demos/dice/meshes/object_(2|3).mesh": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-SA-4.0"]
},
"examples/demos/dice/meshes/side_Table_Pine_LOD0_M_Side_Table_Natural_Wenge_Wood_4K_0.mesh": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/thermostat/imports/ThermostatCustomControls/images/thermometer.svg": {
"comment": "",
"file type": "3rd party",
"spdx": ["CC-BY-4.0"]
},
"examples/demos/qtjennydemo/qtjenny_general/": {
"comment": "",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_baseclass/": {
"comment": "Example takes precedence",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
},
"examples/demos/qtjennydemo/qtjenny_callback/": {
"comment": "Example takes precedence",
"file type": "3rd party",
"spdx": ["Apache-2.0"]
}
}
}
]