Skip to content

chore(license): normalise the last stray AGPL-3.0 SPDX declaration to EUPL-1.2 - #282

Merged
rubenvdlinde merged 1 commit into
developmentfrom
chore/eupl-license-normalisation-2026-08-05
Aug 5, 2026
Merged

chore(license): normalise the last stray AGPL-3.0 SPDX declaration to EUPL-1.2#282
rubenvdlinde merged 1 commit into
developmentfrom
chore/eupl-license-normalisation-2026-08-05

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

What

One file — tests/e2e/docs-screenshots.spec.ts — still declared
SPDX-License-Identifier: AGPL-3.0-or-later, while every other licence signal in the
repo says EUPL-1.2: LICENSE (EUPL-1.2 text), composer.json, package.json,
appinfo/info.xml (<licence>EUPL-1.2</licence>), and every lib/**/*.php @license
tag. The file carries SPDX-FileCopyrightText: 2026 Scholiq Contributors, so it is ours
to normalise.

That was the only stray declaration in the repo.

Deliberately NOT changed

  • LICENSE:177 — "GNU Affero General Public License (AGPL) v. 3" is an entry in the
    EUPL-1.2's own Appendix of compatible licences, not a declaration of this repo's licence.
  • docs/Features/features.md (lines 13, 42, 76) — AGPL-3.0 / GPL-3.0 / ECL-2.0 there are
    the licences of competitor products (Canvas LMS, Open edX, Moodle…) in a market
    comparison. Not ours to change and factually correct as written.
  • openspec/changes/archive/2026-07-07-fix-manifest-licence-eupl/** — an archived change
    that quotes the old <licence>agpl</licence> value as the problem it fixed. Rewriting
    archived history would destroy the record.
  • docs/static/oas/scholiq.json and lib/Settings/scholiq_register.json"license"
    keys are OpenAPI/JSON-Schema data fields, not declarations on those files.
  • sbom.cdx.json — generated SBOM recording dependencies' licences.
  • All @copyright / SPDX-FileCopyrightText lines.

Verification

Run identically before and after (PHPUnit under PHP 8.5 in a container — host PHP is 8.2,
below this repo's ^8.3):

before after
PHPUnit 898 tests, 4126 assertions, OK 898 tests, 4126 assertions, OK
npm run test:js-unit 5 tests, 5 pass, 0 fail 5 tests, 5 pass, 0 fail
gate-28 license-triangle PASS PASS

npm run test:e2e (Playwright) was not run — it requires a live Nextcloud instance
serving this app and is not conditioned by a header change.

… EUPL-1.2

tests/e2e/docs-screenshots.spec.ts declared SPDX-License-Identifier:
AGPL-3.0-or-later while every other licence signal in the repo (LICENSE,
composer.json, package.json, appinfo/info.xml and every lib/**.php @license
tag) says EUPL-1.2. The file carries 'SPDX-FileCopyrightText: 2026 Scholiq
Contributors', so it is ours.

Header-only change; PHPUnit (898 tests) and the node:test JS unit suite
(5 tests) are identical before and after. gate-28: PASS -> PASS.
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/scholiq @ 3d1a926

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
build
check-specs
composer ✅ 100/100
npm ✅ 750/750
PHPUnit
Newman ⏭️
Playwright ⏭️
Hydra gates

Quality workflow — 2026-08-05 18:17 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
rubenvdlinde merged commit 39ad3ea into development Aug 5, 2026
31 of 33 checks passed
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.

1 participant