1// Copyright 2020-2024 The Khronos Group Inc. 2// SPDX-License-Identifier: CC-BY-4.0 3 4= COPYING File for the KhronosGroup/Vulkan-Docs Project 5 6== Licenses 7 8The Vulkan-Docs project uses several licenses. 9 10* The source files (in asciidoctor and other formats) for the Vulkan 11 Specification, reference pages, and supporting documentation are licensed 12 under the Creative Commons Attribution 4.0 International License (SPDX 13 license identifier "`CC-BY-4.0`"). 14* Header files, scripts, programs, XML files, and other tooling used or 15 generated as part of the build process are typically licensed under the 16 Apache License, Version 2.0 (SPDX license identifier "`Apache-2.0`"). 17* For compatibility with external developers working in GPLed projects who 18 have requested it, link:xml/vk.xml[`vk.xml`] and 19 link:xml/video.xml[`video.xml`] are licensed under a dual (SPDX license 20 identifier "`Apache-2.0 OR MIT`" License). 21* Fonts derived from the M+ Font Project, found in 22 link:config/fonts/[`config/fonts/`] are licensed under the M+ Font License 23 (SPDX license identifier "`LicenseRef-MPLUS`"). This is an open source 24 license but is not OSI-approved, and is found at 25 https://osdn.net/softwaremap/trove_list.php?form_cat=370 26* Code which converts the single-file HTML specification to a chunked 27 HTML document, kept in 28 link:scripts/asciidoctor-chunker[`scripts/asciidoctor-chunker`], is 29 licensed under the MIT license. The home of the 30 link:https://github.com/wshito/asciidoctor-chunker[chunker project] is 31 found on GitHub. 32* There are a few remaining files adopted from other open source projects, 33 such as a copy of the KaTeX distribution. Such files continue under their 34 original MIT licenses, or in a few cases, like 35 link:scripts/htmldiff/htmldiff[`scripts/htmldiff/htmldiff`], had no 36 license statement. We have not added SPDX license identifiers to such 37 externally originated files. 38* Some generated, transient files produced during the course of building the 39 specification, headers, or other targets may not have copyrights. These 40 are typically very short asciidoc fragments describing parts of the Vulkan 41 API, and are incorporated by reference into specification or reference 42 page builds. 43 44Users outside Khronos who create and post Vulkan Specifications, whether 45modified or not, should use the CC-BY-4.0 license on the *output* documents 46(HTML, PDF, etc.) they generate. This is the default when building the 47Specification. 48 49 50== Frequently Asked Questions 51 52Q: Why are the HTML and PDF Specifications posted on Khronos' website under 53a license which is neither CC-BY nor Apache-2.0? 54 55A: The Specifications posted by Khronos in the Vulkan Registry are licensed 56under the proprietary Khronos Specification License. Only these 57Specifications are Ratified by the Khronos Board of Promoters, and therefore 58they are the only Specifications covered by the Khronos Intellectual 59Property Rights Policy. 60 61 62Q: Does Khronos allow the creation and distribution of modified versions of 63the Vulkan Specification, such as translations to other languages? 64 65A: Yes. Such modified Specifications, since they are not created by Khronos, 66should be placed under the CC-BY license. If you believe your modifications 67are of general interest, consider contributing them back by making a pull 68request (PR) on the Vulkan-Docs project. 69 70 71Q: Can I contribute changes to the Vulkan Specification? 72 73A: Yes, by opening an Issue or Pull Request (PR) on the 74link:https://github.com/KhronosGroup/Vulkan-Docs/[Vulkan-Docs] GitHub 75project. 76You must execute a click-through Contributor License Agreement, which brings 77your changes under the umbrella of the Khronos IP policy. 78 79 80Q: Can you change the license on your files so they are compatible with my 81license? 82 83A: We are using a dual license on `vk.xml` and `video.xml`, to make them 84compatible with GPL-licensed projects such as externally-generated language 85bindings. 86This replaces an earlier Apache 2.0 + "Exception Clause" license on the file 87with a more standard methodology, and allows use of the SPDX license 88identifier "`Apache-2.0 OR MIT`" to denote the license. 89 90If you *require* GPL compatibility for use of other Apache-2.0 licensed 91files in our repository, please raise an issue identifying the files and we 92will consider changing those specific files to the dual license as well. 93 94