Self-hosted knowledge management for SMEs: a split-screen Markdown editor whose sections an LLM refines while you write, and RAG question answering over the documents that result. FastAPI + Postgres/pgvector on the back, SvelteKit on the front, everything OpenAI-compatible and self-hostable. Squashed into a single commit; the development history stays local. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CA43ZJda8Rbp2hKXNy8f6b
2.7 KiB
2.7 KiB
Licensing model
Decision: Fair Source core (FSL-1.1-ALv2) + proprietary ee/ layer.
How it works
- Everything outside
ee/is licensed under the Functional Source License 1.1 with Apache 2.0 future grant (LICENSEin repo root, text from fsl.software). Anyone may read, audit, self-host and use Pablan internally for free; offering a competing product/service based on the code is prohibited. Each released version automatically becomes Apache 2.0 two years after its release — the built-in trust promise: even if Pablan (the company) disappears, the code inevitably becomes true open source. ee/is proprietary (ee/LICENSE), activated via license key. Planned EE scope: OIDC/Entra ID SSO, fine-grained permissions beyond the basics, the management insights module, audit log, priority support.- The free core is the funnel: small teams start free, grow, need SSO and permissions — that is where revenue begins (GitLab/Cal.com playbook, Sentry licensing).
Rules that follow from this
- Never call it "Open Source" in public communication — FSL is not OSI-approved. The correct, established term is "Fair Source" (fair.io). Using "open source" invites justified openwashing criticism. The two-year Apache conversion may and should be highlighted.
- Core must never import from
ee/— enforced by import-linter in CI. The core only offers extension points (mode registry, frontend slot registry,ee_hooks.py). - CLA required from day one if external contributions are ever accepted — without it we can never change the license later.
- Register the "Pablan" trademark. The license protects code; the brand carries the trust. This also neutralizes forks: a fork may not be offered commercially (FSL) and must be renamed (trademark).
LICENSE(root) andee/LICENSEexist from the first commit so the boundary is unambiguous in the entire history. The final wording ofee/LICENSEand the FSL fine print are owned by the legal co-founder with an IT lawyer.
Rationale (short)
Considered alternatives: Open Core with MIT/Apache core (maximum trust, but
competitors may resell the core), AGPL + dual licensing (self-hosting
without distribution triggers no obligations → no revenue mechanism for our
deployment model, only FUD), fully proprietary (loses bottom-up adoption —
the only realistic sales channel for a three-person company). FSL + ee/
keeps the auditability that our target market actually means by "trust"
(every commit inspectable — critical when companies put their entire
internal knowledge into the system) while protecting against the one real
threat: a competitor commercializing our code.