twine
twine copied to clipboard
v2.5.0 adds proprietary components
we had to remove this update at IzzyOnDroid, and disable further updates until solved. v2.5.0 adds:
- Amazon In-App Purchasing
- Google BillingClient
- Google Mobile Services
- (pieces from Firebase)
May we kindly ask for a FOSS build flavor here?
Yeah, since I added a IAP those dependencies are present. Are there some other apps that do IAP that make separate FOSS build and Google Play build? I just want to look at how they handle it from user experience point of view.
Gonna throw in my two cents but there's a macOS app called Cork that is technically paid but allows you to bypass its paywall if you compile it yourself (with some additional configurations), so people who have time to spare can save their money (at the cost of convenience) while those who do not can just make a one-time donation to unlock the paywall.
Of course the situation is different between both apps since Cork isn't distributed on the App Store while Twine is on the Play Store, but I think it could offer one perspective.
Are there some other apps that do IAP that make separate FOSS build and Google Play build?
Several, though I don't remember which ones, as I didn't track that. I could check our metadata to see where we pick up APKs having a foss suffix in their name – but that would match too many other cases as well, and miss some of the wanted, too…
if you compile it yourself
Which is no option here, @RWCoding58 – IzzyOnDroid only distributes the APKs built and signed by their resp. devs, which we pick up from their releases. We do build (for Reproducible Builds, see e.g. Reproducible Builds, special client support and more at IzzyOnDroid for some background) – but we do not sign, and those APKs we build are abandoned right after the checks (as they are unsigned, we cannot distribute them anyway).
As v2.8.0 was picked by our monthly update check, and we had to remove it again manually, updates are now disabled entirely. Please let us know if you plan to solve this, or if we shall rather remove Twine from the IzzyOnDroid repo.
Hey so I know of an opensource app that actually used to have paid features behind a paywall or you could build the pro version yourself. Native Alpha.
One can use build flavors for that, e.g. have one foss flavor without and a pro flavor with those proprietary components.
@IzzySoft if I have a foss flavor, will IzzyOnDroid pickup that flavor or do I have to make any other changes?
Thanks for letting us know! If you can tell me the file name it will have at the upcoming release, I can adjust that at our end, so the foss flavor will be picked up correctly. Or will there still be only one APK at the release, and that will be the foss one, using the same name as it was before?
Thanks for letting us know! If you can tell me the file name it will have at the upcoming release, I can adjust that at our end, so the
fossflavor will be picked up correctly. Or will there still be only one APK at the release, and that will be the foss one, using the same name as it was before?
At the moment my release pipeline doesn't support uploading to GitHub. Let me look into how I can integrate this as well. Ideally I will publish a new file for foss builds.
@IzzySoft just to get this right, along with making paid features free, the AAB/APK should also not have any of the above mentioned dependencies in it? Is that right?
@msasikanth we don't care much about the AAB for ourselves, as we only take the APKs. And you're not required to make all paid features free: you can use build flavors, and make sure the foss flavor we'd then pick has no proprietary parts. If some features (ideally no core features) require payment, and e.g. need a "key" to be entered in the app (after obtaining that key from you), that would be OK – though of course not requiring such (and having the entire foss build free & libre) would be much appreciated.
Got it, I cannot make it a full foss build for next release. So feel free to remove the listing for now. You can put it back up once I solved it fully, I will update the issue.
Thanks @msasikanth – we'll simply keep the update check disabled until the issue has been solved. Please give me a ping here when I shall check again!