# Contributing and licensing

All license files can be found in the `licenses/` directory.

License texts for Vystem components are derived from [IQAndreas/markdown-licenses](https://github.com/IQAndreas/markdown-licenses), while third-party license texts are extracted from their respective original repositories.

## Licenses

All source code and build-related files are MPL-2.0 unless otherwise explicitly stated.

All `.md` files stored in the root directory and in the `docs` folder are under the MIT license. Code snippets copied from MPL-2.0 licensed source files remain under MPL-2.0.

## Third party licenses

The following third party libraries are used in Vystem:

Original source code | Author | License
--- | --- | ---
[mjosaarinen/tiny_sha3](https://github.com/mjosaarinen/tiny_sha3) | mjosaarinen | MIT
[sphincs/sphincsplus](https://github.com/sphincs/sphincsplus) | SPHINCS+ team | MIT-0
[P-H-C/phc-winner-argon2](https://github.com/P-H-C/phc-winner-argon2) | Argon2 team | CC0-1.0
[tianocore/edk2](https://github.com/tianocore/edk2) | Tianocore and all the contributing companies | BSD-2-Clause-Patent
[serge1/ELFIO](https://github.com/serge1/ELFIO) | Serge Lamikhov-Center | MIT
[nlohmann/json](https://github.com/nlohmann/json) | Niels Lohmann | MIT

EDK II copyright: Copyright (c) Intel Corporation and other contributors.

## Contribution workflow

Contributors must work through public forks of this repository.

To propose changes for inclusion in the mainline, contributors should open an issue referencing the fork and the relevant commits. Changes are manually reviewed and selectively integrated by the maintainer.

## Contribution licensing grant

By submitting an issue proposing changes from a fork for inclusion in the mainline, the contributor:

- retains full copyright ownership of their contribution;
- agrees that the contribution remains licensed under MPL-2.0 where applicable;
- grants the mainline maintainer a perpetual, worldwide, irrevocable right to copy, modify, merge, redistribute, sublicense, and relicense the contributed changes as part of as part of the mainline project and any future versions or derivative works.
- agrees to be credited in the relevant source files and/or commit history where reasonably possible.
