Conversation

GrapheneOS: Where Licenses Matter More Than People

GrapheneOS could have shipped real accessibility support. They had a screen reader. They had a libre speech engine — one they requested a feature from. They got that feature.

And then they said no.
Because the license was GPLv3.

They’ll ship sandboxed Google Play Services.
They’ll let you install GPLv3 software from their app store.
But a working screen reader for blind users?
Blocked. On principle.

This isn’t a technical limitation.
This is not a matter of priorities.
This is cruelty by ideology — and they’re proud of it.

So here it is. My full public dissection of the excuses, the hypocrisy, and the sheer contempt they’ve shown to the people who need privacy and security most: the disabled.

They chose licensing purity over basic humanity.
I chose to write this.

https://fireborn.mataroa.blog/blog/grapheneos-where-licenses-matter-more-than-people/

4
5
0

@fireborn at least to me this sounds like a legal issue, more than one of principle. What I am unsure is how licensing would propagate here... Interacting with GPL3'd systems does not require GPL'd "callers". The License always stays with the code and its direct results, but I am no lawyer, and dont even know how boot level accessibility works.

1
0
1

@mpldr They allow gpl v3 in the app store though. So surely they could: upload espeak to the app store. Install it as a standard system component (from the app store) that could be uninstalled. It could even be a choice at flash time via their website via a checkbox (do you want this or not?) they have much more experience with negotiating complex licenses than myself, and they have decided that via the app store they can distribute gpl v3. It took me all of 2 seconds to come up with a flow that would allow people to still have the choice to not include it, but would enable those that need it to simply check a box to get what they need. As for the configure it by default bit, talkback will use the first detected d-boot enabled speech engine installed, unless they broke it in their fork. No configuration needed.

1
0
1

@fireborn @mpldr Allowing a user to install third party apps from another source is substantially legally different to bundling/aggregation/distribution of a mix of licenses.

I'm amending this post with saying that I'd hope they could find a work-around - merely pointing out that the example cited doesn't imply they're being malicious, because they're not the same thing.

1
0
1

@fireborn Why must the FOSS community be made of milkshake ducks? I grow tired of this shit.

1
0
1

@larsmb @mpldr But what I’m saying is, could they not post it on the third-party source, and then, at install time, prompt the user to check a box if they are okay with, require, or otherwise want to install the specific component from the specific third-party source? Like certain Linux distributions do with non-free applications and firmware. See debian/ubuntu/mint installers. I'd say just "not caring" as they are doing currently, is malicious. Everything they've said at the moment is passing the torch onto someone else. Someone needs to make an engine. Someone needs to update a component. Someone needs to configure it. They are accepting absolutely none of the responsibilities themselves.

1
0
0

@fireborn @larsmb @mpldr GPL* is a distribution license. What you allow the user to do and what you ship by default is an extremely meaningful distinction for this license family.
I haven't wrapped my head around this topic, but I wouldn't easily dismiss that they have a point here.

2
0
0

@mxk @larsmb @mpldr There are certainly ways around this though. It just hasn’t been thought about. If it's really such an issue, add direct boot support to Piko. It's been done before by some g-apps distributors. They have a big enough community that had they said hey, we want to do this thing but there's only really 1 option that works for us but it doesn't support direct boot, are there any teams that are doing/have done this that we could have a discussion with? Someone would likely have known something, or someone who does.

1
0
0

@fireborn @mxk @larsmb Its hard to believe that @GrapheneOS would not have thought of that. I dare suggest that they likely have this position for different reasons than malevolence or indifference to disabled people. As what I've read they have certain rules set for themselved. Rules that may or may not be changed depending on their reasoning.

1
0
0

@mpldr @mxk @larsmb @GrapheneOS They set their rules. Their rules are exclusionary and ableist.

1
0
0

@fireborn @mxk @larsmb @GrapheneOS I'm sorry, but I think they are neither. They concern software licenses, not accessibility. And for a project of Graphenes size and exposure, license compliance is a very important thing for legal reasons alone. I'm not saying the rules shouldn't be changed, but just say "f it, they are ableist" does not help anyone. Potential legal concerns of those responsible for the project are very much valid as well.

