summaryrefslogtreecommitdiffstats
path: root/LICENSE
diff options
context:
space:
mode:
Diffstat (limited to 'LICENSE')
-rw-r--r--LICENSE76
1 files changed, 76 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d090949
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,76 @@
+BSD 3-Clause License
+
+Copyright (c) 2026, The Open-IOV Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+---
+
+Note on the license change
+==========================
+
+Open-IOV is distributed under the BSD 3-Clause License. This is a deliberate
+choice for a project whose mission is *adversarial interoperability*: the
+widest possible reuse, including in commercial products, is a feature, not an
+accident. A permissive license lets hardware vendors, hypervisor vendors,
+integrators and other open source projects adopt, ship and co-develop this
+software without license friction, which is exactly how an independent,
+durable IP block for GPU virtualization should spread.
+
+Contributions are accepted under the same terms (inbound = outbound).
+
+Mixed licensing: kernel modules are GPL-2.0
+===========================================
+
+The Linux kernel exports many of the interfaces this project depends on
+(VFIO, mdev, IOMMU, workqueue and DMA internals) under `EXPORT_SYMBOL_GPL`.
+To use those symbols legally, **kernel modules may be licensed GPL-2.0**.
+The policy is therefore:
+
+| Component | License | Why |
+|---|---|---|
+| `kernel/**` (e.g. `open-iov-vfio.ko`) | **GPL-2.0** (`MODULE_LICENSE("GPL v2")`) | Uses GPL-only kernel exports (VFIO/mdev/IOMMU). |
+| `userspace/**`, `tools/**`, `scripts/**`, `config/**`, `docs/**` | **BSD-3-Clause** | No GPL-only interfaces; maximize reuse. |
+| Third-party imports (vendor firmware, submodules, study material) | their own terms | Used for interoperability study; not relicensed. |
+
+**Per-file SPDX identifiers always govern.** If a file carries
+`SPDX-License-Identifier: GPL-2.0` it is GPL-2.0, even if it lives outside
+`kernel/`. Otherwise the project default is BSD-3-Clause.
+
+This split is intentional and stable: it gives the kernel side a clean legal
+footing and keeps every reusable, vendor-facing, embeddable part of the
+project permissive.
+
+Third-party components
+======================
+
+* Vendor firmware images and third-party software referenced by this project
+ are **not** covered by this license; they keep their own terms and are used
+ for interoperability study. See `docs/09-reference/legal-and-licensing.md`.
+* Linux kernel headers are used under their own license (GPL-2.0) and are not
+ redistributed by this project.
+