mirror of
https://github.com/UNITRONIX/BetterDesk.git
synced 2026-10-26 06:19:53 +00:00
d03129cf8f
Integrate focused, reviewed contributor fixes on dev: bounded transport framing, live peer-ID rename, explicit enrollment precedence, lazy file-transfer compatibility, focused tests, and provenance/attribution documentation. Refs #346 Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
70 lines
3.2 KiB
Markdown
70 lines
3.2 KiB
Markdown
# Contributor licensing and provenance
|
|
|
|
BetterDesk is distributed under AGPL-3.0 as described in
|
|
[`LICENSE`](../../LICENSE). This document records the maintainer policy for
|
|
contributions; it is not legal advice.
|
|
|
|
## Copyright and project control
|
|
|
|
The copyright notice in `LICENSE` identifies the project copyright holder, but
|
|
it does not automatically transfer copyright in every later contribution to
|
|
UNITRONIX. A contributor normally retains copyright in original code they
|
|
write unless a separate written agreement says otherwise.
|
|
|
|
`Co-authored-by` records authorship. It is not a copyright assignment, a
|
|
license grant beyond the project license, or a promise of exclusive ownership.
|
|
Do not invent an email address for this trailer.
|
|
|
|
When UNITRONIX does not have an assignment, preserve the contributor's
|
|
copyright and AGPL treatment instead of claiming exclusive ownership. Record
|
|
the source and the actual use in
|
|
[Contributor attributions](CONTRIBUTOR-ATTRIBUTIONS.md).
|
|
|
|
When UNITRONIX specifically needs exclusive control of a contribution, obtain
|
|
a written copyright assignment or an appropriate contributor agreement before
|
|
accepting code. Keep that agreement outside the public repository and record
|
|
its reference in the maintainer's contribution register.
|
|
|
|
## Direct contribution and clean-room paths
|
|
|
|
There are two fair and reviewable paths:
|
|
|
|
- **Direct contribution:** preserve the contributor's copyright, provenance,
|
|
AGPL license, and attribution. A pull request is not a copyright assignment.
|
|
- **Clean-room implementation:** use only the reviewed specification,
|
|
observable behavior, and independently written test vectors; credit the
|
|
source for the report or design, not as an author of code they did not
|
|
write.
|
|
|
|
When an external patch is not accepted directly:
|
|
|
|
1. The specification role records the problem, public behavior, security
|
|
invariants, and independently written test vectors.
|
|
2. The implementation role receives that specification, not the external
|
|
patch, source-derived comments, copied tests, or generated artifacts.
|
|
3. The implementation is written independently against the BetterDesk
|
|
architecture and reviewed for provenance before merge.
|
|
4. The external reporter is credited for the report, design input, or test
|
|
scenario only when that is what they supplied.
|
|
|
|
Bug reports, requirements, protocol observations, and test ideas do not by
|
|
themselves transfer copyright in implementation code. Do not copy an external
|
|
PR's code, comments, tests, generated output, or distinctive structure into a
|
|
clean-room implementation.
|
|
|
|
## AGPL obligations
|
|
|
|
This policy does not add proprietary restrictions to AGPL-covered code.
|
|
Conveyed BetterDesk modifications must preserve the applicable AGPL notices,
|
|
source availability, and remote-network source offer requirements. A
|
|
commercial grant or dual license may be offered only for material whose
|
|
copyright and third-party permissions UNITRONIX actually controls.
|
|
|
|
Before merging an externally derived implementation, maintainers must record:
|
|
|
|
- the source issue/PR and what was actually used;
|
|
- whether code was directly accepted, rewritten clean-room, or supplied under
|
|
a written assignment/agreement;
|
|
- applicable copyright and license notices;
|
|
- the intended attribution in `CHANGELOG.md` or release notes.
|