License, Forking & OpenTofu¶
azemu is free and open source. This page explains the license, what you can do with the code, how to fork it responsibly, and why we recommend running it with OpenTofu.
License¶
azemu is released under the MIT License. The full text lives in
LICENSE at the root
of the repository.
In plain terms, MIT lets anyone:
- use azemu for any purpose, including commercially;
- copy, modify, and redistribute it;
- fork it and build a closed- or open-source product on top of it.
The only condition is attribution: the original copyright notice and the MIT permission notice must be kept in all copies or substantial portions of the software. There is no warranty.
Not legal advice
This page summarizes the licenses involved to help you make decisions. It is not legal advice. When in doubt, read the license texts and talk to a lawyer.
Forking azemu¶
Forking is welcome and encouraged. If you fork azemu to take it in your own direction, please do the following so users are not confused about who maintains your copy:
-
Keep the MIT notice. Leave the original
LICENSEfile and copyright line intact, and add your own copyright line beneath it for your changes, for example: -
Rename and rebrand. Pick your own project name, module path, and binary name. Do not present your fork as the official azemu, and do not imply endorsement by the azemu maintainers. The name "azemu" and the project's logos are not part of the MIT grant; the license covers the code, not the brand or trademarks.
-
Update the module path. Change
module github.com/zerodeth/azemuingo.modto your own repository path so imports resolve to your fork. -
Point links at your repo. Update
repo_url,site_url, issue links, and the support contact so reports reach you, not us. -
Contribute back when you can. If your fork fixes a bug or adds a resource that fits azemu's scope, please open a pull request. Shared fidelity work benefits everyone in the ecosystem.
Registering a forked or derived Terraform provider¶
azemu does not ship or fork a Terraform provider. It works with the
official, unmodified hashicorp/azurerm
provider through the provider's built-in metadata_host field. See
How It Works for the redirect
mechanism. The same binary is published under the OpenTofu namespace as
opentofu/azurerm,
so nothing about azemu requires you to fork or republish a provider.
If your fork or downstream project does publish its own Terraform or OpenTofu provider, register it under your own namespace:
- In the Terraform Registry and the
OpenTofu Registry, providers are namespaced
by the publisher's organization (for example
hashicorp/azurermoropentofu/azurerm). Publish under your own GitHub organization (your-org/your-provider), not underhashicorp/,opentofu/, orzerodeth/. - Provider source addresses in user configuration follow the same
registry.example.com/namespace/typeshape. Use a namespace you own. - Sign your releases with your own GPG key and your own registry account. Do not reuse another publisher's signing identity or namespace.
This keeps provenance clear: users always know whose code they are running and who to file issues against.
Terraform and OpenTofu¶
azemu is an emulator of the Azure ARM API, not a Terraform distribution. It
works with both Terraform and OpenTofu because both speak the same provider
protocol and both honour the metadata_host redirect.
It is worth understanding how the two tools are licensed because it affects which one you can use freely:
| Tool | License | Open source? | Notes |
|---|---|---|---|
Terraform >= 1.6 |
BUSL 1.1 | No (source-available) | HashiCorp relicensed Terraform from MPL 2.0 to the Business Source License in August 2023. BUSL restricts production use that competes with HashiCorp's offerings. |
Terraform < 1.6 |
MPL 2.0 | Yes | The last fully open-source Terraform releases. |
| OpenTofu | MPL 2.0 | Yes | A drop-in fork of Terraform, governed by the Linux Foundation. Backward compatible with Terraform 1.6, no usage restrictions. |
azurerm provider |
MPL 2.0 | Yes | The provider itself did not change license. It remains open source and is published to both registries. |
Why we recommend OpenTofu¶
azemu's mission is a no-account, no-cost, fully open-source local Azure loop. Pairing an MIT emulator with a source-available core tool would leave a non-open-source link in that chain. OpenTofu keeps the whole toolchain open:
- A true drop-in: swap the
terraformcommand fortofu. - The same
azurermprovider and the same HCL configuration work unchanged. - No production-use restrictions.
azemu is tested against both, and we are not asking you to drop Terraform if it works for you. We simply default our examples and recommendations to OpenTofu so the open-source path is the obvious one.
# Terraform
terraform init && terraform apply -auto-approve
# OpenTofu (drop-in)
tofu init && tofu apply -auto-approve
Both run unchanged against azemu. See Install for the full setup.
Questions¶
Open a discussion or an issue if anything about licensing, forking, or attribution is unclear. We would rather answer up front than have you guess.