diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 1ed72c16..fd13164f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -184,9 +184,13 @@ Small, focused PRs are preferred.
## 11. License
-By contributing to Wave, you agree that your contributions are licensed under:
+By contributing to Wave, you agree that your contributions are licensed under
+the license governing the part of the repository you modify:
-[Mozilla Public License 2.0](LICENSE)
+- Contributions outside [`std/`](std/) are licensed under the
+ [Mozilla Public License 2.0](LICENSE).
+- Contributions to the Wave standard library under [`std/`](std/) are licensed
+ under the [Apache License 2.0](std/LICENSE).
---
diff --git a/COPYRIGHT b/COPYRIGHT
index 69b15cb9..47ffa323 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -12,5 +12,6 @@ Contributors:
Copyright ownership of individual source files
is indicated in the file headers.
-Unless otherwise noted, all contributions to this project
-are licensed under the Mozilla Public License v2.0 (MPL-2.0).
+Unless otherwise noted, contributions outside std/ are licensed under the
+Mozilla Public License v2.0 (MPL-2.0). Contributions to the Wave standard
+library under std/ are licensed under the Apache License 2.0 (Apache-2.0).
diff --git a/NOTICE b/NOTICE
index 44e9e3c7..1cecb5bd 100644
--- a/NOTICE
+++ b/NOTICE
@@ -7,10 +7,16 @@ maintained by the Wave Foundation.
Copyright (c) 2024–2026 Wave Foundation
Copyright (c) 2024–2026 LunaStev and contributors
-This project is licensed under the Mozilla Public License v2.0 (MPL-2.0).
+The Wave compiler and repository components outside std/ are licensed under
+the Mozilla Public License v2.0 (MPL-2.0).
+
+The Wave standard library under std/ is a separate work licensed under the
+Apache License 2.0 (Apache-2.0). See std/LICENSE.
Re-implementations of the Wave language specification are permitted.
-However, reuse of Wave source files must comply with the terms of the MPL-2.0.
+However, reuse of Wave compiler source files must comply with the terms of the
+MPL-2.0, while reuse of standard library source files must comply with the
+Apache-2.0 license.
The names "Wave", "Wave Language", "Wave Compiler", and related project names
may be considered trademarks of the Wave Foundation.
diff --git a/README.md b/README.md
index 65d17b74..abf0697e 100644
--- a/README.md
+++ b/README.md
@@ -27,8 +27,8 @@ Created by
-
-
+
+
@@ -121,6 +121,16 @@ Contributions are welcome! Please read the [contributing guidelines](CONTRIBUTIN
---
+## License
+
+- The Wave compiler and repository components outside [`std/`](std/) are
+ licensed under the [Mozilla Public License 2.0](LICENSE).
+- The Wave standard library under [`std/`](std/) is licensed separately under
+ the [Apache License 2.0](std/LICENSE), allowing it to be modified,
+ redistributed, and embedded in other products under that license.
+
+---
+
## What can do?
Check https://github.com/wavefnd/Wave/issues/328 to see useful programs created with Wave.
@@ -135,4 +145,4 @@ Check https://github.com/wavefnd/Wave/issues/328 to see useful programs created
---
-
Built with ❤️ by the Wave community
© 2025 Wave Programming Language • LunaStev • Mozilla Public License 2.0
+ Built with ❤️ by the Wave community
© 2025 Wave Programming Language • LunaStev • Compiler: MPL-2.0 • Standard library: Apache-2.0
diff --git a/std/LICENSE b/std/LICENSE
new file mode 100644
index 00000000..d6456956
--- /dev/null
+++ b/std/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/std/README.md b/std/README.md
index 48153c7f..26ac4517 100644
--- a/std/README.md
+++ b/std/README.md
@@ -2,6 +2,15 @@
This is Wave's standard library. This standard library operates independently of Wave's compiler and is not part of the compiler itself.
+## License
+
+The Wave standard library in this directory is licensed under the
+[Apache License 2.0](LICENSE). It may be modified, redistributed, and embedded
+in other products under the terms of that license.
+
+The Wave compiler and other repository components outside `std/` remain
+licensed under the repository's [Mozilla Public License 2.0](../LICENSE).
+
## Dependency Policy
- `std/libc/*` is the only place where `extern(c)` bindings are allowed.
diff --git a/std/buffer/alloc.wave b/std/buffer/alloc.wave
index 3ba9f3e8..eeb0f56a 100644
--- a/std/buffer/alloc.wave
+++ b/std/buffer/alloc.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::mem::alloc");
import("std::mem::ops");
diff --git a/std/buffer/read.wave b/std/buffer/read.wave
index cf0f5e98..945d59af 100644
--- a/std/buffer/read.wave
+++ b/std/buffer/read.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::buffer::types");
diff --git a/std/buffer/types.wave b/std/buffer/types.wave
index 8babea4a..5a159c32 100644
--- a/std/buffer/types.wave
+++ b/std/buffer/types.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
struct Buffer {
data: ptr;
diff --git a/std/buffer/write.wave b/std/buffer/write.wave
index 639c1660..d1752474 100644
--- a/std/buffer/write.wave
+++ b/std/buffer/write.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::buffer::types");
import("std::buffer::alloc");
diff --git a/std/bytes/endian.wave b/std/bytes/endian.wave
index c8830333..b8ea8578 100644
--- a/std/bytes/endian.wave
+++ b/std/bytes/endian.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun bytes_swap16(x: i16) -> i16 {
let v: i32 = x as i32;
diff --git a/std/env/consts.wave b/std/env/consts.wave
index 32e1b86a..07ba8885 100644
--- a/std/env/consts.wave
+++ b/std/env/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const ENV_ERR_NOT_FOUND: i64 = -2;
const ENV_ERR_NO_SPACE: i64 = -3;
diff --git a/std/env/cwd.wave b/std/env/cwd.wave
index 8f8d560a..8a79e8ef 100644
--- a/std/env/cwd.wave
+++ b/std/env/cwd.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::fs");
diff --git a/std/env/environ.wave b/std/env/environ.wave
index c6d2d4b0..fd34ac0f 100644
--- a/std/env/environ.wave
+++ b/std/env/environ.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::env");
import("std::env::parse");
diff --git a/std/env/parse.wave b/std/env/parse.wave
index e5a18746..49427182 100644
--- a/std/env/parse.wave
+++ b/std/env/parse.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun _env_key_len(name: str) -> i64 {
let mut n: i64 = 0;
diff --git a/std/fs/consts.wave b/std/fs/consts.wave
index 2f3c382a..c51484f2 100644
--- a/std/fs/consts.wave
+++ b/std/fs/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// unix-style file modes
const FS_MODE_USER_RW: i32 = 384; // 0600
diff --git a/std/fs/file.wave b/std/fs/file.wave
index 88fdd584..dc0ff2a6 100644
--- a/std/fs/file.wave
+++ b/std/fs/file.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::io::consts");
import("std::io::fd");
diff --git a/std/io/consts.wave b/std/io/consts.wave
index c02fc5aa..6bd6e20f 100644
--- a/std/io/consts.wave
+++ b/std/io/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const IO_STDIN_FD: i64 = 0;
const IO_STDOUT_FD: i64 = 1;
diff --git a/std/io/fd.wave b/std/io/fd.wave
index 2cb1db62..3d35df65 100644
--- a/std/io/fd.wave
+++ b/std/io/fd.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::io::consts");
import("std::sys::fs");
diff --git a/std/libc/arpa.wave b/std/libc/arpa.wave
index 58f39134..35e5431c 100644
--- a/std/libc/arpa.wave
+++ b/std/libc/arpa.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) {
fun inet_addr(cp: ptr) -> i32;
diff --git a/std/libc/errno.wave b/std/libc/errno.wave
index 16952feb..6ce7b660 100644
--- a/std/libc/errno.wave
+++ b/std/libc/errno.wave
@@ -2,12 +2,18 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) fun __errno_location() -> ptr;
diff --git a/std/libc/netinet.wave b/std/libc/netinet.wave
index 08260bc2..7da3cee8 100644
--- a/std/libc/netinet.wave
+++ b/std/libc/netinet.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// sockaddr_in (IPv4)
struct SockAddrIn {
diff --git a/std/libc/poll.wave b/std/libc/poll.wave
index 8f9ad64c..9e1cfb3c 100644
--- a/std/libc/poll.wave
+++ b/std/libc/poll.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// poll events
const POLLIN: i16 = 0x001;
diff --git a/std/libc/socket.wave b/std/libc/socket.wave
index f31d8400..eb607ad0 100644
--- a/std/libc/socket.wave
+++ b/std/libc/socket.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// address families
const AF_INET: i32 = 2;
diff --git a/std/libc/stdio.wave b/std/libc/stdio.wave
index aa514a3a..d2db845d 100644
--- a/std/libc/stdio.wave
+++ b/std/libc/stdio.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) {
fun puts(s: ptr) -> i32;
diff --git a/std/libc/stdlib.wave b/std/libc/stdlib.wave
index c33a19fb..febd1d96 100644
--- a/std/libc/stdlib.wave
+++ b/std/libc/stdlib.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) fun malloc(size: i64) -> ptr;
extern(c) fun calloc(count: i64, size: i64) -> ptr;
diff --git a/std/libc/string.wave b/std/libc/string.wave
index 27a6dc46..c94faa89 100644
--- a/std/libc/string.wave
+++ b/std/libc/string.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) fun strlen(s: ptr) -> i64;
extern(c) fun strcmp(a: ptr, b: ptr) -> i32;
diff --git a/std/libc/time.wave b/std/libc/time.wave
index 61741177..9ba9dbf1 100644
--- a/std/libc/time.wave
+++ b/std/libc/time.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
struct TimeSpec {
sec: i64;
diff --git a/std/libc/unistd.wave b/std/libc/unistd.wave
index 510c0075..5904f1c5 100644
--- a/std/libc/unistd.wave
+++ b/std/libc/unistd.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
extern(c) fun read(fd: i32, buf: ptr, count: i64) -> i64;
extern(c) fun write(fd: i32, buf: ptr, count: i64) -> i64;
diff --git a/std/manifest.json b/std/manifest.json
index 870a8864..352d557b 100644
--- a/std/manifest.json
+++ b/std/manifest.json
@@ -1,5 +1,6 @@
{
"name": "std",
"format": 1,
+ "license": "Apache-2.0",
"modules": ["string", "math", "sys", "net", "libc", "time", "env", "path", "mem", "buffer", "io", "fs", "bytes", "process"]
}
diff --git a/std/math/bits.wave b/std/math/bits.wave
index 9a831d21..b3919748 100644
--- a/std/math/bits.wave
+++ b/std/math/bits.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun is_pow2(x: i32) -> bool {
if (x <= 0) {
diff --git a/std/math/float.wave b/std/math/float.wave
index 4c53d3e6..c4a864f1 100644
--- a/std/math/float.wave
+++ b/std/math/float.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::math::int");
diff --git a/std/math/int.wave b/std/math/int.wave
index 6f341083..c085338a 100644
--- a/std/math/int.wave
+++ b/std/math/int.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun num_abs(x: T, zero: T) -> T {
if (x < zero) {
diff --git a/std/math/num.wave b/std/math/num.wave
index c84e6a49..4b8121ca 100644
--- a/std/math/num.wave
+++ b/std/math/num.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun gcd(a0: i32, b0: i32) -> i32 {
let mut a: i32 = a0;
diff --git a/std/math/trig.wave b/std/math/trig.wave
index 76b9fcf2..73b5eadd 100644
--- a/std/math/trig.wave
+++ b/std/math/trig.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::math::int");
diff --git a/std/mem/alloc.wave b/std/mem/alloc.wave
index 1a77cb7f..0fefe185 100644
--- a/std/mem/alloc.wave
+++ b/std/mem/alloc.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::memory");
import("std::mem::consts");
diff --git a/std/mem/consts.wave b/std/mem/consts.wave
index 74e74be2..5aa18127 100644
--- a/std/mem/consts.wave
+++ b/std/mem/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const MEM_PROT_READ: i64 = 1;
const MEM_PROT_WRITE: i64 = 2;
diff --git a/std/mem/cstr.wave b/std/mem/cstr.wave
index 01a4a0ef..fa0b4fce 100644
--- a/std/mem/cstr.wave
+++ b/std/mem/cstr.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun mem_len_cstr(s: str) -> i64 {
let mut i: i64 = 0;
diff --git a/std/mem/ops.wave b/std/mem/ops.wave
index 6fb8d691..2ffb403d 100644
--- a/std/mem/ops.wave
+++ b/std/mem/ops.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::mem::consts");
diff --git a/std/net/address.wave b/std/net/address.wave
index acd07ac7..373c1f6d 100644
--- a/std/net/address.wave
+++ b/std/net/address.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::socket");
diff --git a/std/net/poll.wave b/std/net/poll.wave
index 6baf1cdc..197ae011 100644
--- a/std/net/poll.wave
+++ b/std/net/poll.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::socket");
diff --git a/std/net/socket_base.wave b/std/net/socket_base.wave
index 5147aaa1..f7072148 100644
--- a/std/net/socket_base.wave
+++ b/std/net/socket_base.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::socket");
import("std::sys::fs");
diff --git a/std/net/socketopt.wave b/std/net/socketopt.wave
index 106f360f..0be5faab 100644
--- a/std/net/socketopt.wave
+++ b/std/net/socketopt.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::fs");
import("std::sys::socket");
diff --git a/std/net/tcp.wave b/std/net/tcp.wave
index e7f9f7b2..abe8d06b 100644
--- a/std/net/tcp.wave
+++ b/std/net/tcp.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::socket");
import("std::net::address");
diff --git a/std/net/udp.wave b/std/net/udp.wave
index aa8aebef..4f29e157 100644
--- a/std/net/udp.wave
+++ b/std/net/udp.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::socket");
import("std::net::address");
diff --git a/std/path/analyze.wave b/std/path/analyze.wave
index deb54494..c8beccfb 100644
--- a/std/path/analyze.wave
+++ b/std/path/analyze.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::path::core");
diff --git a/std/path/consts.wave b/std/path/consts.wave
index 7714a2ae..3e82e548 100644
--- a/std/path/consts.wave
+++ b/std/path/consts.wave
@@ -2,12 +2,18 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const PATH_ERR_NO_SPACE: i32 = -1;
diff --git a/std/path/copy.wave b/std/path/copy.wave
index 75e2883a..83695fbb 100644
--- a/std/path/copy.wave
+++ b/std/path/copy.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::path::core");
import("std::path::analyze");
diff --git a/std/path/core.wave b/std/path/core.wave
index d61b933a..62a479a4 100644
--- a/std/path/core.wave
+++ b/std/path/core.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun path_is_sep(c: u8) -> bool {
if (c == 47) {
diff --git a/std/process/consts.wave b/std/process/consts.wave
index ec498f90..ae1282bd 100644
--- a/std/process/consts.wave
+++ b/std/process/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const PROC_ERR_INTR: i64 = -4;
diff --git a/std/process/core.wave b/std/process/core.wave
index 4056ecfa..d1e19b4f 100644
--- a/std/process/core.wave
+++ b/std/process/core.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::process::consts");
import("std::sys::process");
diff --git a/std/process/spawn.wave b/std/process/spawn.wave
index 2fb71c75..b14a86f1 100644
--- a/std/process/spawn.wave
+++ b/std/process/spawn.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::io::consts");
import("std::io::fd");
diff --git a/std/process/wait.wave b/std/process/wait.wave
index 9a324292..f1543d96 100644
--- a/std/process/wait.wave
+++ b/std/process/wait.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::process::consts");
import("std::process::core");
diff --git a/std/string/ascii.wave b/std/string/ascii.wave
index 50718758..6222a285 100644
--- a/std/string/ascii.wave
+++ b/std/string/ascii.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun is_digit(c: u8) -> bool {
if (c >= 48 && c <= 57) {
diff --git a/std/string/cmp.wave b/std/string/cmp.wave
index 4eedf9da..6ae9c4e9 100644
--- a/std/string/cmp.wave
+++ b/std/string/cmp.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun eq(a: str, b: str) -> bool {
let mut i: i32 = 0;
diff --git a/std/string/find.wave b/std/string/find.wave
index a70c4213..4f95de2a 100644
--- a/std/string/find.wave
+++ b/std/string/find.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun find_char(s: str, c: u8) -> i32 {
let mut i: i32 = 0;
diff --git a/std/string/hash.wave b/std/string/hash.wave
index cff9bc5d..75004dd7 100644
--- a/std/string/hash.wave
+++ b/std/string/hash.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun djb2_32(s: str) -> i32 {
let mut h: i32 = 5381;
diff --git a/std/string/len.wave b/std/string/len.wave
index a7547a1b..c789b657 100644
--- a/std/string/len.wave
+++ b/std/string/len.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun len(s: str) -> i32 {
let mut i: i32 = 0;
diff --git a/std/string/trim.wave b/std/string/trim.wave
index 56ba8176..871acaa6 100644
--- a/std/string/trim.wave
+++ b/std/string/trim.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
fun trim_left_index(s: str) -> i32 {
let mut i: i32 = 0;
diff --git a/std/sys/env.wave b/std/sys/env.wave
index bd5b444a..fb01c5ba 100644
--- a/std/sys/env.wave
+++ b/std/sys/env.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Environment sys dispatcher
diff --git a/std/sys/fs.wave b/std/sys/fs.wave
index 0fed06d2..e4610ccc 100644
--- a/std/sys/fs.wave
+++ b/std/sys/fs.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Filesystem sys dispatcher
diff --git a/std/sys/linux/env.wave b/std/sys/linux/env.wave
index 4bf02c79..950b5981 100644
--- a/std/sys/linux/env.wave
+++ b/std/sys/linux/env.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::linux::fs");
diff --git a/std/sys/linux/fs.wave b/std/sys/linux/fs.wave
index 37805d53..7b919980 100644
--- a/std/sys/linux/fs.wave
+++ b/std/sys/linux/fs.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 filesystem syscalls
diff --git a/std/sys/linux/memory.wave b/std/sys/linux/memory.wave
index 8c168523..9e5a0557 100644
--- a/std/sys/linux/memory.wave
+++ b/std/sys/linux/memory.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 memory syscalls
diff --git a/std/sys/linux/process.wave b/std/sys/linux/process.wave
index f2dc897f..8e5ba6cd 100644
--- a/std/sys/linux/process.wave
+++ b/std/sys/linux/process.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 process syscalls
diff --git a/std/sys/linux/socket.wave b/std/sys/linux/socket.wave
index d2ccb197..3f028062 100644
--- a/std/sys/linux/socket.wave
+++ b/std/sys/linux/socket.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 socket syscalls
diff --git a/std/sys/linux/syscall.wave b/std/sys/linux/syscall.wave
index c1070e20..7cd26d49 100644
--- a/std/sys/linux/syscall.wave
+++ b/std/sys/linux/syscall.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 syscall interface for Wave
diff --git a/std/sys/linux/time.wave b/std/sys/linux/time.wave
index 79225e45..f17dc46f 100644
--- a/std/sys/linux/time.wave
+++ b/std/sys/linux/time.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 time-related syscalls
diff --git a/std/sys/linux/tty.wave b/std/sys/linux/tty.wave
index b46fb58e..efb698d6 100644
--- a/std/sys/linux/tty.wave
+++ b/std/sys/linux/tty.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Linux x86_64 tty helpers
diff --git a/std/sys/macos/env.wave b/std/sys/macos/env.wave
index 2cb6448a..0d02880e 100644
--- a/std/sys/macos/env.wave
+++ b/std/sys/macos/env.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// ENOSYS-style return for not implemented path.
const ERR_NOT_IMPLEMENTED: i64 = -38;
diff --git a/std/sys/macos/fs.wave b/std/sys/macos/fs.wave
index 76707d3d..f3fd3b15 100644
--- a/std/sys/macos/fs.wave
+++ b/std/sys/macos/fs.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS filesystem syscalls
diff --git a/std/sys/macos/memory.wave b/std/sys/macos/memory.wave
index 8bf5ad1e..55407258 100644
--- a/std/sys/macos/memory.wave
+++ b/std/sys/macos/memory.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS memory syscalls
diff --git a/std/sys/macos/process.wave b/std/sys/macos/process.wave
index b237d5e4..6e214c1f 100644
--- a/std/sys/macos/process.wave
+++ b/std/sys/macos/process.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS process syscalls
diff --git a/std/sys/macos/socket.wave b/std/sys/macos/socket.wave
index c3ce4ce3..d30fff40 100644
--- a/std/sys/macos/socket.wave
+++ b/std/sys/macos/socket.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS socket syscalls
diff --git a/std/sys/macos/syscall.wave b/std/sys/macos/syscall.wave
index d5c60792..e804505d 100644
--- a/std/sys/macos/syscall.wave
+++ b/std/sys/macos/syscall.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS x86_64 syscall entry helpers
diff --git a/std/sys/macos/time.wave b/std/sys/macos/time.wave
index be8a8dcd..39c9ee4c 100644
--- a/std/sys/macos/time.wave
+++ b/std/sys/macos/time.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS time syscalls
diff --git a/std/sys/macos/tty.wave b/std/sys/macos/tty.wave
index 9b915330..97fcde96 100644
--- a/std/sys/macos/tty.wave
+++ b/std/sys/macos/tty.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// macOS tty helpers
diff --git a/std/sys/memory.wave b/std/sys/memory.wave
index 4c9d854c..4911c443 100644
--- a/std/sys/memory.wave
+++ b/std/sys/memory.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Memory sys dispatcher
diff --git a/std/sys/process.wave b/std/sys/process.wave
index dc352876..a748f8d6 100644
--- a/std/sys/process.wave
+++ b/std/sys/process.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Process sys dispatcher
diff --git a/std/sys/socket.wave b/std/sys/socket.wave
index e6c04999..3eefffc5 100644
--- a/std/sys/socket.wave
+++ b/std/sys/socket.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Socket sys dispatcher
diff --git a/std/sys/time.wave b/std/sys/time.wave
index c9d9b1f7..3714a3bc 100644
--- a/std/sys/time.wave
+++ b/std/sys/time.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// Time sys dispatcher
diff --git a/std/sys/tty.wave b/std/sys/tty.wave
index 79f18100..5a893a81 100644
--- a/std/sys/tty.wave
+++ b/std/sys/tty.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
// =======================================================
// TTY sys dispatcher
diff --git a/std/time/clock.wave b/std/time/clock.wave
index a5c34ced..75ae6236 100644
--- a/std/time/clock.wave
+++ b/std/time/clock.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::time");
diff --git a/std/time/consts.wave b/std/time/consts.wave
index dfe76479..621cd499 100644
--- a/std/time/consts.wave
+++ b/std/time/consts.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
const TIME_CLOCK_REALTIME: i32 = 0;
const TIME_CLOCK_MONOTONIC: i32 = 1;
diff --git a/std/time/diff.wave b/std/time/diff.wave
index a46df6e9..dc740959 100644
--- a/std/time/diff.wave
+++ b/std/time/diff.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::time");
diff --git a/std/time/sleep.wave b/std/time/sleep.wave
index 190256ee..6eff822d 100644
--- a/std/time/sleep.wave
+++ b/std/time/sleep.wave
@@ -2,13 +2,19 @@
// Copyright (c) 2024-2026 Wave Foundation
// Copyright (c) 2024-2026 LunaStev and contributors
//
-// This Source Code Form is subject to the terms of the
-// Mozilla Public License, v. 2.0.
-// If a copy of the MPL was not distributed with this file,
-// You can obtain one at https://mozilla.org/MPL/2.0/.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// SPDX-License-Identifier: MPL-2.0
-// AI TRAINING NOTICE: Prohibited without prior written permission. No use for machine learning or generative AI training, fine-tuning, distillation, embedding, or dataset creation.
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// SPDX-License-Identifier: Apache-2.0
import("std::sys::time");