2
0
0
@mpldr @fireborn @mxk @larsmb @GrapheneOS I don't think anybody would've hanged them for possibly, in theory, violating GPL.

Graphene is not a commercial product, nobody would care.
1
0
0

@a1ba open source is about idealism. I will never shame someone for refusing to do something that they assume would be a license violation.
If we only follow rules where they could be enforced though suing either the rules are dead or you end up in a totalitarian state. The freedoms of open source require that you follow them out of virtue!

0
0
0

@mxk @fireborn @larsmb @mpldr The DFSG (Debian Free Software Guidelines) explicitly require:

The license must not place restrictions on other software that is distributed along with the licensed software.

Yet Debian has no issues with GPLv3, or even AGPLv3 for that matter, and I trust them to carefully consider legal issues (even if the result is annoying if you want to play DVDs, but that’s a different topic).

And my own (non-lawyer) reading of the license text matches: There are license requirements for software linked with GPLv3 code, and the requirement to distribute sources, but neither seem problematic for “install by default”.

0
0
0

@fireborn Cruelty by ideology seems popular these days regardless of the political circles.

1
0
0

@AeonCypher It does, and it’s really sad. People should just care about each other.

1
0
0

@fireborn I agree.

0
0
0

@donelias @ozzelot I'm trying to understand how this relates to my post; are they calling me one here?

2
0
0

@ozzelot @donelias Oh I see! I was like huh, I don't think I would qualify here, even though this post did garner more negative reseption than I thought.

1
0
0

@fireborn @donelias Wow, that sucks, sorry... I wouldn't call someone out for just pointing out facts. But I know there are those who happily will.

0
0
0

I think @ozzelot means that the project looked great, everybody loved it, until we learned something more about the people behind the project think.

@fireborn

1
0
0

@donelias @fireborn Exactly! And the pattern of multiple milkshake ducks can be brought along by, say, Kling and his SerenityOS and Ladybird browser, or hyprland, or probably others who don't come to my mind right now. Or, well, old creep Stallman himself.

0
0
0

@mpldr @mxk @larsmb @GrapheneOS I think what really frustrates me here, is they asked for a feature in a software project, then decided they wouldn’t use it. surely someone evaluated whether it would actually be useful or not before they decided to ask for things.

1
0
0

@fireborn @mpldr @mxk @larsmb We asked for Direct Boot support in eSpeak NG so that GrapheneOS users could use it as a text-to-speech implementation that's usable Before First Unlock. We requested it mainly so that people could use it with TalkBack. We similarly requested Direct Boot support for FlorisBoard and one of our paid developers contributed the implementation of it to FlorisBoard. We don't use FlorisBoard as the bundled keyboard app but that doesn't mean we can't help improve it.

2
0
0

@GrapheneOS @mpldr @mxk @larsmb Fair enough. Thank you for addressing the rationale behind that desision.

1
0
0

@fireborn @mpldr @mxk @larsmb You made a blog post with an incredible level of misrepresentations and false claims about GrapheneOS. Instead of working on addressing this, we're going to be putting significant resources into responding to it and debunking it. These resources will directly come from the subset of our resources we have available to work on improving accessibility. You've done the direct opposite of helping to improve things and have caused significant harm to our project.

1
0
0

@fireborn @mpldr @mxk @larsmb You're thoroughly misrepresenting support for sandboxed Google Play by falsely implying that we ship it in the OS and falsely claiming that it uses privileged or system APIs. The whole point of sandboxed Google Play is that it's not included in the OS but rather can be installed by users as regular sandboxed apps with no special access or privileges.

We're going to be spending at least 24 or more development hours working on responding to this mess you've made.

2
0
0

@fireborn @mpldr @mxk @larsmb Support for text-to-speech is also provided. Sandboxed Google Play is not included in GrapheneOS as you're falsely implying and does not use any system or privileged APIs as you're falsely claiming. They're apps which users can choose to install in a profile as regular sandboxed apps with no special access or privileges.

We'll be putting several days into making a response to your post debunking it and addressing your lies and misrepresentations about GrapheneOS.

1
0
0

