@GrapheneOS I think this post exemplifies a difference in approach that's causing issues.
For disabled folks, a lack of accessibility is a bug, not a missing feature. So our position is that it should be prioritized higher, not lumped into general features and improvements.
Focusing on things that provide the most benefit to users overall leaves out disabled people and accessibility by default, because we're a minority. One has to prioritize accessibility outside that subjective calculation.
@eladnarra The port to Android 16 is essential to keep providing the latest privacy and security patches. Porting all of our features to Android 16 is not mandatory. Features can be dropped if needed. We're also going to need to narrow our focus and scale back what we're working on further.
The reason we have a bunch of largely unmodified AOSP sample apps is lack of resources to make a bunch of new apps meeting our standards, or to fork existing ones. The same goes for lack of translations.
@eladnarra Several people have now told us about more recently created permissively licensed TTS apps which may meet our requirements.
If people put a fraction of the effort into helping us as they do harming us, things would be dramatically better as a whole.
Responding to these posts and posting about this on our timeline would have been development time. This time could have gone towards working on TTS if someone had reached out to us interested in helping us instead of hurting us.
GPL is working as intended here. Possible solutions:
1. Companies comply with GPL
2. Companies fund a MIT licensed alternative
Can you stop with this whining? You are getting criticized for making sure your product is parasite-friendly. Criticism, not attacks. And you criticize other people's work a lot.
@alxlg We don't spread fabrications about other projects and their development teams as this highly dishonest post was doing.
We're giving away our work for free to the world to use for any purpose. A company working with us and giving back to the project are hardly parasites. On the other hand, how about people using it who are not only not contributing in any way, not making donations and are actively trying to harm us pushing spin and fabrications about us? What do you call that?
I don't care about these "fabrications", "attacks" etc. I am criticizing you because apparently you have no idea of FOSS dynamics:
Rejecting GPL is parasitic, those companies you are talking about are parasitic and you are making sure they will use your product for parasites.
It doesn't matter that you are a security genius, this is about politics, everyone can have their opinion, even criticize you just like you criticize others all the time.
@alxlg There are many open source projects including FreeBSD and OpenBSD where the GPL is strongly disliked and avoided. They have different views about what freedom means and regard the GPL as significantly less free.
GrapheneOS is not one of those projects. We don't have an issue with the GPL. We simply have a pragmatic approach to licensing. We want to keep GrapheneOS usable by a large number of tech companies avoiding GPLv3. Therefore, we stick to using it only outside the OS itself.
@alxlg That 1 case involved a GPLv3 licensed taking our MIT licensed code while not allowing us to use their GPLv3 licensed code under a license acceptable to us. Therefore, we switched to GPLv2-only which helpfully forbids GPLv3. We had to use the GPLv2 additional permissions feature to permit 2 licenses incompatible with GPLv2 (Apache 2 and the FreeType License). It has mostly worked fine.
In other cases, people did not care what licenses we use and have simply taken our code without credit.
@fluchtkapsel AOSP does not include GPLv3 code because most tech companies want to avoid it. If we included it, most companies would be unwilling to use GrapheneOS.
Bundling eSpeak NG would not make GrapheneOS more accessible since it would require setup to use it and so would TalkBack. The setup wizard would need to be completed followed by setting that stuff up. Improving this requires significant work on integrating a text-to-speech implementation and adding further integration for TalkBack.
@fluchtkapsel There are other TTS implementations with acceptable licensing. Regardless of what's chosen, we will need to fork it and turn it into something we can ship. eSpeak NG is not something we want to include for MULTIPLE reasons. Licensing is ONE of the reasons.
eSpeak NG largely consists of a whole bunch of non-battle-hardened C code which has compatibility issues with hardware memory tagging due to some latent memory corruption bugs. This would be enabled-by-default attack surface.
@GrapheneOS @fluchtkapsel I totally agree with you. this article and the reaction to it is really causing more problems than it needs to.
about speech synthesizers. as a maintainer of espeak-ng I am really sad to hear that the license has become an obstacle to applying espeak to graphene.
But as a normal person I realize that this decision cannot be influenced by whining articles with factual errors.
have you paid attention to the RHVoice synthesizer, it is distributed under the gpl v2 license so it should suit you at least by this criterion.
Unfortunately, it does not support darect boot yet.
@alex19EP @fluchtkapsel Last time we checked, RHVoice had issues with the licensing for the language models.
https://github.com/k2-fsa/sherpa-onnx has been suggested to us so we need to look at that.
Regardless of what we use, we're going to need to fork it and make changes to set it up to work seamlessly on a fresh install before the setup wizard has run. It's not going to do any good unless it's set up and enabled by default. We then need to add a way to activate TalkBack from the setup wizard.
Speech-to-text, text-to-speech, speaker diarization, speech enhancement, source separation, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Andr...
@alex19EP @fluchtkapsel GPLv2-or-later is ONLY compatible with Apache 2 through using it as GPLv3, which would have the GPLv3 restrictions. Actual GPLv2 + Apache 2 requires that additional permission to be made. GPLv3 addressed this by adding a similar patent clause and permitting other ones.
This is an example of how copyleft licensing can be problematic. GPLv2-only similarly forbids using GPLv3, so you can't use Linux kernel code as a reference in glibc, etc. We need to care about this.
@GrapheneOS Without piling more on GrapheneOS, my take is that the pragmatic approach would be to just include espeak-ng until a better solution comes up. If companies want to use GrapheneOS, they can simply remove this component.
Security concerns? IMHO, after initial setup there's no need for espeak-ng anymore and can be replaced by something else.
But of course, that's just my position. I guess it's too late for a pragmatic approach now.
> Security concerns? IMHO, after initial setup there's no need for espeak-ng anymore and can be replaced by something else.
In order for this to work as intended, it must be enabled by default and therefore exposed to apps and content by default. Most people are not going to replace or disable the text-to-speech implementation as their first step of using the OS after completion of the setup wizard. Including a poorly secured implementation of TTS goes against what we do.