Skip to content

Relicense natrium from GPL-3.0 to EUPL-1.2#1

Open
mtrossbach wants to merge 2 commits into
mainfrom
relicense-eupl-1.2
Open

Relicense natrium from GPL-3.0 to EUPL-1.2#1
mtrossbach wants to merge 2 commits into
mainfrom
relicense-eupl-1.2

Conversation

@mtrossbach

@mtrossbach mtrossbach commented Jun 2, 2026

Copy link
Copy Markdown
Member

Summary

Switches natrium's licence from GNU GPL-3.0-only to the European Union Public Licence (EUPL) v1.2.

  • LICENSE: replaced with the official EUPL-1.2 text (English version, EU-published).
  • README.md: licence statement updated.
  • natrium-core/build.gradle.kts: Maven publishing POM licenses block now declares EUPL-1.2 with the canonical EU URL.
  • .ort.yml: outbound-licence references in the existing LICENSE_ACQUIRED_EXCEPTION resolutions for core-crypto* and com.wire:avs* rewritten — patterns remain unchanged, only the explanatory comment: blocks reflect the new outbound licence and the EUPL Compatibility Clause.
  • 70 source / build files (*.kt, *.gradle.kts): GPL header replaced with a short EUPL-1.2 header carrying an SPDX-License-Identifier: EUPL-1.2 tag and a pointer to LICENSE.

Split into two commits to keep the review tractable: one for the textual / metadata changes, one for the mechanical header sweep.

Licence compatibility note

EUPL-1.2 explicitly lists GPL-3.0 as a Compatible Licence in its Appendix (Article 5). The Wire core-crypto and avs dependencies remain GPL-3.0-only — combined distribution stays permitted; the EUPL compatibility clause allows the resulting combined work to be distributed under GPL-3.0 terms where required. The existing ORT exceptions therefore remain valid and load-bearing.

Test plan

  • ./gradlew build passes locally
  • ./gradlew :natrium-core:generatePomFileForKotlinMultiplatformPublication produces a POM with <name>European Union Public Licence v1.2</name>
  • Compliance workflow (compliance.ymlSchwarzDigits/oss-compliance/full-check.yml@v1) is green on this PR
  • No stale GPL references: git grep -i 'gpl\|gnu general public' -- ':!LICENSE' ':!.ort.yml' returns nothing

mtrossbach and others added 2 commits June 2, 2026 09:35
Switch the project licence from GNU GPL-3.0-only to the European Union
Public Licence (EUPL) v1.2. Replace the LICENSE file with the official
EUPL-1.2 text, update the README licence statement, switch the
natrium-core Maven publishing POM licence block, and update the
.ort.yml resolutions for the GPL-3.0-only Wire dependencies to
reflect the new outbound licence (EUPL-1.2 lists GPL-3.0 as a
Compatible Licence via its Appendix).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mechanical replacement of the GPL-3.0 file header with the short
EUPL-1.2 SPDX header across all 69 remaining Kotlin and Gradle Kotlin
DSL files. Header points to the LICENSE file in the repository root
for the full licence text and carries an SPDX-License-Identifier tag
for automated tooling.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@CLAassistant

CLAassistant commented Jun 2, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@mtrossbach mtrossbach requested review from reklov and sbra0902 June 11, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants