License
go-fmml uses a dual-license setup: the source code and the documentation are licensed separately. Please check which one applies to what you're using.
| Scope | License | File |
|---|---|---|
Source code (all Go source outside docs/, and any file carrying the MIT header) | MIT License | LICENSE |
Documentation (this page, the HTML under docs/, README.md, CLAUDE.md) | CC BY 4.0 | LICENSE-DOCS |
Source Code License: MIT License
go-fmml's source code is provided under the MIT License. The only condition is to retain the copyright notice and the license text; beyond that, it can be used almost without restriction:
Free to use in commercial products (e.g. a paid game). No royalties required.
Can be embedded as-is as a library into your own game or tool.
The source code can be freely modified and customized.
Both source and binary redistribution are allowed, modified or not.
There is no obligation to publish modified source code (this is not a copyleft license).
Provided "as is"; the copyright holder is not liable for any damages arising from the software.
The only condition is including the copyright notice and the license text
(LICENSE) with anything you distribute - e.g. in your game's credits screen or a
README, wherever is reasonable for your users to find it.
See the bundled LICENSE file for the full license text (English original, Japanese reference translation).
Avoiding GPL Contamination in AI-Assisted Implementation
go-fmml was implemented using Claude Code in a Spec-Driven Development workflow. AI-generated code carries a generally recognized risk of "license contamination" - copyleft (e.g. GPL) code patterns leaking in unintentionally from the model's training data.
To mitigate this IP risk, go-fmml's specification document (CLAUDE.md) lays out the
following coding rules, and the AI is required to self-check its output against them on every code
generation pass.
Never output verbatim code, comments, or distinctive documentation structures that appear to originate from a public repository.
Do not replicate overly specific logic patterns, variable names, or coding idioms unique to GPL-licensed projects.
Achieve equivalent functionality using standard language idioms, patterns common across MIT/Apache-style OSS, or algorithms designed from scratch.
When implementing a well-known algorithm or protocol, focus purely on functional equivalence while building the structure, naming, and implementation details independently.
Third-Party Library License Notices
go-fmml depends on the following OSS libraries internally (including indirect dependencies). Copyright in each library belongs to its own authors, and each library's own license terms apply independently of go-fmml's MIT license.
| Library | Purpose | License |
|---|---|---|
github.com/ebitengine/oto/v3 | Cross-platform audio output | Apache License 2.0 |
github.com/ebitengine/purego (indirect) | cgo-free OS API calls used by oto/v3 | Apache License 2.0 |
gopkg.in/yaml.v3 | YAML parsing for FM/PCM voice parameter files | MIT License / Apache License 2.0 (dual-licensed) |
Documentation License: CC BY 4.0
This page, along with
CLAUDE.md, README.md, and all HTML documents under
docs/, is provided under a separate license from the source-code MIT license:
Creative
Commons Attribution 4.0 International (CC BY 4.0).
Under CC BY 4.0, you may freely copy, redistribute, and adapt (remix, transform, build upon) this documentation, including for commercial purposes, provided you give appropriate credit to the author (MEGAAK SOFT) and indicate if changes were made. You may not apply additional legal or technical restrictions that would prevent others from doing anything the license permits.
See LICENSE-DOCS for the full license text.