# 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.

## Meson logo licensing

Meson's logo is (C) Jussi Pakkanen and used by the Meson project with
specific permission. It is not licensed under the same terms as the
rest of the project.

If you are a third party and want to use the Meson logo, you must
first obtain written permission from 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
