Ocideck/THIRD_PARTY_NOTICES.md
Brenno de Winter 2d8be6f0dd
Some checks failed
CI / Format · Analyze · Test (push) Has been cancelled
CI / Format · Analyze · Test (pull_request) Has been cancelled
Add project docs, EUPL licence, and open-source licence check
Documentation & licensing:
- Add the EUPL-1.2 licence (LICENSE.md) and set the project licence; refresh
  the README (name origin wink, updated feature list, documentation index).
- Add CONTRIBUTING, SECURITY, CODE_OF_CONDUCT, CHANGELOG, AUTHORS, and
  THIRD_PARTY_NOTICES, plus docs/ (ARCHITECTURE, BUILD, USER_GUIDE, SHORTCUTS,
  LICENSE_COMPLIANCE) and .github/ (CI workflow, issue/PR templates).
- Bring docs/FILE_FORMAT.md in line with current behaviour (code & chart
  slides, per-slide TLP comment, annotation .ink.json sidecar, chart data/ CSVs).

Open-source compliance:
- Add tool/check_licenses.dart and a `make licenses` target (wired into
  check-full and CI) that verifies every resolved dependency uses a recognised
  open-source licence. A scan of all 151 packages and bundled assets found only
  OSI-approved licences.

Charts (Fase 1.1):
- Replace the chart CSV textarea with an in-app editable data grid (editable
  series/labels/values, add/remove row & column, read-only when linked).
- Centralize the linked-CSV directory name (`data/`) in a shared constant.

Also normalize formatting repo-wide with `dart format` and fix one
curly-braces lint, so `make check` and CI are green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 12:19:56 +02:00

3.1 KiB

Third-Party Notices

OciDeck is licensed under the EUPL-1.2 (see LICENSE.md). It builds on, and bundles, third-party components that remain under their own licences. This file lists them; each component's full licence text is available from its project or package page.

Bundled runtime assets

Shipped inside the app and embedded into the offline HTML export (assets/web_export/) and the UI:

Component Used for Licence
marked Markdown → HTML in the export MIT
highlight.js Code highlighting in the export BSD-3-Clause
Mermaid Diagrams in the export MIT (bundles DOMPurify, Apache-2.0 / MPL-2.0)
MathJax (tex-svg.js) Math rendering in the export Apache-2.0
EB Garamond font Bundled deck font SIL Open Font License 1.1

Vendored (forked) plugins

Kept in third_party/ and wired in via pubspec.yaml (path dependency / dependency_overrides). Both are forks of upstream plugins with local native changes; see docs/ARCHITECTURE.md.

Component Origin Licence Local changes
desktop_multi_window MixinNetwork/flutter-plugins MIT Added native macOS window placement/fullscreen/close methods for the dual-screen presenter
screen_retriever_macos leanflutter/screen_retriever MIT Packaging fix for recent Xcode/CocoaPods

Dart & Flutter packages

Direct dependencies (see pubspec.yaml for exact version constraints). Each is distributed under its own OSI-approved licence as published on pub.dev; most are MIT, BSD-3-Clause, or Apache-2.0.

  • flutter, flutter_localizations (Flutter SDK — BSD-3-Clause)
  • flutter_riverpod
  • file_picker
  • path_provider, path
  • uuid
  • screen_retriever, window_manager
  • shared_preferences
  • pasteboard
  • pdf
  • archive
  • video_player
  • characters
  • url_launcher
  • desktop_drop
  • image
  • flutter_highlight, highlight
  • flutter_math_fork
  • wakelock_plus
  • fl_chart
  • cupertino_icons

To regenerate an authoritative, version-pinned licence inventory you can use a tool such as flutter pub deps together with a licence-collection package.

Licence audit

A scan of all resolved Dart/Flutter packages (direct and transitive) and the bundled assets found only OSI-approved open-source licences — MIT, BSD (2-/3-Clause), Apache-2.0, MPL-2.0, and the SIL Open Font License 1.1. No proprietary or source-unavailable components are included. (The only MPL-2.0 dependency is dbus, used on Linux.) Re-run such a scan after changing dependencies.

Run it yourself with make licenses (or dart run tool/check_licenses.dart). The policy, method, and latest result are documented in docs/LICENSE_COMPLIANCE.md.