# Legal information

Meson is copyrighted by all members of the Meson development team. Meson is licensed under the [Apache 2 license].

Meson is a registered trademark of Jussi Pakkanen.

## Website licensing

The meson website content is released under [Creative Commons Attribution-ShareAlike 4.0 International].

All code samples on the website are released under [CC0 1.0 Universal].

[Creative Commons Attribution-ShareAlike 4.0 International]: https://creativecommons.org/licenses/by-sa/4.0/
[CC0 1.0 Universal]: https://creativecommons.org/publicdomain/zero/1.0/
[Apache 2 license]: https://www.apache.org/licenses/LICENSE-2.0
