// Copyright 2020-2021 The Khronos Group Inc.
// SPDX-License-Identifier: CC-BY-4.0

= COPYING file for the KhronosGroup/Vulkan-Docs project

== Licenses

The Vulkan-Docs project uses several licenses.

* The source files (in asciidoctor and other formats) for the Vulkan
  Specification, reference pages, and supporting documentation are licensed
  under the Creative Commons Attribution 4.0 International License (SPDX
  license identifier "`CC-BY-4.0`").
* Header files, scripts, programs, XML files, and other tooling used or
  generated as part of the build process are typically licensed under the
  Apache License, Version 2.0 (SPDX license identifier "`Apache-2.0`").
* For compatibility with external developers working in GPLed projects who
  have requested it, link:xml/vk.xml[`vk.xml`] is licensed under a dual
  (SPDX license identifier "`Apache-2.0 OR MIT`" License).
* Fonts derived from the M+ Font Project, found in
  link:config/fonts/[`config/fonts/`] are licensed under the M+ Font License
  (SPDX license identifier "`LicenseRef-MPLUS`"). This is an open source
  license but is not OSI-approved, and is found at
  https://osdn.net/softwaremap/trove_list.php?form_cat=370
* Code which converts the single-file HTML specification to a chunked
  HTML document, kept in
  link:scripts/asciidoctor-chunker[`scripts/asciidoctor-chunker`], is
  licensed under the MIT license. The home of the
  link:https://github.com/wshito/asciidoctor-chunker[chunker project] is
  found on github.
* There are a few remaining files adopted from other open source projects,
  such as the `optimize-pdf` script and a copy of the KaTeX distribution
  files. Such files continue under their original MIT licenses, or in a few
  cases, like link:scripts/htmldiff/htmldiff[`scripts/htmldiff/htmldiff`],
  had no license statement. We have not added SPDX license identifiers to
  such externally originated files.
* Some generated, transient files produced during the course of building the
  specification, headers, or other targets may not have copyrights. These
  are typically very short asciidoc fragments describing parts of the Vulkan
  API, and are incorporated by reference into specification or reference
  page builds.

Users outside Khronos who create and post Vulkan Specifications, whether
modified or not, should use the CC-BY-4.0 license on the *output* documents
(HTML, PDF, etc.) they generate. This is the default when building the
Specification.


== Frequently Asked Questions

Q: Why are the HTML and PDF Specifications posted on Khronos' website under
a license which is neither CC-BY nor Apache-2.0?

A: The Specifications posted by Khronos in the Vulkan Registry are licensed
under the proprietary Khronos Specification License. Only these
Specifications are Ratified by the Khronos Board of Promoters, and therefore
they are the only Specifications covered by the Khronos Intellectual
Property Rights Policy.


Q: Does Khronos allow the creation and distribution of modified versions of
the Vulkan Specification, such as translations to other languages?

A: Yes. Such modified Specifications, since they are not created by Khronos,
should be placed under the CC-BY license. If you believe your modifications
are of general interest, consider contributing them back by making a pull
request (PR) on the Vulkan-Docs project.


Q: Can I contribute changes to the Vulkan Specification?

A: Yes, by opening an Issue or Pull Request (PR) on the
link:https://github.com/KhronosGroup/Vulkan-Docs/[Vulkan-Docs] Github
project.
You must execute a click-through Contributor License Agreement, which brings
your changes under the umbrella of the Khronos IP policy.


Q: Can you change the license on your files so they're compatible with my
license?

A: We are using a dual license license on `vk.xml`, to make it compatible
with GPL-licensed projects such as externally-generated language bindings.
This replaces an earlier Apache 2.0 + "Exception Clause" license on the file
with a more standard methodology, and allows use of the SPDX license
identifier "`Apache-2.0 OR MIT`" to denote the license.

If you *require* GPL compatibility for use of other Apache-2.0 licensed
files in our repository, please raise an issue identifying the files and we
will consider changing those specific files to the dual license as well.

