Skip to content

chore: establish REUSE/SPDX licensing baseline#12589

Draft
DeepDiver1975 wants to merge 4 commits into
masterfrom
relicense/reuse-baseline
Draft

chore: establish REUSE/SPDX licensing baseline#12589
DeepDiver1975 wants to merge 4 commits into
masterfrom
relicense/reuse-baseline

Conversation

@DeepDiver1975

Copy link
Copy Markdown
Member

Summary

Establishes a REUSE/SPDX licensing baseline for the
repository. This makes the current licensing explicit and machine-verifiable
ahead of the planned Apache-2.0 relicensing — it is a prerequisite that changes
no license:

  • Application code stays GPL-2.0-or-later
  • Library components stay LGPL-2.1-or-later
  • Bundled third-party keeps its upstream license

What's included

  • LICENSES/ — the SPDX text of every license present in the tree
    (GPL-2.0-or-later, LGPL-2.1-or-later, MIT, BSD-3-Clause, BSL-1.0, CC-BY-4.0,
    Apache-2.0, plus LicenseRef- texts for the Qt LGPL exception and a
    public-domain file).
  • SPDX-License-Identifier headers added to every GPL/LGPL source file
    (following the existing precedent, e.g. src/libsync/config/openidconfig.h).
    Copyright lines were already machine-detectable, so the change is a single
    added comment line per file.
  • REUSE.toml covering assets, generated/config files, and third-party
    material that cannot carry a header — recording each file's license and
    copyright. Third-party is attributed correctly (QProgressIndicator = MIT,
    Font Awesome = CC-BY-4.0, Remix Icon = Apache-2.0, vendored CMake modules =
    BSD-3-Clause / BSL-1.0, c_jhash = public domain, Windows VFS = the 2025
    GPL relicensing).
  • CI check.github/workflows/reuse-lint.yml runs reuse lint on PRs so
    compliance stays enforced.
  • Ignore local tooling artifacts (.superpowers/, signing key).

Verification

$ reuse lint
* Files with copyright information: 1290 / 1290
* Files with license information: 1290 / 1290
Congratulations! Your project is compliant with version 3.3 of the REUSE Specification :-)

Notes

This is Phase 1 of the relicensing effort and is safe to merge on its own.
The actual GPL/LGPL → Apache-2.0 flip, dropping the CLA, and moving to DCO are
separate follow-ups gated on legal confirmation that the contributor agreement
permits relicensing.

🤖 Generated with Claude Code

Make the current licensing explicit and machine-verifiable ahead of the
planned Apache-2.0 relicensing. This changes no license: application code
stays GPL-2.0-or-later, library components stay LGPL-2.1-or-later, and
bundled third-party keeps its upstream license.

- Add LICENSES/ with the SPDX text of every license in the tree.
- Add an SPDX-License-Identifier header to every GPL/LGPL source file
  (copyright lines were already machine-detectable).
- Add REUSE.toml covering assets, generated/config files, and third-party
  material that cannot carry a header, recording each file's license and
  copyright.
- Add a REUSE compliance CI check (.github/workflows/reuse-lint.yml).
- Ignore local tooling artifacts (.superpowers/, signing key).

`reuse lint` reports the project compliant with REUSE Specification 3.3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
@DeepDiver1975 DeepDiver1975 requested a review from a team as a code owner July 3, 2026 06:16
@update-docs

update-docs Bot commented Jul 3, 2026

Copy link
Copy Markdown

Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
@DeepDiver1975 DeepDiver1975 marked this pull request as draft July 3, 2026 06:35
DeepDiver1975 and others added 2 commits July 3, 2026 08:43
spacesbrowser.cpp began with a UTF-8 BOM. The REUSE baseline commit
prepended the SPDX-License-Identifier line, pushing the BOM to line 2
where clang rejects it (error: unexpected character <U+FEFF>), breaking
the build on all platforms.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
Rewrite the scattered per-author copyright notices in every ownCloud-authored
source file into a single canonical corporate copyright chain, in preparation
for the Apache-2.0 relicensing (the CLA assigned copyright to ownCloud):

  SPDX-FileCopyrightText: <START>-2016 ownCloud Inc.
  SPDX-FileCopyrightText: 2016-2022 ownCloud GmbH
  SPDX-FileCopyrightText: 2023 ownCloud GmbH - A Kiteworks Company
  SPDX-FileCopyrightText: 2026 ownCloud GmbH - A Kiteworks Company and ownCloud contributors

The start year of the first line is dynamic: 2012 by default, or one year
after a preserved upstream copyright ends.

Genuine third-party upstream copyright is preserved and the chain appended
below it:
- Liferay, Inc. (2000-2013) in the Windows shell-integration overlays
- Andreas Schneider (2008-2013), the upstream libcsync author, in src/csync

Individual-contributor notices (including dated ones) are normalized away;
vendored library descriptions (libcsync, c_time) are kept.

The tree remains REUSE 3.3 compliant (reuse lint: 1291/1291 tracked files).

Signed-off-by: Thomas Müller <1005065+DeepDiver1975@users.noreply.github.com>
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