fireborn

GrapheneOS: Where Licenses Matter More Than People

When "Open Source Purity" Becomes a Barrier to Accessibility

There’s a special kind of contempt that some developers reserve for the disabled. It’s rarely loud. It’s never overt. It hides behind jargon, behind policy, behind the smug excuse of “technical limitations.” But once in a while, they come right out and say it:

“We could make it accessible. But the license is wrong.”

That’s what GrapheneOS has done.

In a series of public posts, the team behind GrapheneOS — the security-hardened Android fork that loves to brag about privacy and user protection — explained why their operating system still doesn’t have a working screen reader out of the box.

Not because it’s impossible. Not because no tools exist. But because they refuse to include a component licensed under the GNU General Public License version 3.

Let that sink in:

GrapheneOS refuses to ship basic accessibility support — for blind users — because the best available speech synthesizer is GPLv3.


“We Have TalkBack, But...”

GrapheneOS proudly states that they maintain a fork of TalkBack, Google's screen reader, and that it is included in the system by default. This might sound like a major step forward for accessibility.

But that statement becomes meaningless once you realize the second half of the sentence: they don’t include a speech synthesizer. Without one, TalkBack can’t speak. It can’t read menus, announce buttons, or guide a user through the setup process. It’s like handing someone a steering wheel with no car attached.

"We have our open source fork of TalkBack included so all we need is a permissively licensed text-to-speech implementation including the language models (GPLv2 is permissive enough, GPLv3 is not, but we'd prefer MIT / BSD / Apache 2). We'd then need to integrate it so that it's functional by default and add a way to enable TalkBack in our Setup Wizard. We cannot make a TTS implementation ourselves right now, so unless there's a good one we can use, this is blocked." — GrapheneOS, May 2025

There is a solution. It’s called eSpeak NG. It works offline, it supports many languages, it runs on Android, and it even supports Direct Boot — which allows speech to work before the device is unlocked. And crucially, it was updated to support Direct Boot at GrapheneOS’s own request.

And yet:

"eSpeak NG added Direct Boot support after we requested it but it has GPLv3 licensing so we won't include it in GrapheneOS itself." — GrapheneOS

That’s it. That’s the decision. Fully working? Check. Secure? Check. Already modified to meet your own technical demands? Check. But licensed under GPLv3? Then the door slams shut.


Security, but Only for the Sighted

GrapheneOS markets itself as a platform for people who need privacy, security, and control. If you're a journalist, a dissident, a whistleblower, or just someone who doesn't want Google peering over your shoulder 24/7, GrapheneOS is supposedly your friend.

But not if you're blind.

The refusal to include a GPLv3 TTS engine doesn't just create an inconvenience. It renders the OS fundamentally unusable to blind people. From the moment you boot the device, you’re locked out. You can't set up the phone. You can't enable the screen reader. You can't use it at all without sighted assistance.

GrapheneOS says they’re waiting for a permissively licensed engine to appear. But such a thing does not exist. They would rather ship no accessibility support at all than include one GPLv3-licensed component. That’s not principled minimalism. That’s a hard ideological wall.

This isn’t just a technical omission. It’s an act of exclusion.


The License Line Is Arbitrary — and Hypocritical

Let’s be blunt: GrapheneOS’s licensing stance is not consistent, coherent, or principled. It’s opportunistic.

They say GPLv2 is fine, but GPLv3 is off-limits:

"No, since it's GPLv3, and we don't include GPLv3 software in GrapheneOS due to overly strict licensing terms. We don't want GrapheneOS to have stricter licensing terms than the Android Open Source Project." — GrapheneOS

Meanwhile, GrapheneOS happily permits users to install GPLv3 software via their app store. They’re fine with you dealing with it. They just don’t want to be the ones responsible for including it.

So what we're left with is this:

GPLv3 is fine for apps you manually install. But not fine if it helps blind users access the device from day one.

This is not a consistent policy. It’s a deflection mechanism to avoid moral responsibility.


They Ship Play Services Support. But Not a Screen Reader?

