Files
Outpost/CONTRIBUTING.md
T
Puranjay Savar Mattas c04e4d542c legal: relicense from MIT to Business Source License 1.1
Switches from a fully permissive license to BSL 1.1 (the same family
Outline's own server uses, for the same underlying reason): personal
use, self-hosting, and non-commercial forks stay explicitly allowed,
but shipping a competing hosted/distributed product off this code, or
distributing a fork under branding that claims official/affiliated
status, now requires a separate commercial agreement. Converts
automatically to Apache License 2.0 on the change date in LICENSE.

Adds an explicit trademark notice for the "Outpost" name/logo,
independent of the code license — the specific thing this was meant to
close off (a fork getting relabeled as an official/endorsed product).

README gets a plain-English summary of what changed; CONTRIBUTING gets
a one-line note that PRs are contributed under the same terms.
2026-08-20 00:28:32 +01:00

78 lines
2.3 KiB
Markdown

# Contributing to Outpost
Thank you for contributing. Please read this guide before opening issues or PRs.
Outpost is early alpha (`0.0.x`) — expect the codebase and conventions here to shift as Phase 1 (see [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)) settles. If something in this guide is stale, flag it.
---
## Branching
Branch from `main` using `type/short-description`:
```bash
git checkout -b feature/document-permissions
git checkout -b fix/sidebar-context-menu
```
---
## Commit Messages
Follow the Conventional Commits standard: `type(scope): message`.
| Type | Description |
| :--- | :--- |
| `feat` | New feature |
| `fix` | Bug fix |
| `docs` | Documentation |
| `style` | Formatting |
| `refactor` | Refactor |
| `perf` | Performance |
| `test` | Tests |
| `build` | Build system |
| `ci` | CI/CD config |
| `chore` | Maintenance |
**Examples:**
- `feat(collections): add document right-click context menu`
- `fix(reader): correct off-main AppKit calls in save action`
---
## Pull Requests
- Link the related issue in your PR description, if any
- Keep PRs focused — one feature or fix per PR
- Self-review before requesting review
- Run the tests that apply to what you touched (see below) and confirm the app still launches and behaves correctly in Xcode
### Testing
- **`OutlineKit`** (the REST client package) has real unit test coverage:
```bash
cd OutlineKit && swift test
```
- **The `Outpost` app target** has no meaningful CLI build path — `xcodebuild` from the command line is not a reliable way to verify it in this project's current setup. Build and run through Xcode, and manually verify the feature you changed (and anything obviously adjacent) before opening a PR.
---
## Labels
Issues and PRs use two label prefixes:
- `type:` — what kind of change/issue this is (`type: bug`, `type: docs`, `type: security`, ...)
- `priority:` — how urgent it is (used mainly for security reports)
---
## Questions
Open an issue — this is a single-repo project, there's no separate issue tracker to route to.
---
## License
Outpost is licensed under the [Business Source License 1.1](./LICENSE), not a traditional OSI open-source license — see the [README's License section](./README.md#license) for what that means in practice. By submitting a PR, you agree your contribution is licensed under the same terms as the rest of the project.