Side by side
| Property | Calendula | Etar | Fossify Calendar |
|---|---|---|---|
| Licence | MIT | GPLv3 | GPLv3 |
| Minimum Android | 10 | 6.0 | 8.0 |
| Where your events live | System calendar only | System calendar only | Own database, CalDAV mirrored into it |
| Interface built with | Jetpack Compose, Material 3 Expressive | Android Views, AOSP-derived | Android Views |
| INTERNET permission | None | None | None |
| Started life as | Written from scratch | A fork of AOSP Calendar | A fork of Simple Calendar |
| Version checked | 2.20.4 | 1.0.57 | 1.10.3 |
The one difference that changes anything
Under the styling there is one architectural split, and the app listings won't tell you about it.
Calendula and Etar are pure front-ends. Neither has a database. They read and write Android's CalendarContract directly, and that is the whole storage story. Etar's source tree has no database layer in 2,211 files, and neither does mine. Whatever sync adapter put a calendar on your device owns the data; we just draw it.
Fossify Calendar keeps its own store. It has a Room database, and for CalDAV calendars you switch on in its settings it mirrors the system provider's events into that database, matched by import ID. Your events then exist in two places, and the copy has to be reconciled. I mention it because fossify.org describes the app as using the system calendar "rather than maintaining a separate database"; the source says otherwise, and the source is what I went by.
Neither model is the correct one. What each one buys:
- The mirror lets Fossify hold purely local events with nothing synced anywhere, and offer features the provider's schema has no column for.
- The pure front-end leaves nothing to reconcile and nothing of yours inside the app, at the cost of inheriting whatever the provider supports. Both can create a device-only calendar themselves, so neither needs an account before it is useful.
The detail behind each verdict
Etar
It is mostly Java and built on Views rather than Compose, and that is why it is stable: the code has been fixed for a long time, on far more real devices than Calendula has run on. If you want a calendar you never have to think about, Etar is the honest recommendation.
Fossify Calendar
The feature surface is what a decade of accumulated Simple Calendar history buys you, and the separate store is what lets it offer things the provider's schema has no column for.
Corrected 20 September 2026. This paragraph used to say the separate store made Fossify the only one of the three usable on a phone with no calendar account at all. That was wrong when I wrote it, in two ways. Calendula has created device-only local calendars since 2.2.0 in June 2026 (Settings → Calendars → Add calendar), three months before I published the claim. And Etar offers an offline calendar of its own, which I never checked. The mistake was the superlative. I had a reason to believe it of Fossify and no evidence at all about the other two.
Calendula
The reason to pick it is the design. It is Compose on Material 3 Expressive throughout: the shapes, the spring-based motion between views, the type scale, dynamic colour from your wallpaper. Etar and Fossify are Views-based apps with Material touches. That is the only difference I would argue hard for. It is also MIT rather than GPL, which matters much less.
Against that, version 0.1.0 shipped in June 2026, three months before this page, while Etar has been in production for years. If "battle-tested" is what you are shopping for, I am not it yet, and you should take that seriously rather than take my word that it is fine.
A note on Simple Calendar
You will still find Simple Calendar recommended in older threads. Simple Mobile Tools, the suite it belonged to, was sold to the app publisher ZipoApps in December 2023, and the published builds afterwards carried advertising. Fossify is the community fork, started by a contributor to the original project, and it is where that lineage is now maintained. If a list from 2022 sent you to Simple Calendar, Fossify Calendar is what it meant.
How this was checked
Verified on , against the versions in the table, with Calendula's column checked again for 2.20.4 on :
- Permissions: each project's
AndroidManifest.xmlon its default branch, grepped for anINTERNETentry. Three manifests, zero hits. - Storage model: file listings of each repository, plus Fossify's
CalDAVHelper.ktand itsEventsDatabaseschemas. - Minimum Android versions: F-Droid's listings for Etar and Fossify Calendar;
minSdk 29from Calendula's own Gradle config.
If something here is wrong or has gone stale, email me at support@jeanlucmakiola.de and I will fix it. Getting a competitor's facts wrong is worse for me than losing the comparison.
Back to Calendula, or the F-Droid listing if you have decided.