Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,6 @@ irm https://raw.githubusercontent.com/OpenDataEnsemble/ode/main/scripts/install-
curl -fsSL https://raw.githubusercontent.com/OpenDataEnsemble/ode/main/scripts/install-synkronus-cli.sh | bash
```

**License note:** this component is currently **GPL-2.0-or-later** (see [synkronus-cli/LICENSE](synkronus-cli/LICENSE)) while the QR PNG stack depends on GPL-classified libraries. We plan to swap in a stdlib-only renderer and return the CLI to **MIT**. See [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).

### **synkronus-portal**
A web-based admin interface for Synkronus. It covers the same tasks as **synkronus-cli** in the browser.

Expand Down Expand Up @@ -150,7 +148,7 @@ CI will **fail** if:

## License

The repository root is [MIT](./LICENSE). **synkronus-cli** is **GPL-2.0-or-later** until the QR dependency cleanup above is done. Third-party and mixed-component details: [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).
The repository is licensed under the [MIT License](./LICENSE). Third-party and component details: [THIRD_PARTY_NOTICES.md](./THIRD_PARTY_NOTICES.md).

## Get Involved

Expand Down
21 changes: 5 additions & 16 deletions THIRD_PARTY_NOTICES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Third-party notices

Open Data Ensemble (ODE) primarily uses the [MIT License](./LICENSE) at the repository root. **`synkronus-cli`** is an exception: it is **GPL-2.0-or-later** until the QR stack is refactored (see below). This file summarizes **other** separately licensed open-source components and points to **SBOMs** for a full machine-readable list.
Open Data Ensemble (ODE) ships with **your own code** under the [MIT License](./LICENSE). This file summarizes **separately licensed open-source components** that may be included when you build and distribute ODE software, and points to where to find a **machine-readable** full list.

> **This is not legal advice.** For distribution (especially mobile apps and CLI binaries), have your process reviewed against your policies.

Expand Down Expand Up @@ -33,24 +33,13 @@ Production JavaScript dependency licenses are **overwhelmingly permissive** (e.g

`synkronus` and `synkronus-cli` SBOMs (`synkronus.cdx.json`, `synkronus-cli.cdx.json`) list modules and detected licenses.

### `synkronus-cli` license (GPL-2.0-or-later)
### `synkronus-cli` licensing

The **synkronus-cli** component is explicitly licensed under **GNU GPL v2 or
later**; see [`synkronus-cli/LICENSE`](./synkronus-cli/LICENSE). That aligns with
the current QR PNG stack:
The **synkronus-cli** component is licensed under the **MIT License**; see [`synkronus-cli/LICENSE`](./synkronus-cli/LICENSE).

**`yeqown/go-qrcode/writer/standard`** → **`github.com/fogleman/gg`** →
**`github.com/golang/freetype`** (detectors report **GPL-2.0-or-later**).
The QR PNG generation path uses a custom standard library-based `qrcode.Writer` (`image`, `image/draw`, `image/png`), avoiding copyleft/GPL dependency chains (`fogleman/gg` / `golang/freetype`).

The rest of the monorepo may remain under other licenses (e.g. MIT at the
repo root).

**Follow-up:** replace `writer/standard` with a **stdlib-only** `qrcode.Writer`,
drop `gg` / freetype from the module graph, then **re-license synkronus-cli
to MIT** if desired. Ticket-ready notes:
[`synkronus-cli/FOLLOWUP-custom-qrcode-writer.md`](./synkronus-cli/FOLLOWUP-custom-qrcode-writer.md).

`synkronus` server SBOMs checked in this audit did **not** show GPL/AGPL/LGPL identifiers in CycloneDX output; still rely on the SBOM for each release.
`synkronus` and `synkronus-cli` SBOMs checked in this audit did **not** show GPL/AGPL/LGPL identifiers in CycloneDX output; still rely on the SBOM for each release.

## Vendored native sources (Formulus / Android)

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/reference/synkronus-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -659,7 +659,7 @@ synk: command not found

## License

The Synkronus CLI is currently **GPL-2.0-or-later** while it depends on GPL-classified QR code libraries. The plan is to swap in stdlib-only rendering and return to MIT license. See `synkronus-cli/FOLLOWUP-custom-qrcode-writer.md` and `THIRD_PARTY_NOTICES.md` for details.
The Synkronus CLI is licensed under the **MIT License**. See `synkronus-cli/LICENSE` and `THIRD_PARTY_NOTICES.md` for details.

## Related Content

Expand Down
2 changes: 1 addition & 1 deletion synkronus-cli/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

## License note

The CLI may be **GPL-2.0-or-later** until the QR dependency cleanup described in the root [README.md](../README.md) and [FOLLOWUP-custom-qrcode-writer.md](FOLLOWUP-custom-qrcode-writer.md). **Do not** change license without maintainer intent.
The CLI is licensed under **MIT** (see [`LICENSE`](LICENSE)).

---

Expand Down
Loading