-
-
Notifications
You must be signed in to change notification settings - Fork 371
Expand file tree
/
Copy pathLICENSE
More file actions
124 lines (105 loc) · 7.1 KB
/
Copy pathLICENSE
File metadata and controls
124 lines (105 loc) · 7.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
Copyright 2023-2026 Braden Wong
This repository contains software under multiple licenses. Each package
under packages/ and apps/ contains its own LICENSE file, and each
package.json declares its applicable license. This file is the index.
For the reasoning behind the split, see docs/licensing/licensing-strategy.md
and FINANCIAL_SUSTAINABILITY.md.
================================================================================
1. MIT License
================================================================================
The following libraries are licensed under the MIT License. The full text
is in licenses/LICENSE-MIT. These are the local-first-on-Yjs developer
toolkit: an external developer can `npm install` any of them and embed
them in a closed-source product. The toolkit's dependency closure is
entirely MIT; the boundary is enforced by 'bun run check:licenses'.
- packages/workspace (@epicenter/workspace) typed schemas,
CRDT tables, sync
- packages/ui (@epicenter/ui) shadcn-svelte
component library
- packages/filesystem (@epicenter/filesystem) POSIX layer over
workspace tables
- packages/sync (@epicenter/sync) Yjs sync protocol
- packages/identity (@epicenter/identity) capability + identity
vocabulary
- packages/agent-protocol (@epicenter/agent-protocol) agent wire contract
- packages/encryption (@epicenter/encryption) toolkit-internal
HKDF + blob crypto
- packages/field (@epicenter/field) toolkit-internal
field schema kinds
- packages/chat (@epicenter/chat) toolkit-internal
chat primitives
- packages/sqlite (@epicenter/sqlite) portable embedded
SQLite adapter contract
- packages/data (@epicenter/data) typed local-first
Epicenter replica and sync
- packages/document-sync (@epicenter/document-sync) row-document sync plane
- packages/agent (@epicenter/agent) UI-free agent loop
- packages/app (@epicenter/app) the public Epicenter
client an installed
app bundles
================================================================================
2. GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later)
================================================================================
Everything else Epicenter ships is licensed under AGPL-3.0-or-later. The
full text is in licenses/LICENSE-AGPL-3.0. This covers all shipped apps and the
Epicenter-internal packages.
You're free to run, modify, and self-host any of these. If you distribute
a modified version, you share the changes back with the community.
For hosted infrastructure (apps/api, apps/self-host), AGPL
§13 extends this to network use: running a modified version as a service
counts as distribution.
For consumer apps that run locally on a user's machine, §13 does not
trigger, but the underlying GPL distribution clause still applies: anyone
who forks and distributes a modified binary shares the changes back.
Apps:
- apps/api (@epicenter/api) hosted personal
cloud Worker
(worker + ui)
- apps/self-host (@epicenter/self-host) self-hosted instance
reference Worker
- apps/whispering (@epicenter/whispering) desktop transcription
- apps/honeycrisp (@epicenter/honeycrisp) notes app
- apps/vocab (@epicenter/vocab) mandarin chat
- apps/tab-manager (@epicenter/tab-manager) browser extension
- apps/skills (skills) agent skill editor
- apps/reddit (@epicenter/reddit) reddit importer
- apps/landing (@epicenter/landing) public site
- apps/posthog-reverse-proxy (@epicenter/posthog-reverse-proxy) analytics
- apps/matter (@epicenter/matter) markdown grid
- apps/wiki (@epicenter/wiki) wiki app
- apps/local-books (@epicenter/local-books) quickbooks mirror
Packages:
- packages/auth (@epicenter/auth) auth core (private)
- packages/svelte-utils (@epicenter/svelte) svelte reactive
helpers + auth
wrapper (private)
- packages/app-shell (@epicenter/app-shell) shared app shell UI
(private)
- packages/skills (@epicenter/skills) workspace skills
- packages/constants (@epicenter/constants) shared constants
- packages/cli (@epicenter/cli) the epicenter CLI
(depends on AGPL
auth + constants)
- packages/server (@epicenter/server) shared Hono server
library (private)
- packages/client (@epicenter/client) API client (private)
- packages/matter-core (@epicenter/matter-core) markdown to SQLite
engine
- packages/vite-config (@epicenter/vite-config) shared vite config
================================================================================
3. Proprietary (deferred tier, currently empty)
================================================================================
No components are currently licensed under proprietary terms, and none are
planned. Revenue comes from hosting (Epicenter Cloud), not licensing.
This tier is documented as an escape hatch for one specific situation: a
paying customer requires a specific feature that AGPL self-hosting would
otherwise give away free. It will not be populated speculatively. The
empty-tier end-state is the goal.
If this tier is ever populated, modules will live in clearly delineated
subdirectories with their own LICENSE files declaring "All rights reserved"
terms, and will be listed here.
See docs/licensing/licensing-strategy.md for the conventions.
================================================================================
If a package's per-package LICENSE file or package.json "license" field
ever conflicts with this index, the per-package files are authoritative.
This index will be updated to match.