Here's where the hypocrisy becomes impossible to ignore.

GrapheneOS offers official support for sandboxed Google Play Services. These are closed-source, opaque, and data-hungry. They can reach into all kinds of system APIs and do who-knows-what behind the scenes. But apparently, that’s an acceptable risk.

So if you're a sighted user who wants to run proprietary Google apps on your hardened OS, you’re welcome. GrapheneOS will hold your hand the whole way.

But if you're blind and just want a basic speech engine that works during setup? Sorry. Can’t help you. Licensing.

It’s a glaring contradiction. Either you care about security and freedom, or you don't. Either you trust your users to make informed choices, or you don't. But you can’t have it both ways.


There Are No Better Alternatives

Let’s examine what GrapheneOS is really waiting for.

The TTS engines available today, other than eSpeak NG, are either unusable or unacceptable:

  • Flite is an academic relic. It doesn’t support Direct Boot, has poor voice quality, and is effectively abandonware.
  • RHVoice is still in development, lacks wide language support, and has geopolitical baggage that makes some users cautious.
  • Google TTS is closed-source and entirely at odds with the goals of privacy and control.
  • SVOX Pico TTS is licensed under Apache 2.0 and might seem like a viable option, but it has seen minimal development in recent years and does not support Direct Boot, which makes it unsuitable for first-stage accessibility during setup.

eSpeak NG is the only viable engine that meets the technical requirements: offline, libre, multi-language, lightweight, and Direct Boot capable.

To refuse to ship it is to knowingly block blind users with no timeline for relief.

And the worst part? It took two seconds of searching to find SVOX Pico — a potential alternative — and verify that it doesn't meet the criteria. GrapheneOS could have done the same, and probably did. So why keep pretending they're waiting for something that doesn't exist?


This Isn’t Optional. Blind Users Need This.

Let’s destroy the illusion that accessibility is a "nice-to-have."

Blind users rely on their smartphones for everything. Their phone is their map, their bank, their library, their email inbox, their grocery list, their magnifying glass, their ride home. For many, it is their only reliable gateway to an inaccessible world.

Now imagine taking all of that away. Imagine giving them a device and saying, "This will keep you safe from Google. But you’ll need to find a sighted person to help you unlock it first."

That’s not privacy. That’s dependency disguised as freedom.

GrapheneOS already has most of the pieces. A secure kernel. Verified boot. A TalkBack fork. A functional ecosystem. They even pushed upstream for Direct Boot support in eSpeak NG.

All they have to do is include the one component that makes the system usable to blind people from the start. And they refuse. Because of a license.

Let’s not pretend that’s acceptable.


Final Thoughts: Freedom Means Nothing Without Access

GrapheneOS is technically impressive. It’s a remarkable project in many ways.

But if it deliberately excludes blind users because of an ideological war against GPLv3, then it has failed the very people it claims to protect. The ones who need security most. The ones who live in a world that is already stacked against them.

This is not about risk. This is not about caution. This is about priority. The decision to ship a speech engine for blind users is not a side quest. It is a core responsibility of anyone who claims to build secure tools for everyone.

The right to privacy isn’t just for the sighted.
The right to security isn’t just for the privileged.
Freedom that excludes the disabled is not freedom.

Thoughts? Leave a comment

Comments
  1. Jookia — May 25, 2025:

    It's really interesting how they decide this is a viable solution. If the only way to draw things on screen was GPLv3 software I'm sure they'd include that, they wouldn't just release a fully functional phone OS with just a black screen. Or they'd pour work and effort in to making new software that fits in its place.

    But not for a TTS. A blank screen for some people is acceptable.

  2. Anonymous — May 25, 2025:

    Blame the FSF for getting so up their arse with their ideology that they decided that GPLv3 was their new “be all end all license”.

    Blame GitHub for only offering GPLv3 or GPLv2-or-later.

    Blame all the naive devs who don’t read their licenses and think that “v3 is just the same, right?”

    It’s a shitshow, and it’s sad to see that people are now victimised by the shortsightedness in the whole “system”.