> ## Documentation Index
> Fetch the complete documentation index at: https://yukta.infenia.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Licensing and editions reference

> The editions of Yukta, their licences, which settings and build switches belong to which edition, and the licensing of extensions and contributions.

# Licensing and editions reference

The editions of Yukta, what each contains and which settings need which. This page is not legal advice; the full statement is [LICENSING.md](https://github.com/infenia/yukta/blob/main/LICENSING.md).

## Editions

| Edition | Licence | Adds | Where it lives |
| - | - | - | - |
| Community | Apache-2.0 | The engine, REST and MCP interfaces, web UI, CLI, all built-in plugins, in-memory state. | This repository, everything outside `plus/`. |
| Plus | AGPL-3.0-only, or a commercial licence | State on disk (sessions, workflow definitions, execution log, checkpoints, chat history), PostgreSQL storage with high availability, remote workers. | This repository, the `plus/` directory. |
| Enterprise | Commercial | Enterprise security, multi-tenancy and other commercial features. | Not in this repository. |

The default build, the Docker image and the installers are the Community edition. Named API keys, roles and session-limited keys are in the public build.

## Build switches

| Switch | Effect |
| - | - |
| `-Pyukta.edition=plus` | Builds the Plus edition. The build then combines Apache and AGPL code and is covered by the AGPL as a whole. |
| `-Pyukta.persistence=postgres` | Adds PostgreSQL storage (Plus). |
| `-Pyukta.workers=true` | Adds remote workers (Plus). |

## Settings that need Plus

The Community build refuses to start when one of these is present, instead of running in memory.

| Setting | Needs |
| - | - |
| `yukta.session.store-type=file` | Plus |
| `yukta.execution-log.dir` | Plus |
| `yukta.restart.dir` | Plus |
| `yukta.session-memory.dir` | Plus |
| `yukta.session.store-type=postgres`, `yukta.ha.mode=postgres` | Plus with `-Pyukta.persistence=postgres` |
| `yukta.workers.*`, `engine.placement` | Plus with `-Pyukta.workers=true` |

Community state is lost on restart; apply definitions again with the CLI or build Plus.

## AGPL obligations of Plus

| Situation | Rule |
| - | - |
| Run it unmodified, inside your company or for your customers | Nothing more is required. |
| Modify it and let others use it over a network | AGPL section 13 requires you to offer them your modified source. A Plus server shows where its source is under `edition` in `/actuator/info`. |
| Cannot accept the AGPL | A commercial licence is available from Infenia Private Limited. |

## Extensions

| Layer | Licence | Contents |
| - | - | - |
| Hooks, in `core` | Apache-2.0 | The stores (`SessionConfigStore`, `WorkflowDefinitionStore`, `ExecutionLogStore`, `NodeCheckpointStore`, `KeyValueStore`, `SessionHistoryStore`), `LeaderElection`, `RemoteNodeExecutor`, `ApiAuthenticator`, `AuditSink`. A module provides a bean of the same type and the default steps aside. The Community build never depends on `plus`. |
| Integration layer, in `plus` | AGPL-3.0-only | The `EnterpriseModule` extension API and registry (version check, features, licence verification hook), `EditionInfo`, and the contract tests (`testFixtures` of `plus`) a store or election must pass. A module built on it is part of a Plus build and follows the AGPL. |

Infenia's own Enterprise modules are built under Infenia's copyright and are not bound by the AGPL for that reason. How far the AGPL reaches into a module that only implements the Apache hooks is a legal question this page does not settle.

## Contributions

Contributions take the licence of the directory they change. Before a first pull request is merged you sign a Contributor License Agreement, [individual](https://github.com/infenia/yukta/blob/main/CLA.md) or [corporate](https://github.com/infenia/yukta/blob/main/CLA-corporate.md); a bot asks on the pull request. The texts are drafts pending legal review.

## Related

* [Configuration reference](https://yukta.infenia.com/reference/configuration.md)
* [Deploy Yukta](https://yukta.infenia.com/guides/operate/deploy.md)
* [Persist sessions](https://yukta.infenia.com/guides/operate/persist-sessions.md)
* [Run highly available](https://yukta.infenia.com/guides/operate/run-highly-available.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.