ganjoorandroid/licenses
Anas Rashid 0df736fd89 Show how a word is pronounced, Classical Persian first
Wiktionary carries pronunciation for 45,000 of these headwords and the build
was throwing it away. It is now kept: 101,306 entries of IPA, each tagged with
the variety it belongs to, which matters here because a word in a 14th-century
ghazal was not said the way Tehran says it now — عشق is /ˈʔiʃq/ in Classical
Persian and [ʔeʃɢ̥] in Iran today, and the app leads with the former.

The IPA's dots and stress marks are the syllable breakdown. Urdu Wiktionary
adds its own, in Urdu script: the fully vowelled spelling عِشْق and the split
عِش + قوں, both pulled out of its wikitext.

Costs 7.7 MB of database, taking it to 94 MB.

Verified on an API 36 emulator: tapping عشق shows the Classical Persian IPA,
the Urdu syllable split, the vowelled spelling and two modern variants above
the definitions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-04 17:48:12 +02:00
..
OFL-Libron.txt Add offline reading, bookmarks, three UI languages and downloads 2026-10-03 23:20:42 +02:00
OFL-NotoNaskhArabic.txt Initial Android Studio Compose scaffold 2026-10-03 22:16:22 +02:00
OFL-NotoNastaliqUrdu.txt Initial Android Studio Compose scaffold 2026-10-03 22:16:22 +02:00
README.md Show how a word is pronounced, Classical Persian first 2026-10-04 17:48:12 +02:00

Licences

Everything this app is built from, and the terms it comes under. The app itself is MIT; see ../LICENSE.

The full text of each licence below also ships inside the APK, under assets/licenses/, and is readable in the app at Reading settings → About & licences. The SIL Open Font License requires the licence to travel with the software, so the font licences are bundled rather than merely linked.

Content

What Source Terms
The poems ganjoor.net Classical Persian verse, long out of copyright
The data export ganjoor-data No licence file. Worth asking upstream to add one
Poem search, first lines api.ganjoor.net A public web service. Its implementation, GanjoorService, is GPL-3.0 — this app uses none of that code, only data over HTTPS, so it is not a derivative work
AI summaries Ganjoor's own feature, shown only when enabled Labelled in the app as AI-generated

Nothing in Ganjoor's repositories restricts AI-assisted use.

Dictionary

Five sources, each row in the database tagged with the one it came from so the app can name it and so any of them can be dropped without rebuilding the others.

Source Direction Licence
Wiktionary Persian → English CC BY-SA 3.0
Wiktionary Urdu → English CC BY-SA 3.0
Urdu Wiktionary Urdu → Urdu CC BY-SA 3.0
Wiktionary Arabic → English CC BY-SA 3.0
Daneshjoo Persian → English Repository states MIT

Pronunciation — IPA with the variety it belongs to, and Urdu Wiktionary's vowelled spelling and syllable split — comes from the same Wiktionary exports and carries the same licence.

Because four of the five are CC BY-SA 3.0, the generated dictionary.db is CC BY-SA 3.0. Attribution is shown in the app beside every definition. See ../tools/README.md to rebuild it.

The Daneshjoo entry is worth a caveat: the repository states MIT, but the underlying lexicon is a published Iranian dictionary, so that relicensing is worth verifying before relying on it.

Fonts

Font Copyright Licence File
Noto Naskh Arabic The Noto Project Authors SIL OFL 1.1 OFL-NotoNaskhArabic.txt
Noto Nastaliq Urdu The Noto Project Authors SIL OFL 1.1 OFL-NotoNastaliqUrdu.txt
Libron Nico Verbruggen, after Readerly and Newsreader (Production Type) SIL OFL 1.1 OFL-Libron.txt

Libraries

Every dependency is Apache-2.0. The full text is in ../app/src/main/assets/licenses/apache-2.0.txt.

Library Copyright
Jetpack Compose, AndroidX (core, activity, lifecycle, navigation) The Android Open Source Project
Material Components / Material icons The Android Open Source Project
Accompanist (drawablepainter, pulled in by Coil) The Android Open Source Project
Kotlin standard library, kotlinx.serialization, kotlinx.coroutines JetBrains
OkHttp, Okio Square, Inc.
Coil 3 Coil Contributors

No Google Play Services, Firebase, analytics or tracking of any kind. The only Android permission requested is INTERNET.

Artwork

The launcher icon — an eight-point shamsa — is original work for this project, MIT like the rest of the code. Ganjoor's own app icons are unlicensed and are their mark; they are not used here.

Poet portraits

Fetched at runtime from api.ganjoor.net. They are Ganjoor's own illustrations of long-dead poets, displayed as served and never redistributed in the APK.