halkyon/CONTRIBUTING.md
Tizian 「ティツィアーン」 95540882d5
docs: licences and how to contribute
The app and the client package are under AGPL-3.0-or-later, the server under SSPL-1.0, as decided for before the first publish: the server builds on Serverpod's core, which is SSPL, while the app links only BSD-3 packages and the client is generated from our own models. "Or later" keeps the code compatible with future AGPL versions without asking every contributor. Each package carries the official text in its LICENSE (from gnu.org and the SPDX licence data) and a notice in its README; LICENSE.md explains the split and covers the files outside the packages.

CONTRIBUTING.md: contributions come under the licence of the package they change, with no copyright assignment; every commit carries a Signed-off-by certifying the Developer Certificate of Origin, quoted verbatim; tool/check.sh runs before pushes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
2026-09-30 20:38:16 +02:00

2.3 KiB

Contributing to Halkyon Learn

Licences

Contributions are accepted under the licence of the package they change (see LICENSE.md): AGPL-3.0-or-later for the app and the client, SSPL-1.0 for the server. There is no copyright assignment and no contributor licence agreement: every contributor keeps the copyright of their work.

Sign-off

Every commit carries a Signed-off-by line with your name and email address. With it you certify the Developer Certificate of Origin below: that you wrote the change, or otherwise have the right to submit it under the package's licence. git commit -s adds the line.

Before you push

tool/check.sh runs the format check, the analyzer and every test that doesn't need a running server. In a fresh clone, ln -s ../../tool/check.sh .git/hooks/pre-push makes every push run it. How the code is organised, and the rules it follows, are in AGENTS.md.

Developer Certificate of Origin

Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.


Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.