mihonapp / mihon

Free and open source manga reader for Android
Apache License 2.0
10.31k stars 470 forks source link

FOSS build with non-free stuff on top? #758

Closed opusforlife2 closed 6 months ago

opusforlife2 commented 6 months ago

Describe your suggested feature

Hi. There are many apps, such as Librera, which have a completely FOSS build to start out, and then add stuff like Play Services integration and ads for the Play Store version on top.

This allows F-Droid to package the app easily, and the developer is free to change the non-free/proprietary code to suit their purposes, whether it's for ads, tracking or analytics.

Is it possible for Mihon to go the same route? Or is the code too complicated and infeasible to adjust for this? Since there are real world examples of this, it should be possible theoretically, at least.

Other details

No response

Acknowledgements

AntsyLich commented 6 months ago

No intention to support F-Droid builds so I see no point to this

opusforlife2 commented 6 months ago

Is there a reason for that? With reproducible builds, Tachiyomi's justification is no longer applicable.

You could always leave this task up to an interested external contributor, instead of investing effort personally if you don't want to.

AntsyLich commented 6 months ago

F-Droid support will require the removal of junrar. junrar is needed to support RAR files. Being able to read from rar or cbr files a core feature of the app

FooIbar commented 6 months ago

Maybe rewrite the archive part with https://github.com/zhanghai/libarchive-android in the future Better performance, RAR5 support, and FOSS

opusforlife2 commented 6 months ago

F-Droid support will require the removal of junrar.

@AntsyLich You don't need to remove anything. That is the entire reason why I opened this issue. The proprietary stuff can exist as a layer on top of the FOSS code, and simply not be built for the FOSS flavour. Again, please refer to https://github.com/foobnix/LibreraReader as an example. Its Play Store version has ads, and yet it's available on F-Droid as a fully FOSS app.

MajorTanya commented 6 months ago

F-Droid support will require the removal of junrar.

@AntsyLich You don't need to remove anything. That is the entire reason why I opened this issue. The proprietary stuff can exist as a layer on top of the FOSS code, and simply not be built for the FOSS flavour. Again, please refer to https://github.com/foobnix/LibreraReader as an example. Its Play Store version has ads, and yet it's available on F-Droid as a fully FOSS app.

From my incomplete knowledge of the codebase, I believe junrar is used to handle RAR compressed files of chapters, particularly for the local source. Using Librera's approach (again, from my cursory look through their Gradle scripts) would mean Mihon has to somehow flag the handling of RAR archives as non-fdroid, most likely making that unavailable on those releases.

At that point it would in fact be a lot easier to do what Foolbar suggested and replace it, assuming that linked library above can be slotted into Mihon with reasonably minimal effort.

I personally don't fully understand the perceived urgency of the matter either, since anyone can fork Mihon if they desire to change something about it that Mihon does not currently want to/have the time/ability to change.

I understand that you and others care about an Fdroid release even if others don't, but if push came to shove, that fork option would be on the table.

AntsyLich commented 6 months ago

@AntsyLich You don't need to remove anything. That is the entire reason why I opened this issue. The proprietary stuff can exist as a layer on top of the FOSS code, and simply not be built for the FOSS flavour.

That's a fancy way to say I need to remove a core feature to support F-Droid

BrutuZ commented 6 months ago

Honest question: what would be the point of having it on F-Droid? More visibility, automatic updates? The current model has both of those covered.

AntsyLich commented 6 months ago

Regardless no intention to support a F-Droid build. If someone wants to they can make a build themselves