AGPL-3.0 + Plugin Exception

Open core.
Free plugins.

Infrarust's core is AGPL-3.0. Modify it, and those changes stay open. Plugins built against the public API can be closed-source, commercial, or proprietary. No restrictions on your plugin code.

Plugin Exception

Built into the LICENSE file

Plugins that interact with Infrarust exclusively through the infrarust-api crate are not considered covered works under AGPL-3.0. You can license your plugin however you want: proprietary, closed-source, commercial, subscription-based, or any open-source license you prefer. No AGPL obligations apply to your plugin code.

Sell your plugin for any price
Keep your source code private
Use any license you choose
Build a subscription-based service
Only via infrarust-api or an official Plugin Loader ABI — not core internals

You can

  • Run it for any Minecraft network, commercial or not.
  • Study and read the full source code.
  • Modify it. Patch bugs, add features, change behaviour.
  • Distribute copies to others.
  • Charge money for a service or product built on top of it.
  • Build closed-source, paid plugins and sell them freely.

You must (core only)

  • Keep the AGPL-3.0 license on any version of the core you distribute.
  • Publish the full source of your core modifications when you distribute them.
  • Make modified core source available to network users. If you run a modified Infrarust as a service, users can request your source.
  • Preserve all existing copyright notices in source files.

You cannot

  • Re-license the core proxy under a closed-source or proprietary license.
  • Resell the compiled proxy binary as a standalone product.
  • Incorporate core Infrarust code (outside infrarust-api) into a project with a more restrictive license.

The AGPL network clause

Regular GPL requires sharing source only when you distribute software. AGPL goes further: running a modified core as a network service also counts. If your players connect to a modified Infrarust, they can request your source. Running the official release (or a custom plugin on top of it) carries no such obligation.

Common scenarios

No obligations

Running Infrarust for your Minecraft network

Use it freely. No source-sharing required as long as you run the official release unmodified.

Fully allowed

Selling a closed-source plugin

Plugins built exclusively against the infrarust-api crate can be proprietary, closed-source, and sold for any price. No AGPL obligations apply to your plugin code.

Source required on request

Running a modified core as a service

If you modify Infrarust's core and players connect to it, you must make your modified source available to them on request. A public GitHub fork is sufficient.

Must ship source

Distributing Infrarust in a product

Include the source code (or a written offer to provide it) and keep the AGPL-3.0 license intact on the core.

Fully allowed

Selling a plugin loaded via WASM or a Plugin Loader

Plugins loaded by an officially designated Plugin Loader (e.g. a future WasmPluginLoader) are covered by the exception. You can keep them closed-source and sell them, even if they don't directly depend on infrarust-api.

Fully allowed

Building a new Plugin Loader

Building a new Plugin Loader is covered by the infrarust-api exception. License it however you want.