Google Play tells AnkiDroid: drop the donation link or get pulled

4 min read 1 source clear_take
├── "This is Google Play policy overreach that threatens FOSS sustainability"
│  ├── @hexa555 (Hacker News, 760 pts) → view

By surfacing the AnkiDroid GitHub issue on HN, hexa555 frames Google's rejection as an attack on a beloved, ad-free, GPLv3 app whose only funding channel is the Open Collective donation link. The implication is that Play's automated review is destroying the single funding mechanism a decade-old volunteer project relies on to keep servers running and pay a part-time developer.

│  └── AnkiDroid maintainers (GitHub issue #21656) → read

The maintainers report that Google rejected version 2.20.3 because the 'Support AnkiDroid' button links to Open Collective, which Play's automated reviewer treats as a payment flow bypassing Play Billing. They frame the choices offered — strip the link, switch to Play Billing (15–30% cut), or be removed — as untenable for a nonprofit-funded volunteer project.

├── "This is part of a broader 2026 Android lockdown pattern, not an isolated review error"
│  └── top10.dev editorial (top10.dev) → read below

The editorial argues the optimistic 'one overzealous reviewer' read misses the pattern: Google has introduced mandatory developer identity verification for all Android distribution (including sideloading), locked down PackageInstaller for third-party stores, and expanded Play Protect flagging of FOSS installers. In that context, the AnkiDroid rejection is a symptom of a coordinated tightening rather than a fluke.

└── "The Payments policy carve-out for donations is effectively unusable for open-source projects"
  └── top10.dev editorial (top10.dev) → read below

The editorial notes that while Google's Payments policy technically exempts nonprofit donations, the exemption only applies to a short list of approved processors — and Open Collective, which fiscally hosts thousands of open-source projects, is not on that list. In practice this means the exemption doesn't reach the fiscal-hosting infrastructure FOSS actually uses, leaving projects with no compliant path.

What happened

On August 30, the AnkiDroid team filed [issue #21656](https://github.com/ankidroid/Anki-Android/issues/21656) after Google Play rejected version 2.20.3 of the app. The stated reason: the in-app 'Support AnkiDroid' button opens the project's Open Collective page, which Google's automated review now treats as a payment flow that bypasses Play Billing.

AnkiDroid is the Android port of Anki, the spaced-repetition flashcard system that has, for over a decade, been the tool medical students, language learners, and anyone with a memorization problem quietly rely on. It is GPLv3, has no ads, no telemetry beyond crash reports, and no paid tier. The Open Collective link that just got the app flagged is the single mechanism the volunteer maintainers use to keep servers running and pay one part-time developer.

The policy Google is citing is the Payments policy, which requires digital goods and services sold inside an app to go through Google Play Billing (which takes 15–30%). Donations to registered nonprofits are explicitly exempt — but only if you route them through an approved payments processor or remove the button entirely. Open Collective, which handles fiscal hosting for thousands of open-source projects, is not on that list. The maintainers' options, per the reviewer's note, are: strip the link, replace it with Play Billing, or watch the app disappear from the store.

Why it matters

On its own, this looks like a single overzealous automated review — the kind that gets reversed after a week of appeals and a Hacker News thread. That's the optimistic read. The pessimistic read is that this is part of a pattern that has been tightening all year.

In 2026, Google has announced developer identity verification for all Android app distribution (including sideloaded apps), locked down `PackageInstaller` behavior for third-party stores, and quietly changed Play Protect classification to flag more FOSS installers as 'harmful.' Aurora Store, the anonymous Play Store client that has kept a generation of de-Googled Android users going, has been in a slow-motion breakage cycle since Google started rotating anonymous account tokens more aggressively. F-Droid maintainers have been publicly warning that the identity-verification rollout, as currently drafted, would end unsigned APK distribution as a practical matter.

AnkiDroid fits this pattern from a different angle. It isn't a distribution alternative — it's a first-class Play Store citizen with millions of installs and a 4.5-star rating. The message the rejection sends is that even inside the walled garden, FOSS projects don't get to route around Play Billing for donations without paperwork most volunteer projects can't produce. Play Billing's 15% cut on a $10 donation to a flashcard app maintained by three unpaid people is not a rounding error; it's the difference between paying for a database server and not.

Compare this to Apple, which is not obviously better but is at least more predictable: donations to registered 501(c)(3) organizations are exempt from App Store commission if you use an approved processor (Benevity, PayPal Giving Fund). Google's list is narrower, its enforcement is more automated, and — critically — its review outcomes are inconsistent enough that projects have to guess. The AnkiDroid maintainers note in the thread that the same donation link passed review in prior versions.

The community response on the GitHub issue and the Hacker News thread has been unusually pointed. Multiple commenters flagged that they have seen the same rejection language on unrelated FOSS projects in the last month. One maintainer of a mesh-networking app reported being forced to remove a Ko-fi link. Another noted that even a plain-text 'Support us at opencollective.com/…' string in the app's About screen was enough to trigger a rejection. The threshold has moved from 'clickable payment button' to 'any mention of an external funding channel,' and no policy update was published to announce the change.

What this means for your stack

If you ship or maintain an Android app that mentions any external funding channel — Patreon, GitHub Sponsors, Ko-fi, Open Collective, Liberapay, a Stripe donation page — audit it now, before your next release triggers a rejection you have to fight for two weeks. The safest move today is to move the link to your project website and not surface it in-app at all, which is a worse user experience but a policy-compliant one.

If you run a FOSS project that depends on Play Store distribution for reach, start thinking about a dual-track strategy. F-Droid, Accrescent, and Obtainium are the realistic secondary channels, and they all require signing infrastructure and a build process that produces reproducible APKs. Setting that up while your Play Store presence is healthy is significantly easier than doing it under the gun. The AnkiDroid team already ships an F-Droid build — that's the escape valve here, and it's why this story is a warning shot rather than a crisis for them specifically.

If you're a contributor to a project like this, the concrete useful thing is money, and the way to send it is a direct bank transfer or a card donation on the project's website — not through any in-app flow. Every donation that routes through Play Billing costs the project 15% and reinforces the model that got AnkiDroid flagged in the first place.

Looking ahead

The AnkiDroid maintainers will almost certainly get 2.20.3 through review — the story is loud enough, and Google's PR reflex on FOSS-flavored bad press is well-established. But the underlying trend won't reverse. Play Store review is drifting from human judgment toward pattern-matched enforcement of policies that were written assuming every developer is a for-profit shop with a lawyer. Volunteer-maintained apps that rely on off-platform donations are structurally the worst fit for that regime, and they will keep getting caught in it. The interesting question is which large, beloved FOSS Android app has to get pulled outright before the policy gets a carve-out — or whether the answer is that it just keeps not happening and the ecosystem quietly consolidates onto F-Droid.

Hacker News 889 pts 271 comments

AnkiDroid: Google Play no longer allowing Open Collective donation link

→ read on Hacker News

// share this

// get daily digest

Top 10 dev stories every morning at 8am UTC. AI-curated. Retro terminal HTML email.