Copyright notices: name the Postulo contributors as the holder, not one person #346

Closed
opened 2026-10-01 09:49:03 +00:00 by tiagoagueda · 0 comments
Owner

Requested by the maintainer on 2026-10-01.

Every copyright notice in the repository names one person, Tiago Agueda. The project takes contributions, and its translation catalogues already say Last-Translator: Postulo contributors; the notices should say the same thing: Copyright (C) 2026 Postulo contributors.

Where the wording is

  • README.md:243 (Licence): Copyright (C) 2026 Tiago Agueda. [AGPL-3.0-or-later](LICENSE).
  • THIRD-PARTY.md:3: Postulo is Copyright (C) 2026 Tiago Agueda and is licensed under ...
  • TRADEMARKS.md:3: Postulo's **code** is Copyright (C) 2026 Tiago Agueda, ...
  • pyproject.toml:8: authors = [{ name = "Tiago Agueda" }], which becomes the package's Author field.
  • tests/test_trademarks.py:63-66 asserts the exact string Copyright (C) 2026 Tiago Agueda in THIRD-PARTY.md, TRADEMARKS.md and README.md, so the three files and the test change together.
  • The wiki, Writing-a-plugin.md:1485: the catalogue example carries "maintainer": "Tiago Agueda". That field names who maintains a plugin, not who holds its copyright; decide whether the example should name a person at all, or the project.

Not this: SECURITY.md and FUNDING.md name the maintainer as the person to write to and the person a donation goes to. Those are true statements about a person and stay. The third-party notices (basecoat, flag-icons, zxcvbn, Lucide) name their own holders and stay.

What to decide while changing it

  • The wording. Copyright (C) 2026 Postulo contributors is the proposal. Keep the first year; add a range only if the project wants one.
  • What makes it true. A notice does not move anybody's copyright: each contributor holds what they wrote. CONTRIBUTING.md says nothing today about the terms a contribution comes in under. Add the sentence that makes the collective notice accurate: contributions are licensed under AGPL-3.0-or-later, contributors keep their copyright, and the notice names them together. Say where the list of contributors is (the git history, or an AUTHORS file if one is wanted).
  • The name and logo. TRADEMARKS.md reserves the name and the logo and does not say whose they are. This issue is about the copyright line only; if the marks should also move from a person to the project, that is its own decision and its own issue.
  • Package metadata. authors in pyproject.toml can be Postulo contributors too, with maintainers naming who answers for a release if that is wanted.

Done when

  • The three notices read Copyright (C) 2026 Postulo contributors, and tests/test_trademarks.py asserts the new wording and refuses the old one.
  • CONTRIBUTING.md states the terms of a contribution and who the notice refers to.
  • pyproject.toml and the wiki's catalogue example say what was decided.
  • The same change is made in the plugin repositories that name a holder or an author: postulo/postulo-helloworld, postulo/postulo-apprise, postulo/postulo-dav, postulo/postulo-imap, postulo/postulo-mcp and postulo/postulo-paperless each have their own issue. postulo-chromium, postulo-firefox, postulo-thunderbird and postulo-templates name nobody today.
Requested by the maintainer on 2026-10-01. Every copyright notice in the repository names one person, Tiago Agueda. The project takes contributions, and its translation catalogues already say `Last-Translator: Postulo contributors`; the notices should say the same thing: **Copyright (C) 2026 Postulo contributors**. ## Where the wording is - `README.md:243` (*Licence*): `Copyright (C) 2026 Tiago Agueda. [AGPL-3.0-or-later](LICENSE).` - `THIRD-PARTY.md:3`: `Postulo is Copyright (C) 2026 Tiago Agueda and is licensed under ...` - `TRADEMARKS.md:3`: `Postulo's **code** is Copyright (C) 2026 Tiago Agueda, ...` - `pyproject.toml:8`: `authors = [{ name = "Tiago Agueda" }]`, which becomes the package's `Author` field. - `tests/test_trademarks.py:63-66` asserts the exact string `Copyright (C) 2026 Tiago Agueda` in `THIRD-PARTY.md`, `TRADEMARKS.md` and `README.md`, so the three files and the test change together. - The wiki, `Writing-a-plugin.md:1485`: the catalogue example carries `"maintainer": "Tiago Agueda"`. That field names who maintains a plugin, not who holds its copyright; decide whether the example should name a person at all, or the project. Not this: `SECURITY.md` and `FUNDING.md` name the maintainer as the person to write to and the person a donation goes to. Those are true statements about a person and stay. The third-party notices (`basecoat`, flag-icons, zxcvbn, Lucide) name their own holders and stay. ## What to decide while changing it - **The wording.** `Copyright (C) 2026 Postulo contributors` is the proposal. Keep the first year; add a range only if the project wants one. - **What makes it true.** A notice does not move anybody's copyright: each contributor holds what they wrote. `CONTRIBUTING.md` says nothing today about the terms a contribution comes in under. Add the sentence that makes the collective notice accurate: contributions are licensed under AGPL-3.0-or-later, contributors keep their copyright, and the notice names them together. Say where the list of contributors is (the git history, or an `AUTHORS` file if one is wanted). - **The name and logo.** `TRADEMARKS.md` reserves the name and the logo and does not say whose they are. This issue is about the copyright line only; if the marks should also move from a person to the project, that is its own decision and its own issue. - **Package metadata.** `authors` in `pyproject.toml` can be `Postulo contributors` too, with `maintainers` naming who answers for a release if that is wanted. ## Done when - The three notices read `Copyright (C) 2026 Postulo contributors`, and `tests/test_trademarks.py` asserts the new wording and refuses the old one. - `CONTRIBUTING.md` states the terms of a contribution and who the notice refers to. - `pyproject.toml` and the wiki's catalogue example say what was decided. - The same change is made in the plugin repositories that name a holder or an author: postulo/postulo-helloworld, postulo/postulo-apprise, postulo/postulo-dav, postulo/postulo-imap, postulo/postulo-mcp and postulo/postulo-paperless each have their own issue. postulo-chromium, postulo-firefox, postulo-thunderbird and postulo-templates name nobody today.
tiagoagueda added this to the 0.5.0 milestone 2026-10-01 09:49:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Postulo/postulo#346
No description provided.