Relicense the Wave standard library under Apache 2.0 - #335
Merged
Conversation
Establish std/ as a separately licensed standard library while retaining MPL-2.0 for the Wave compiler and every repository component outside that directory. Add the canonical Apache License 2.0 text under std/LICENSE, declare Apache-2.0 in the standard library manifest, and replace the MPL headers in all 79 Wave standard library source files with Apache-2.0 headers. Remove the std-only AI training restriction so the standard library is distributed under the unmodified Apache license terms without an additional use restriction. Document the license boundary in the root README, std README, NOTICE, COPYRIGHT, and contribution terms so users, redistributors, and future contributors can identify the applicable license from either repository scope. Validated the license text against the Apache Software Foundation copy, verified every std Wave source carries the Apache-2.0 SPDX identifier, ran the std policy checker, parsed the manifest, passed all 22 Rust tests, and completed the Wave suite with 96 passes, 12 platform skips, and no failures or timeouts. Signed-off-by: LunaStev <luna@lunastev.org>
LunaStev
marked this pull request as ready for review
August 9, 2026 13:17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
std/under MPL-2.0std/LICENSEApache-2.0SPDX headersApache-2.0instd/manifest.jsonMotivation
The standard library is maintained in the same repository for distribution and update purposes, but it is independent from the compiler implementation. Apache 2.0 allows companies and other downstream users to modify, redistribute, and embed the standard library in their products under a widely used permissive license, while the compiler remains protected by MPL-2.0.
License scope
std/: Apache License 2.0Validation
std/LICENSEbyte-for-byte with the Apache Software Foundation license textstd/**/*.wavefiles useSPDX-License-Identifier: Apache-2.0./tools/check_std_policy.shjq empty std/manifest.jsoncargo fmt --all -- --checkcargo test --locked: 22 passedpython3 tools/run_tests.py: 96 passed, 12 skipped, 0 failed, 0 timed out