@fireborn @mpldr @mxk @larsmb You've directed substantial hate towards us by heavily misrepresenting and spinning things to harm us because we haven't made progress as fast as you'd like with our limited resources. You're doing this shortly after our lead developer was forcibly conscripted into the Ukrainian army where we're barely able to continue development of the project and have spent most of the month preparing for the port to Android 16 so the project doesn't completely die in June.

1
0
0

@GrapheneOS @mpldr @mxk @larsmb if you are getting "hate", that wasn't the point of my post. No where did I say that people should direct hate towards anyone on the project.

1
0
0

@fireborn @GrapheneOS @mxk @larsmb Well, if there are factual inaccuracies in your post, it might also be high time to correct those :/

If you disagree, then maybe we can work on clearing up any misunderstandings.

1
0
0

@fireborn @mpldr @mxk @larsmb We've been considering including a fork of FlorisBoard as the default keyboard app for a long time. However, it hasn't yet improved to the point that we can use it. We contributed Direct Boot support to FlorisBoard years ago. It might seem silly that we contributed that to it but aren't yet using it and may not end up using it, but we don't see it that way. It made it so that GrapheneOS users could use it as their BFU keyboard, so GrapheneOS users benefited.

0
0
0

@mpldr @GrapheneOS @mxk @larsmb if there are things that are factually incorrect and don't just depend on how you spin words, then yes I'm happy to have a conversation to make sure that a project or person isn't misrepresented.

1
0
0

@fireborn @mpldr @mxk @larsmb You've already made a post with an extraordinarily level of false claims and misrepresentations. It has caused substantial harm to GrapheneOS already and taken away substantial future resources from the project. That includes taking away our resources from working on accessibility, as we've already been doing. If this is the response we get for trying to improve things in this area, we need to completely reconsider doing work which leads to attacks on us like this.

2
0
0

@fireborn @mpldr @mxk @larsmb This may also be the final straw which leaves us to leaving Mastodon due to it being infested with incredibly hostile people always trying to find ways to attack the GrapheneOS project and our team. It is the worst of the social media platforms we currently use by far. It would make a lot more sense for us to move the resources we spend on this platform elsewhere when people are so hostile towards us here and our presence leads to more attacks on us.

1
0
0

@fireborn @mpldr @mxk @larsmb We've put significant effort into our work on TalkBack and other related areas. We even figured out several issues causing TalkBack builds to be non-reproducible in order to meet the same standards as the rest of the code in that regard. We've been actively looking at new LLM-based text-to-speech implementations with the goal of finding one we can fork and use to provide bundled TTS in GrapheneOS. Why don't you help us with that instead of attacking the project?

0
0
0

@mpldr @GrapheneOS @fireborn @larsmb @mxk i’m not going to give you a speech engine because it doesn’t have the license I want is not working towards accessibility. That is being actively hostile towards accessibility. Wake up. I tried to be patient with you earlier in the year and explain this, and since she wouldn’t listen, this is where you’ve gotten. You’ve got an option and you refuse to use it.

2
0
0

@evilcookies98 @GrapheneOS @fireborn @larsmb @mxk That appears to be counter productive. They have explained why they wish to not have the obligations (or restrictions as they called it) of the GPL3 and that's a perfectly valid wish. It's not our place to tell them if thats correct or not. This is not about calling out, the people in need of a speech engine would likely appreciate a solution a great deal more than pointing fingers and yelling.

1
0
0

@evilcookies98 @GrapheneOS @fireborn @larsmb @mxk One option that has popped up is https://github.com/RHVoice/RHVoice which is GPL2 and seemingly actively developed, so that seems like a point to go off of.

1
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk It might be an option but some things need to be addressed:

1) GPLv2 and Apache 2 are incompatible so they need to add an exemption to avoid violating the GPLv2 since they are using Apache 2 libraries
2) the language packs need to be under an open source license permitting arbitrary usage, and last time we checked there were issues with that

We need to bundle both the TTS engine and at least an English language pack so that must be freely licensed.

2
0
0

@GrapheneOS @evilcookies98 @fireborn @larsmb @mxk

> GPLv2 and Apache 2 are incompatible so they need to add an exemption to avoid violating the GPLv2 since they are using Apache 2 libraries

