# MVGAL License

MVGAL is distributed under multiple licenses depending on the component:

## Kernel Module (`kernel/`)

**GNU General Public License version 2.0 only (GPL-2.0-only)**

The kernel module and all files under `kernel/` are licensed under GPL-2.0-only.
This is required by the Linux kernel's licensing requirements for kernel modules.

See `kernel/LICENSE.GPL-2.0` for the full license text.

## Userspace Components (`src/`, `runtime/`, `tools/`, `ui/`, `vulkan/`, `steam/`, `opengl/`, `compat/`, `bindings/`, `config/`, `packaging/`)

**GNU General Public License version 3.0 only (GPL-3.0-only)**

All userspace components are licensed under the GNU General Public License v3.0 only.
This is a stronger copyleft license that provides additional protections.

See `LICENSE.GPL-3.0` for the full license text.

## Rust Crates (`safe/`)

**MIT License OR Apache License 2.0**

The Rust safety crates are dual-licensed under MIT or Apache-2.0, at your option.

See `safe/LICENSE-MIT` and `safe/LICENSE-APACHE` for the full license texts.

## Documentation (`docs/`, `*.md`)

**GNU General Public License version 3.0 only (GPL-3.0-only)**

All documentation files are licensed under GPL-3.0-only.

---

## SPDX License Identifiers

Each source file should contain an SPDX identifier in its header:

- Kernel files: `// SPDX-License-Identifier: GPL-2.0-only`
- Userspace C/C++ files: `// SPDX-License-Identifier: GPL-3.0-only`
- Rust files: `// SPDX-License-Identifier: MIT OR Apache-2.0`
- Shell scripts: `# SPDX-License-Identifier: GPL-3.0-only`
