Skip to content

MIT license and third-party notices - #38

Merged
cedricvogel-leo merged 1 commit into
mainfrom
chore/mit-license
Oct 26, 2026
Merged

cedricvogel-leo merged 1 commit into
mainfrom
chore/mit-license

Conversation

@cedricvogel-leo

Copy link
Copy Markdown
Collaborator

Licensing as decided with the school: MIT, «Copyright (c) 2026 Cédric Vogel».

  • LICENSE: the standard MIT text. package.json gets "license": "MIT", and the README a «Lizenz / License» section.
  • THIRD_PARTY_NOTICES.md: the notices of the third-party code the repo contains or bundles, with their license texts:
    • Adapted: Monaco Editor's Python language definition (MIT, Microsoft), in src/pythonLanguage.ts. That file only mentioned «MIT license» and had no copyright notice, so I added Monaco's original header (from src/languages/definitions/python/python.ts) at its top.
    • Vendored: embed/public/coi-serviceworker.js (MIT, Guido Zuidhof). Its header comment is intact; the full license text is now in the notices.
    • Bundled into the embed (taken from the node_modules paths in the build's source maps): react, react-dom, scheduler, @monaco-editor/react, @monaco-editor/loader, state-local (MIT), lucide-react (ISC).
    • Loaded at runtime, not included: Pyodide (MPL-2.0, with CPython's PSF license) and Monaco Editor itself, both from CDNs.
  • Shipping the notices:
    • The builds strip all license comments (I checked: 0 in dist-embed/assets/*.js). So build:embed copies LICENSE and the notices into dist-embed/, which is what GitHub Pages serves (deploy-embed.yml runs build:embed).
    • The library build keeps React, Monaco and lucide-react external, but it does contain the Monaco-derived code. So files now includes the notices; npm adds LICENSE anyway (npm pack --dry-run shows both).
  • CLAUDE.md: a «Licence» paragraph on keeping the notices current when bundled dependencies change.

Lint (known warning only) and both builds pass. No version tag needed.

🤖 Generated with Claude Code

The repo is MIT-licensed (LICENSE, "license" in package.json, a line in the
README). THIRD_PARTY_NOTICES.md reproduces the notices of the third-party
code it contains or bundles: Monaco Editor's Python definition (adapted in
src/pythonLanguage.ts, which now carries Monaco's original header too),
the vendored coi-serviceworker, and the packages the embed bundles (React,
react-dom, scheduler, @monaco-editor/react and loader, state-local,
lucide-react - taken from the build's source maps). Pyodide and Monaco
itself are loaded from CDNs, not included.

The build strips license comments, so build:embed copies LICENSE and the
notices into dist-embed/ (the deployed embed), and the package's files
include the notices.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cedricvogel-leo
cedricvogel-leo merged commit 1bce90e into main Oct 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant