ChordSketch Copyright (c) 2025 koedame This product includes software developed by third parties, listed below together with the licenses under which they are redistributed. ChordSketch itself is under two licenses, split by directory: the MIT License in `LICENSE` covers the libraries, command-line tools, packages and everything else, and the GNU Affero General Public License v3.0 only in `apps/desktop/LICENSE` covers `apps/desktop/`, `packages/playground/` and `packages/ui-irealb-editor/`. The README's License section lists both. The Rust crates and npm packages that are linked or bundled into the binaries, with their copyright notices and license texts, are listed in `THIRD_PARTY_LICENSES.md`. That file is generated by `scripts/third-party-licenses.py` and ships with the CLI archives, the container images, the desktop app, the VS Code extension, the wasm and native npm packages, and the PyPI, RubyGems, Maven and Swift packages. =============================================================================== Bravura — SMuFL music font (Steinberg Media Technologies GmbH) =============================================================================== `crates/render-ireal/src/bravura.rs`, `crates/render-html/src/bravura.rs`, and `packages/react/src/bravura-glyphs.ts` contain SVG `` outlines extracted from the Bravura font (https://github.com/steinbergmedia/bravura). Currently exposed glyphs: - U+E047 SEGNO (render-ireal) - U+E048 CODA (render-ireal) - U+E4C0 FERMATA ABOVE (render-ireal) - U+E050 G CLEF (render-html, @chordsketch/react) - U+E262 ACCIDENTAL SHARP (render-html, @chordsketch/react) - U+E260 ACCIDENTAL FLAT (render-html, @chordsketch/react) - U+E0A4 NOTEHEAD BLACK (@chordsketch/react) These outlines are derivative works of Bravura and are redistributed under the SIL Open Font License, Version 1.1 — the same terms as the upstream Bravura font. Reserved Font Name "Bravura". Copyright © 2015 Steinberg Media Technologies GmbH (http://www.steinberg.net), with Reserved Font Name "Bravura". This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied in `crates/render-ireal/LICENSE-OFL.txt`, `crates/render-html/LICENSE-OFL.txt`, and `packages/react/LICENSE-OFL.txt`, and is also available with a FAQ at: https://openfontlicense.org A short summary, NOT a substitute for the license text: - You may use, study, modify, and redistribute the Font Software, bundled or unbundled, free of charge. - You may not sell the Font Software by itself. - Modified versions must use a different name and must not use the Reserved Font Name. - Modified versions must remain under the OFL and ship the OFL license text alongside any redistribution. ChordSketch's redistribution complies by retaining this NOTICE entry, shipping the OFL text at `crates/render-ireal/LICENSE-OFL.txt`, `crates/render-html/LICENSE-OFL.txt`, and `packages/react/LICENSE-OFL.txt`, and documenting the extraction provenance in `crates/render-ireal/src/bravura.rs`, `crates/render-html/src/bravura.rs`, and `packages/react/src/bravura-glyphs.ts`. The single `scripts/extract-bravura-paths.py` regenerates all three from the pinned upstream font. =============================================================================== Noto Sans CJK JP — pan-CJK font (Adobe and Google) =============================================================================== `crates/render-pdf/assets/NotoSansCJK-subset.otf` is a subset of Noto Sans CJK JP (https://github.com/notofonts/noto-cjk), embedded in `chordsketch-render-pdf` and so in every binary that renders a PDF. Characters outside Latin-1 (CJK, Greek, Cyrillic) are drawn with it. Copyright 2014-2021 Adobe (http://www.adobe.com/). This Font Software is licensed under the SIL Open Font License, Version 1.1. The license is copied in `crates/render-pdf/assets/OFL.txt` and is available with a FAQ at: https://openfontlicense.org The file is a subset of the upstream font, which makes it a Modified Version in the license's terms. It keeps the upstream family name, "Noto Sans CJK JP", and the upstream copyright notice. Neither the upstream license text (https://github.com/notofonts/noto-cjk/blob/main/Sans/LICENSE) nor the notice in the font's own name table declares a Reserved Font Name, so the OFL's restriction on reusing one does not apply. ChordSketch's redistribution complies by retaining this NOTICE entry and by shipping the OFL text in `crates/render-pdf/assets/OFL.txt` (inside the `chordsketch-render-pdf` crate package) and in `THIRD_PARTY_LICENSES.md` (inside the binary distributions named above). =============================================================================== ChordPro — behavior followed (The ChordPro Team) =============================================================================== ChordSketch is a different program from ChordPro, with a different name, and contains none of its source or data files. It follows the behavior, directive names and configuration keys of ChordPro R6.100 and R6.101 (https://github.com/ChordPro/chordpro, Artistic License 2.0). `crates/chordpro/src/chord.rs` reimplements in Rust the rule ChordPro uses for spelling too-sharp keys as flats (`is_key_toosharp` in `lib/ChordPro/Chords/Parser.pm`); no Perl code is copied. The built-in chord voicings (guitar, ukulele, keyboard) were written for ChordSketch, and the charango shapes are searched out from each chord's tones at run time; none is taken from ChordPro (the common open-position chords agree with ChordPro's because they are the standard shapes). =============================================================================== ireal-reader and accompaniser — iReal Pro URL de-obfuscation and test data (MIT) =============================================================================== `unscramble` and `obfusc50` in `crates/ireal/src/parser.rs`, which undo the scrambling of an `irealb://` chart, are a Rust translation of `unscramble.js` from pianosnake/ireal-reader (https://github.com/pianosnake/ireal-reader). That routine follows `irealb_parser.lua` from ironss/accompaniser (https://github.com/ironss/accompaniser). Several test URLs (`crates/ireal/tests/fixtures/parser/`, the CLI tests, and the sample charts of the playground and the iReal editor) are taken from the test corpus of pianosnake/ireal-reader, some of them shortened or edited. The parser's handling of the chart body follows the behavior of its `Parser.js`; the code is ChordSketch's own. Both projects are under the MIT License: - Copyright (c) Florin Alexandrescu (pianosnake/ireal-reader; the repository has no license file, its package.json names this author and MIT) - Copyright (C) 2013 Stephen Irons (ironss/accompaniser) The MIT text, with the copyright lines above, is in `crates/ireal/LICENSE-THIRD-PARTY.txt` (inside the `chordsketch-ireal` crate package) and in `THIRD_PARTY_LICENSES.md`. =============================================================================== Web fonts — Inter, JetBrains Mono, Noto Sans JP, Roboto, Source Serif 4, Bravura Text =============================================================================== The playground and documentation site (`packages/playground/`) serve Inter, JetBrains Mono, Noto Sans JP, Roboto and Bravura Text from their own files: the first four are bundled from the `@fontsource-variable/*` npm packages at build time, Bravura Text is the unmodified `BravuraText.woff2` of the Bravura 1.392 release (`design-system/fonts/bravura-text-1.392.woff2`). The design-system reference pages (`design-system/`) carry the Latin subsets of Inter, JetBrains Mono and Roboto, the publisher's unmodified Source Serif 4 variable font files, and the same Bravura Text file, in `design-system/fonts/`. No page requests a font from a third-party service. - Inter Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter) - JetBrains Mono Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono) - Noto Sans JP Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source' (the bundled files are subsets, which are Modified Versions; their primary name is "Noto Sans JP") - Roboto Copyright 2011 The Roboto Project Authors (https://github.com/googlefonts/roboto-classic) - Source Serif 4 Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source' (the files are the publisher's unmodified release) - Bravura Text Copyright © 2015, Steinberg Media Technologies GmbH (http://www.steinberg.net/), with Reserved Font Name "Bravura" (the same family as the Bravura entry above; the files are unmodified) All are licensed under the SIL Open Font License, Version 1.1. The license text ships next to the files: `font-licenses.txt` at the root of the deployed site, and `design-system/fonts/LICENSE-*.txt`. The same text is available with a FAQ at https://openfontlicense.org