# Macro Inc. License: AGPL-v3 Explained with Commercial Options

> Understand the AGPL-v3 license for Macro Inc. project. Learn about source code disclosure for SaaS and explore available commercial licensing options.

- Repository: [Macro/macro](https://github.com/macro-inc/macro)
- Tags: licensing-guide
- Published: 2026-08-20

---

**The Macro Inc. project is released under the GNU Affero General Public License version 3 (AGPL-v3), requiring source code disclosure for all public deployments including SaaS.**

The **macro-inc/macro** repository is a fully open-source project with specific licensing implications for developers and organizations. Understanding the **Macro Inc. license** terms is essential before integrating, deploying, or extending the codebase—especially given its copyleft requirements and commercial licensing alternative.

## What License Does Macro Inc. Use?

The project uses **AGPL-v3**, a strong copyleft license designed to protect user freedoms in network-distributed applications.

### Key AGPL-v3 Requirements

- **Source code availability**: Any publicly deployed instance must provide the complete source code to all users
- **Network use is distribution**: Unlike GPL, AGPL treats accessing the software over a network as distribution, triggering the copyleft obligation
- **Derivative works**: All modifications and extensions must be released under AGPL-v3
- **Commercial alternative**: Proprietary use requires contacting Macro Inc. for a separate license

## Where to Find the License in the Repository

Two critical files document the **Macro Inc. license**:

| File | Location | Purpose |
|------|----------|---------|
| [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) | Repository root | Complete AGPL-v3 legal text |
| [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) | Lines 38–42 | License summary and commercial contact |

In [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md), the maintainers explicitly state: *"Macro is fully open source … under the GNU Affero General Public License v3.0"*【/cache/repos/github.com/macro-inc/macro/main/README.md#L38-L42】. The full license text resides in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt)【/cache/repos/github.com/macro-inc/macro/main/LICENSE.txt#L1-L3】.

## Working with the License in Code

### Display License Information in a CLI Tool

```rust
use std::fs;

fn main() {
    // Load the license file bundled with the project
    let license = fs::read_to_string("LICENSE.txt")
        .expect("Unable to read LICENSE.txt");
    println!("Macro is licensed under AGPL‑v3:\n\n{}", license);
}

```

This Rust pattern reads the bundled [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at runtime, useful for `--license` CLI flags or about dialogs.

### Validate License in CI Pipelines

```bash
#!/usr/bin/env bash

# Ensure the repository contains a LICENSE file and that it mentions AGPL

if grep -q "GNU Affero General Public License" LICENSE.txt; then
  echo "✅ License file present and AGPL‑v3 confirmed"
else
  echo "⚠️ License file missing or does not contain AGPL‑v3"
  exit 1
fi

```

This validation script ensures compliance checks pass before builds or releases.

### Add License Headers to Source Files

```rust
//! Macro – AGPL‑v3
//!
//! This file is part of the Macro project and is subject to the
//! terms of the GNU Affero General Public License version 3.
//! See `LICENSE.txt` for the full license text.

fn some_feature() {
    // implementation …
}

```

Header comments clarify licensing terms for downstream users and support automated license scanning tools.

## AGPL-v3 Implications for Different Use Cases

### Self-Hosted Internal Deployments

Organizations running Macro strictly for internal use without external network access face minimal obligations. Standard internal modifications need not be published.

### SaaS and Public-Facing Deployments

Any service making Macro available over a network—including multi-tenant SaaS products—must:

1. Provide complete source code to all users
2. Include build instructions and installation scripts
3. License all derivative works under AGPL-v3

This requirement makes AGPL-v3 unsuitable for proprietary SaaS products without a commercial license.

### Embedding in Proprietary Products

Direct incorporation into closed-source applications violates AGPL-v3 terms. The README's license section provides contact information for obtaining a **commercial license** that permits proprietary use.

## Summary

- **Macro Inc. license**: GNU Affero General Public License v3.0 (AGPL-v3)
- **Key files**: [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) (full text), [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) lines 38–42 (summary)
- **Network trigger**: SaaS deployments must disclose source code
- **Commercial option**: Available for proprietary use cases
- **Compliance practice**: Add headers to new files and validate in CI

## Frequently Asked Questions

### Can I use Macro Inc. in a closed-source SaaS product?

No. The **Macro Inc. license** (AGPL-v3) requires you to publish the complete source code of any publicly accessible deployment. To keep your code proprietary, you must contact Macro Inc. for a commercial license as referenced in the [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) license section.

### What is the difference between GPL and AGPL for this project?

Standard GPL only requires source disclosure when software is distributed as binaries. AGPL extends this to **network use**—anyone accessing Macro through a web interface or API receives the right to request source code. This closes the "SaaS loophole" that GPL leaves open.

### Where can I find the exact license text for Macro Inc.?

The complete legal text is in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at the repository root【/cache/repos/github.com/macro-inc/macro/main/LICENSE.txt#L1-L3】. The [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) contains a plain-language summary at lines 38–42 with commercial licensing contact information【/cache/repos/github.com/macro-inc/macro/main/README.md#L38-L42】.

### Does internal use trigger AGPL obligations?

No. If Macro runs entirely within your organization without external network access, standard internal use does not require source publication. The AGPL network provision applies only when users outside your organization interact with the software over a network.