# Notices for Bushu

Bushu bundles dictionary and corpus data from the projects below.
Every word, reading, meaning, example sentence and component breakdown the app teaches comes from one of them.
None of it is Bushu's own work.

The files in `assets/vocab/` - `japanese.json.gz`, `chinese.json.gz` and `characters.json.gz` - and in `assets/strokes/` - `ja.json.gz` and `zh.json.gz` - are **modified versions** of that data.
What was changed is stated per source below, and in detail in `docs/content-licensing.md`.

Those five files are offered under the same licences as the data they derive from, and can be downloaded separately from the app at:

    https://mtsstudio.dev/bushu/corpus

That download exists because a licence obligation cannot be met by the App Store build alone.
CC BY-SA 4.0 section 3(b)(1) requires an adaptation to be *offered* under the same licence, and section 2(a)(5)(B) forbids applying technological measures that stop a recipient exercising the licensed rights - which store DRM on the binary would otherwise be the only way to reach this data.

## Sources

### JMdict / EDICT
Japanese headwords, readings, glosses, part of speech, priority tags, usage notes and cross-references.
Electronic Dictionary Research and Development Group.
CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
https://www.edrdg.org/jmdict/j_jmdict.html

*Modified by:* selecting entries carrying a priority marker, keeping at most six glosses per entry, reading register and usage notes from the primary sense only, resolving cross-references against the entries that survived, collapsing duplicate headwords, and assigning a difficulty level per entry.

### JmdictFurigana
Furigana alignment: which kana sit over which kanji.
CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
https://github.com/Doublevil/JmdictFurigana

*Modified by:* keeping only the alignments whose headword and reading both match a surviving JMdict entry, and re-encoding them in bracket notation.

### CC-CEDICT
Chinese headwords in both scripts, pinyin, glosses and classifiers.
MDBG.
CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
https://www.mdbg.net/chinese/dictionary?page=cc-cedict

*Modified by:* dropping non-Chinese and cross-reference-only entries, extracting register markers and cross-references out of the gloss text and cutting leading markers from the gloss, collapsing homographs to one graded reading, and assigning a difficulty level per entry.

### KANJIDIC2
Japanese readings for the character corpus.
Electronic Dictionary Research and Development Group.
CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
https://www.edrdg.org/wiki/index.php/KANJIDIC_Project

*Modified by:* keeping on and kun readings and stroke counts, and discarding the SKIP codes, dictionary indices and cross-reference fields.

### KanjiVG
Which characters each character is built from, and the stroke order of Japanese characters and kana.
Ulrich Apel.
CC BY-SA 3.0 - https://creativecommons.org/licenses/by-sa/3.0/
https://kanjivg.tagaini.net/

*Modified by:* for `characters.json.gz`, extracting the component hierarchy only, flattening it to direct-component edges, and bridging radical-supplement codepoints onto unified ideographs; for `assets/strokes/ja.json.gz`, keeping only the stroke paths of the characters Bushu has pages for and of kana, in stroke order, re-encoded as JSON.

### Make Me a Hanzi
The stroke order of Chinese characters: each stroke's outline and centreline.
Shaunak Kishore, derived from Arphic PL KaitiM GB and Arphic PL UKai (Arphic Technology Co., Ltd.).
Arphic Public License - https://ftp.gnu.org/non-gnu/chinese-fonts-truetype/LICENSE (shipped verbatim at `assets/licenses/ARPHIC_PUBLIC_LICENSE.txt`)
https://github.com/skishore/makemeahanzi

*Modified by:* keeping only the characters Bushu has pages for, re-encoding as JSON, flipping the y axis to point down, and flattening the median polylines. The file itself says so, as the licence's section 2(a) requires. There is no warranty.

### Kanjium
Pitch accent: the mora after which the voice drops, per headword and reading.
Toshiro Mifune and contributors.
CC BY-SA 4.0 - https://creativecommons.org/licenses/by-sa/4.0/
https://github.com/mifunetoshiro/kanjium

*Modified by:* keeping only the accent table, joining it to the surviving JMdict entries on headword and reading, keeping the first variant where a word has several accepted accents, and discarding the rest of the package.

### Tatoeba
Example sentences and their English translations.
The Tatoeba Project and its contributors.
CC BY 2.0 FR - https://creativecommons.org/licenses/by/2.0/fr/
https://tatoeba.org

*Modified by:* joining sentences to their English translations through the link table, selecting at most three per headword by readability and contrast, rejecting sentences carrying traditional-only characters on simplified cards, and computing collocation statistics over the corpus.
The grammar examples in `assets/grammar/` are a further selection of the same sentences: those that show a grammar point, at most five per point, with the span the point teaches marked.

### FrequencyWords
Word frequency for Japanese and Chinese, counted over the OpenSubtitles corpus.
Hermit Dave.
MIT - https://opensource.org/license/mit
https://github.com/hermitdave/FrequencyWords

*Modified by:* using rank order only, never counts; for Japanese, used solely to tell spoken vocabulary from newspaper register among kanji compounds, because the list is stemmed and cannot be joined to verb or adjective headwords.

### Unihan and the Unicode Character Database
Radicals, stroke counts, character meanings, Mandarin readings, and the equivalent-unified-ideograph mapping.
Unicode, Inc.
Unicode License - https://www.unicode.org/license.txt
https://www.unicode.org/charts/unihan.html

*Modified by:* keeping the fields the character corpus renders, and using kMandarin to choose which reading of a polyphone is the graded one.

## What is Bushu's own

The difficulty levels, the curation in `tool/data/` (the function-word list, the promotion and demotion lists, the proper-noun allowlist, the profanity lists, the level stoplist), the normalized register vocabulary and the mapping onto it, the example-selection and collocation-mining rules, the kana syllabary and lookalike table, the component-first ordering, the application code, and this file.

Editorial decisions about what belongs in a beginner's first thousand words are genuinely first-party work.
They are also decisions *about* licensed data, which does not relicense it.

## Fonts and packages

Bundled fonts and Dart/Flutter package licences are listed in the app under Settings > About, and in `ios/Pods` and the Flutter build's generated licence registry for the platform builds.