Now that is something I actually have experience with. You can absolutely link to Apache Code from a GPL product. You have to give credit, but since there are close to zero obligations associated with Apache, thats it.

1
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk

GPLv2 forbids the patent clause in Apache 2 because it's an additional restriction. Therefore, GPLv2-only projects cannot be used linked against Apache 2 code without additional permissions from the GPLv2 code authors. GPLv2 allows making additional permissions, but they need to be explicitly stated for it to be legal.

GPLv3 is compatible with Apache 2 because one of the things it did was adding a similar patent clause and permitting similar ones.

2
0
0

@fireborn @GrapheneOS @larsmb @mpldr @mxk I am saying one more thing, and then I am taking to my more verbal platforms to explain exactly why I will never endorse this product and why none of my friends should ever use it. There is a huge difference between can’t and won’t. It’s not that you can’t use the solution. That’s right in front of you. You can. You just won’t.

1
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk It's okay if language packages for languages we aren't bundling aren't freely licensed but we might want to bundle more language packs than English in the future if they aren't super large.

There are more options available than eSpeak NG and RHVoice. A lot of new options have become available in recent years. People could have helped us evaluate and review those, potentially helping to fork one into something we can include in GrapheneOS.

1
0
0

@evilcookies98 I think you grossly underestimate the potential harm of knowingly committing a license violation.

I concur that the situation is bad, but seriously, the vitriol aimed at Graphene is not constructive.

What free software projects need most is help, not hate. (And, honestly, in this case, maybe a cup of calming chamomile tea.l

That said, please drop me from the mentions, this is the worst thread in my fediverse journey do far.

@fireborn @GrapheneOS @mpldr @mxk

0
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk

Apache 2 isn't the issue. The issue is GPLv2 forbidding the Apache 2 patent clause. They CAN be used together if the GPLv2 code adds an additional permission for it.

GPLv2-or-later code can be used with Apache 2 under the terms of the GPLv3 license. RHVoice appears to be GPLv2-only like the Linux kernel, not GPLv2-or-later, so if it requires linking against Apache 2 there isn't a legal way we can include it without them fixing this issue.

0
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk Instead, there's now a post making incredibly unfair attacks on us which has been widely spread across Mastodon, and we're no longer very interested in working on this while that's the case. We're also not very interested in continuing to participate on Mastodon when this is consistently how people treat us on this platform: hostile attacks on us based on false claims and misrepresentations which apparently people on this platform love to spread.

1
0
0

@mpldr @evilcookies98 @fireborn @larsmb @mxk We're focused on providing a great OS for people who treat us well and help us. People being incredibly hostile towards us and harming us with incredibly inaccurate claims and misrepresentations is not going to pressure us into abandoning the way we do things. We're very interested in including a permissively licensed TTS implementation and language packs in GrapheneOS. Therefore, people should help us with that instead of hindering us like this.

0
0
0

@evilcookies98 @mpldr @GrapheneOS @fireborn @larsmb @mxk GPLv3 is designed to make so-licensed software unusable by projects which don’t meet GNU’s ideological criteria. GrapheneOS aren’t the ones with the purity test here.

1
0
0

@fivetonsflax @evilcookies98 @mpldr @GrapheneOS @fireborn @mxk Strongly protective licenses cause friction for weaker ones on purpose, yes.

Though in this case, maybe the project would be better off with LGPLv3 or a similar situation.

However, publicly accusing someone of "cruelty" when faced with a perceived license mess and not reaching the conclusion you prefer is ... uh ... cruel?

0
0
0

@GrapheneOS For what it is worth, I would be saddened to have you leave the Fediverse because of this interaction and one exploded block post that misrepresented the situation.

I'm not pleased with the result, but after 30 years with Free / Open Source, I appreciate how complex license interactions and their effects can be.

And apparently counterintuitive to many who just see "it's all Open Source, why can't you just ..."

0
0
0
@fireborn Talk to a lawyer, fork it, see if you can do better.
1
0
0

@pavel we ended up having quite an in-depth discussion on why this approach wouldn't work. It boils down to, not every system might allow access to the store, so it needs to be a base component. It can't be a base component because partnership doors would be closed if *any* gplv3 components were introduced. There's an ongoing discussion about other options that I put some feedback in.

0
0
0