# Licensing Information for the macro-inc/macro Project: AGPL-3.0 Explained

> Discover the AGPL-3.0 license for the macro-inc/macro project. Understand source code distribution requirements for SaaS and public deployments.

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

---

**The macro-inc/macro repository is released under the GNU Affero General Public License version 3 (AGPL-3.0), requiring distribution of source code for all public deployments including SaaS offerings.**

Understanding the licensing information for the macro-inc/macro project is essential before integrating this open-source codebase into your applications. According to the repository's source code, the project explicitly adopts the **AGPL-3.0** license, which extends the traditional GPL requirements to cover network interactions and cloud deployments. This article explains where to find the official license declarations, what compliance obligations they create, and how to handle licensing within your development workflow.

## Official License Declaration in README.md

The primary licensing statement appears in the project's [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) file at lines 38-42. As stated in the source code:

> "Macro is fully open source … under the GNU Affero General Public License v3.0"

This declaration establishes the copyleft nature of the project. Any derivative work or deployment must comply with the AGPL-3.0 terms, which mandate that users interacting with the software over a network receive access to the corresponding source code.

## Full License Text in LICENSE.txt

The complete legal text resides in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at the repository root (lines 1-3 onward). This file contains the unmodified **GNU Affero General Public License version 3.0** text, providing the full legal framework governing use, modification, and distribution.

When auditing your dependencies, always verify that the [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) file contains the string "GNU Affero General Public License" to confirm the repository maintains its stated AGPL-3.0 status.

## Network Use and SaaS Compliance Requirements

The AGPL-3.0 license creates specific obligations for modern deployment scenarios. Unlike standard GPL licenses, the AGPL's "network use is distribution" clause requires that any publicly accessible instance of Macro—including SaaS offerings or hosted services—must make the complete source code available to all users.

Key compliance requirements include:

- **Source Availability**: You must provide the complete source code of the running version to every user who interacts with the software over a network.
- **Modifications**: Any changes you make to the codebase must be released under the same AGPL-3.0 terms.
- **Attribution**: Copyright notices and license texts must remain intact in all copies.

## Commercial Licensing for Proprietary Use

If you wish to embed Macro code into a proprietary product without open-sourcing your entire application, you must obtain a separate commercial license. The maintainers explicitly offer alternative licensing arrangements for organizations requiring closed-source deployments.

Contact information for commercial licensing inquiries is available in the "License" section of [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md). This dual-licensing approach allows enterprises to use Macro while protecting their intellectual property, provided they negotiate terms with the copyright holders.

## Practical Implementation Examples

When working with the macro-inc/macro codebase, implement these patterns to ensure proper license management and compliance tracking.

### Displaying License Information in CLI Applications

For command-line tools built on Macro, load and display the license file at runtime to inform users of their rights:

```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 example reads the bundled [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) at runtime and outputs the full AGPL-3.0 text, satisfying attribution requirements for interactive applications.

### Validating License Files in CI Pipelines

Automate license compliance checks in your continuous integration workflow to prevent accidental removal of licensing files:

```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

```

The script validates that the repository’s [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) includes the AGPL-3.0 identifier, catching license file corruption or accidental deletion before deployment.

### Adding License Headers to Source Files

Include standard headers in new Rust source files to clearly mark them as part of the AGPL-3.0 project:

```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 …
}

```

Placing a short header comment in each source file makes the licensing terms clear to downstream users and helps prevent proprietary misappropriation.

## Summary

- The macro-inc/macro project is licensed under **AGPL-3.0**, as declared in [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) (lines 38-42) and codified in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt).
- **Network deployments** trigger distribution requirements, meaning SaaS operators must provide source code to all users.
- **Commercial licenses** are available for proprietary use by contacting the maintainers listed in the README.
- **Compliance automation** should validate the presence of [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt) and "GNU Affero General Public License" strings in CI pipelines.
- **Source file headers** should reference the AGPL-3.0 terms to maintain clear licensing boundaries in the codebase.

## Frequently Asked Questions

### What license does macro-inc/macro use?

The project uses the **GNU Affero General Public License version 3 (AGPL-3.0)**. This is explicitly stated in the [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) file and confirmed by the full license text in [`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt). The AGPL-3.0 is a strong copyleft license designed to ensure that network users receive the same freedoms as those running software locally.

### Do I need to open source my modifications if I run Macro as a SaaS?

Yes. The AGPL-3.0's "network use is distribution" clause requires you to provide the complete source code—including any modifications—to every user who accesses your SaaS deployment. This obligation distinguishes AGPL from standard GPL licenses, which only require source distribution when physically transferring software copies.

### Can I use macro-inc/macro in a proprietary product?

Not without obtaining a commercial license. The AGPL-3.0 requires that any distributed or publicly accessible derivative work remain open source under the same license terms. Organizations wishing to embed Macro code in closed-source products must contact the maintainers (via the License section in [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md)) to negotiate separate commercial licensing terms.

### Where is the full license text located in the repository?

The complete AGPL-3.0 license text is located in **[`LICENSE.txt`](https://github.com/macro-inc/macro/blob/main/LICENSE.txt)** at the repository root, beginning at line 1. The [`README.md`](https://github.com/macro-inc/macro/blob/main/README.md) file (lines 38-42) provides a summary and points to this full text, while also offering contact information for commercial licensing inquiries.