Macro Inc. License: AGPL-v3 Explained with Commercial Options
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 |
Repository root | Complete AGPL-v3 legal text |
README.md |
Lines 38–42 | License summary and commercial contact |
In 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【/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
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 at runtime, useful for --license CLI flags or about dialogs.
Validate License in CI Pipelines
#!/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
//! 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:
- Provide complete source code to all users
- Include build instructions and installation scripts
- 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(full text),README.mdlines 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 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 at the repository root【/cache/repos/github.com/macro-inc/macro/main/LICENSE.txt#L1-L3】. The 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.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →