docs: the font licenses ship with the fonts, the notices name them all

public/ is copied verbatim into the build, src/assets/ is not - so the fonts
were deployed without the license texts that OFL-1.1 and Bitstream Vera require
to travel with them. Moving the texts to public/font-licenses/ fixes that with
no build step. The notices covered only Liberation and missed five bundled
dependencies; the commercial license now states what it cannot relicense, the
copyleft German dictionary and thesaurus above all.
This commit is contained in:
Steffen Becker committed 2026-08-18 10:33:10 +02:00
1 parent 2f9dd3cdf7
commit 7e0f9ca617
9 files changed
+46 -15

No files matched your search

+20 -2
View File
@@ -27,12 +27,30 @@ The AGPL may be incompatible with your needs if you want to:
For these cases, a **separate commercial license** is available that removes the
copyleft obligations of the AGPL, under negotiated terms.
## 3. How to obtain a commercial license
## 3. What a commercial license does not cover
A commercial license covers the copyright holder's own work. It cannot change the
terms of third-party components, which keep their own licenses either way —
[`THIRD-PARTY-NOTICES.md`](./THIRD-PARTY-NOTICES.md) lists them all. Two points
matter for a proprietary distribution:
- The **fonts** (SIL Open Font License 1.1, and a Bitstream Vera-licensed subset)
may be bundled in proprietary software, provided their license files travel
with them.
- The bundled **German dictionary** (igerman98) is **GPL-2.0-or-3.0** and the
**German thesaurus** (OpenThesaurus) is **LGPL-2.1-or-later**. These are not the
copyright holder's to relicense. They are separate data files that the app loads
at runtime, not part of its code, so a proprietary distribution may either keep
them under their own copyleft terms or omit `public/dictionaries/de` and
`public/thesaurus/de` — the app then offers no German spell check or synonyms.
The English data is permissively licensed and unaffected.
## 4. How to obtain a commercial license
Commercial licenses (including subscription terms for organisations) are granted
by the copyright holder on request.
**Contact:** Steffen Becker — <your-contact-email>
**Contact:** Steffen Becker — stffn.becker@gmail.com
> _This document describes the availability of a commercial license; it is not
> itself the commercial license contract. The actual terms, pricing, and
+4 -1
View File
@@ -64,8 +64,11 @@ requires a signed [CLA](CLA.md), checked automatically on every pull request.
## License
Copyright © 2026 Steffen Becker.
[AGPL-3.0](LICENSE). A [commercial license](LICENSE.commercial.md) is available
for use cases the AGPL does not fit.
for use cases the AGPL does not fit. Bundled fonts and language data keep their
own licenses — see [THIRD-PARTY-NOTICES.md](THIRD-PARTY-NOTICES.md).
*EdenText is an independent project, not affiliated with Microsoft or The
Document Foundation. `.docx` and `.odt` are supported for interoperability.*
+18 -8
View File
@@ -12,19 +12,25 @@ copyleft, see its section.
## Bundled fonts — retain their own license
The **Liberation** fonts (`src/assets/fonts/LiberationSerif-*.ttf`) are **not**
covered by this project's license. They are licensed under the **SIL Open Font
License, Version 1.1 (OFL-1.1)** and remain so regardless of how this project is
licensed.
The fonts in `src/assets/fonts/` are **not** covered by this project's license and
remain under their own regardless of how this project is licensed. Their license
texts live in [`public/font-licenses/`](./public/font-licenses/) — that folder is
copied verbatim into the build, so the licenses ship wherever the fonts do.
- Copyright (c) 2010 Google Corporation (with Reserved Font Name Arimo, Tinos and Cousine)
- Copyright (c) 2012 Red Hat, Inc. (with Reserved Font Name "Liberation")
- Full license text: [`src/assets/fonts/LICENSE-LiberationFonts.txt`](./src/assets/fonts/LICENSE-LiberationFonts.txt)
| Font | License | Copyright |
|------|---------|-----------|
| Liberation Mono/Sans/Serif | OFL-1.1 | (c) 2010 Google Corporation; (c) 2012 Red Hat, Inc. (Reserved Font Name "Liberation") |
| Carlito | OFL-1.1 | (c) 2013 The Carlito Project Authors (Reserved Font Name "Carlito") |
| Caladea | OFL-1.1 | (c) 2012 The Caladea Project Authors |
| STIX Two Math | OFL-1.1 | (c) 2001–2021 The STIX Fonts Project Authors |
| `EdenSymbols.woff2` — bullet glyphs subset from DejaVu Sans | Bitstream Vera | (c) 2003 Bitstream, Inc. |
> OFL-1.1 permits bundling the fonts in any software, **including commercial and
> proprietary software**, provided the license file is retained and the fonts are
> not sold by themselves. The fonts must not be redistributed under their Reserved
> Font Names if modified.
> Font Names if modified. The Bitstream Vera license likewise permits bundling and
> requires the notice to travel with the font; the subset is renamed accordingly,
> as that license requires of a derivative.
## Bundled language data — retains its own license
@@ -50,6 +56,10 @@ Both thesaurus files are generated from LibreOffice's own MyThes data by
| Svelte | MIT |
| TipTap (`@tiptap/*`) and ProseMirror (`@tiptap/pm`) | MIT |
| `fflate` | MIT |
| `docx` — DOCX export | MIT |
| `jspdf` and `html2canvas` — PDF export | MIT |
| `hunspell-asm` — spell checker | MIT |
| `utif2` — TIFF decoding | MIT |
| `odf-kit` | Apache-2.0 |
| Vite, TypeScript, `@sveltejs/vite-plugin-svelte`, `@tsconfig/svelte` (dev) | MIT / Apache-2.0 |
File renamed without changes.
File renamed without changes.
+4 -4
View File
@@ -10,7 +10,7 @@
font the exported .odt uses. odf-kit emits Liberation Serif as the document
default, and LibreOffice ships the identical file; this keeps the on-screen
preview pixel-faithful to the export. (SIL Open Font License — see
src/assets/fonts/LICENSE-LiberationFonts.txt.) */
public/font-licenses/LICENSE-LiberationFonts.txt.) */
@font-face {
font-family: 'Liberation Serif';
font-style: normal;
@@ -43,7 +43,7 @@
/* Bullet-marker symbols Liberation Serif lacks (❖ ➢ ⇨ ✓ ▸ ◆), subset from DejaVu
Sans so markers render compact and identical on every platform. First in the
::marker/picker stacks; per-glyph fallback keeps all other chars in the text
font. (Bitstream Vera license — see src/assets/fonts/LICENSE-DejaVu.txt.) */
font. (Bitstream Vera license — see public/font-licenses/LICENSE-DejaVu.txt.) */
@font-face {
font-family: 'EdenText Symbols';
font-style: normal;
@@ -55,7 +55,7 @@
/* STIX Two Math — a font with an OpenType MATH table is what makes MathML typeset:
without one Chromium drops ∑ and ϕ entirely and leaves brackets glyph-height next
to a fraction. Word uses Cambria Math for the same job. (OFL — see
src/assets/fonts/LICENSE-STIX.txt.) */
public/font-licenses/LICENSE-STIX.txt.) */
@font-face {
font-family: 'STIX Two Math';
font-style: normal;
@@ -68,7 +68,7 @@
.odt files reference. Each face is keyed to the MS name but prefers a real
local copy, then a system twin, then the bundled open-source twin — so text
renders with matching metrics (like LibreOffice) instead of dropping to the
browser's default serif. (OFL — see src/assets/fonts/LICENSE-*.) */
browser's default serif. (OFL — see public/font-licenses/LICENSE-*.) */
/* Calibri → Carlito */
@font-face {