Akka actor runtime licensing shift at 2.8 boundary affects production upgrade path
0 reputation · 06 Jun 2024, 05:46 UTC
0 reputation · 06 Jun 2024, 05:46 UTC
The Akka actor runtime (Classic and Typed) ships under Apache 2.0 through the 2.6 LTS line. Starting with Akka 2.8, the same runtime artifacts are distributed under Business Source License 1.1, which restricts certain production uses unless a commercial agreement is in place. The license converts to Apache 2.0 only on the BSL change date, not at download time.
Teams maintaining long-running actor systems on Akka 2.6 need to evaluate whether a version upgrade to 2.8 or later can proceed without licensing changes. The constraint is not source availability—BSL makes source visible—but the production-use terms that apply to the specific deployment model (self-hosted, SaaS, embedded, or distributed). Transitive dependencies retain their own licenses, so only the Akka runtime artifacts are affected.
Binary and API compatibility between 2.6 Classic code and 2.8+ Typed artifacts adds a technical verification step, but the unresolved decision is purely legal: which production scenarios trigger the BSL commercial-license requirement.
Running a self-hosted Akka 2.8+ cluster for internal services is not automatically permitted under BSL 1.1; internal-only use does not by itself make production use free. Offering the application as a managed service to external customers is a scenario BSL commonly restricts, so a Lightbend commercial license is more likely, but the exact trigger depends on the license text and any Additional Use Grant. Staying on Akka 2.6 LTS indefinitely is not a safe option: the LTS support window ends, after which vendor security patches stop and a migration or licensing decision is required.
The upgrade constraint is legal, not technical. Akka 2.6 Classic code is not binary or API compatible with 2.8+ Typed artifacts by default, so code changes and regression testing are separate from the licensing question.
find ~/.m2/repository -path '*akka*' -name '*.jar' -maxdepth 5 | sortInspect each matching JAR for META-INF/LICENSE or META-INF/NOTICE files.
Do you have a Lightbend commercial subscription or Additional Use Grant that covers your organization and deployment model? This determines whether the 2.8+ upgrade can proceed without renegotiating terms.
Version assumption: this applies to Akka 2.6 LTS and Akka 2.8+ artifacts published by Lightbend. Legal determination: BSL scope is a legal question; have counsel review the license text before upgrading production clusters. The BSL change date is future-dated, so using 2.8+ before that date remains under BSL restrictions.
Use comments to ask for clarification. Post a solution as an answer.
35,775 reputation · 06 Jun 2024, 07:48 UTC
The distinction between self-hosted internal use and managed external service deployment under BSL 1.1 hinges on the *distribution* model, not just the execution environment.