# What Is the License for Macro? Understanding the AGPL-3.0 Terms

> Understand the AGPL-3.0 license for Macro. Explore the terms governing Macro's use and distribution in our repository. Learn about your software freedom.

- Repository: [Macro/macro](https://github.com/macro-inc/macro)
- Tags: license-information
- Published: 2026-08-14

---

**Macro is released under the GNU Affero General Public License v3.0 (AGPL-3.0), with the full license text stored in the repository's top-level [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) file.**

This article explains what the Macro license means for users and contributors, how the AGPL-3.0 applies across the project's Cargo workspace structure, and what to know about individual crate licensing. The **AGPL-3.0** is a strong copyleft license designed to ensure that all users who interact with the software over a network can access the source code.

## The Primary License: AGPL-3.0

According to the `macro-inc/macro` source code, the entire codebase is governed by the **GNU Affero General Public License v3.0**. This license extends the GPL's copyleft provisions to cover network use—meaning if you run a modified version of Macro as a network service, you must make your source code available to users.

The definitive license text resides in [[`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt)](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at the repository root. No other file supersedes this document for the project as a whole.

## How Licensing Works in the Cargo Workspace

Macro is organized as a **Cargo workspace** containing multiple crates. This structure creates a two-tier licensing system:

- **Repository-level**: [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) establishes AGPL-3.0 as the governing license
- **Crate-level**: Individual [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) files may declare additional permissive licenses (MIT, Apache-2.0) for specific components

### Checking License Information

To verify a crate's declared license, examine its manifest:

```toml

# From a crate's Cargo.toml

[package]
name = "document-storage-service"
version = "0.1.0"
license = "MIT OR Apache-2.0"

```

Despite these crate-level declarations, the **overarching project license remains AGPL-3.0**. The workspace root [[`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml)](https://github.com/macro-inc/macro/blob/main/Cargo.toml) references this top-level policy.

## AGPL-3.0 Implications for Different Use Cases

### Self-Hosted Deployments

Running Macro on your own infrastructure triggers AGPL-3.0's network provision clause. You must provide source code to all users who interact with your deployment.

### Redistribution

Distributing Macro binaries or source code requires:
- Including the [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) file
- Providing clear attribution
- Making your modifications available under AGPL-3.0

### Contributing to Macro

All contributions to the `macro-inc/macro` repository are implicitly licensed under the project's AGPL-3.0 terms. The [[`README.md`](https://github.com/macro-inc/macro/blob/main/README.md)](https://github.com/macro-inc/macro/blob/main/README.md) typically includes a license badge or statement confirming this policy.

## Setting Up a New Crate with Proper Licensing

When adding a crate to the Macro workspace, align its [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) with the repository's licensing approach:

```toml
[package]
name = "my_new_crate"
version = "0.1.0"
edition = "2021"
license = "AGPL-3.0"

```

Cargo publishes this license metadata to crates.io, ensuring consistency with the repository's top-level license.

## Key License Files in Macro

| File | Location | Purpose |
|------|----------|---------|
| [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) | Repository root | Full AGPL-3.0 license text |
| [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) | Workspace root | Workspace manifest with license references |
| [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) | Repository root | Project overview with license badge |
| [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) | Individual crate directories | Per-crate license declarations |

## Summary

- **Macro's license is AGPL-3.0**, a strong copyleft license covering network use
- The full license text lives in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at the repository root
- Individual crates may list MIT or Apache-2.0 in their [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) files, but the **overall project license is AGPL-3.0**
- Self-hosters must comply with network source provision requirements
- New crates should declare `license = "AGPL-3.0"` to maintain consistency

## Frequently Asked Questions

### Is Macro free to use commercially?

Yes, the AGPL-3.0 permits commercial use. However, any modified version you run as a network service must have its source code made available to users. This requirement distinguishes AGPL-3.0 from more permissive licenses like MIT or Apache-2.0.

### Why do some crates show MIT or Apache-2.0 licenses?

Individual crate [`Cargo.toml`](https://github.com/macro-inc/macro/blob/main/Cargo.toml) files may declare dual licensing for specific components, often to facilitate reuse in other projects. These declarations do not override the repository-wide AGPL-3.0 policy stated in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt).

### How do I comply with Macro's license when self-hosting?

Maintain a copy of [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) with your deployment, document any modifications you make, and provide a download link or repository containing your modified source code to all users who access your Macro instance over a network.

### Can I change Macro's license for my own deployment?

No. The AGPL-3.0 terms require that derivative works remain under the same license. You cannot relicense Macro or modifications thereof under proprietary or more permissive terms without explicit permission from all copyright holders.