ganjoorandroid/licenses/README.md
Anas Rashid a5fc608bca Add poem search, an OLED theme, and credit every licence
Search: full-text across the poems, scoped to all poets, a few, or one. The
static data set has no index, so this is ganjoor.net's own search endpoint,
which scopes to one poet at a time — several picked poets run as several
queries and merge. Entry is the poets filter box, which now sits in the bottom
bar within thumb reach and offers its own words to the poem search one tap
further. Snippets show the line the term is actually on.

Themes: a sixth, true black, for OLED panels where an unlit pixel costs no
power. Surfaces step up in near-blacks so cards stay distinguishable.

Licences: every component is now credited in-app under Reading settings >
About & licences, with the full text bundled in assets/licenses — the OFL
requires the licence to travel with the software, so linking to it wasn't
enough. licenses/README.md indexes the same thing for the repo. The credits
list and the licence texts lay out left-to-right in English, since the rest of
the app is right-to-left for the poetry's sake and English prose is unreadable
right-aligned.

Fixes a crash: the settings sheet was composed outside the provider supplying
LocalOpenAbout, so opening it threw.

Search decoding is covered by a unit test against a real API response; the
rest verified on an API 36 emulator.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-04 01:05:52 +02:00

2.7 KiB

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.

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.