mobile-app icon indicating copy to clipboard operation
mobile-app copied to clipboard

Publish app in F-Droid app store

Open tachyons opened this issue 9 months ago • 26 comments

FDroid is a app store for open source applications. We should try to get the app listed there.

Documentation: https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md

tachyons avatar Mar 20 '25 14:03 tachyons

Can I take up this task ?

salmoneatenbybear avatar Mar 21 '25 05:03 salmoneatenbybear

Sure

On Fri, 21 Mar, 2025, 11:22 am Aditya Singh, @.***> wrote:

Can I take up this task ?

— Reply to this email directly, view it on GitHub https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2742375495, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXYAEDELBPGKXN4XOHAMV32VOSIBAVCNFSM6AAAAABZNSRNX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBSGM3TKNBZGU . You are receiving this because you authored the thread.Message ID: @.***> [image: salmoneatenbybear]salmoneatenbybear left a comment (CircuitVerse/mobile-app#285) https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2742375495

Can I take up this task ?

— Reply to this email directly, view it on GitHub https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2742375495, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAXYAEDELBPGKXN4XOHAMV32VOSIBAVCNFSM6AAAAABZNSRNX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBSGM3TKNBZGU . You are receiving this because you authored the thread.Message ID: @.***>

tachyons avatar Mar 21 '25 08:03 tachyons

I was looking at the pubspec.yaml and google_sign_in and flutter_facebook_auth connect to non-free services.

would this be a problem or create conflict...

F-Droid typically flags usage of Google Play Services or the Facebook SDK as “Promotes Non-Free Services.”

They don’t forbid from distributing the app in F-Droid, but it might show an “Anti-Feature” label or require to provide a flavor that doesn’t rely on these proprietary bits.

We can either :

  1. If we want to avoid Anti-Features in F-Droid or to comply with strictly open setups, we would need to build a separate “fdroidRelease” flavor that excludes these sign-in methods.

  2. Alternatively, we can keep them but accept an Anti-Feature label.

What should we be doing ?

I was verifying licensing, dependencies, and our build process to confirm this app can be published in F-Droid.

CC : @tachyons @hardik17771 @realaashil

salmoneatenbybear avatar Mar 21 '25 11:03 salmoneatenbybear

@salmoneatenbybear Hey, I looked into it as far I understand these libraries are directly making a request to the google/ facebook servers, It is not using any google proprietary “Play Services” or facebook sdk. Still I am not sure about it.

realaashil avatar Mar 21 '25 11:03 realaashil

@realaashil Thanks for looking into this...

From F-Droid’s standpoint, even if we’re not bundling the official “Play Services” or Facebook SDK binaries, the fact that users must sign in via Google or Facebook can trigger the “Promotes Non-Free Services” anti-feature.

In other words, the policy isn’t just about shipping closed-source libraries—it’s also about relying on proprietary platforms (like Google or Facebook) for core app functionality. So even direct requests to those servers may cause the F-Droid listing to include a warning label.

We can still publish on F-Droid as-is, but we’d either:

Accept the “Non-Free Services” label and proceed, or Provide a separate “fdroid” flavor that disables those login methods so there’s a completely open build. Either approach is valid; it just depends on whether we want a label or prefer a “pure FOSS” flavor.

salmoneatenbybear avatar Mar 21 '25 11:03 salmoneatenbybear

also @realaashil would you like to collaborate on this effort to get our Circuitverse mobile app listed ? would be happy to collaborate with you

salmoneatenbybear avatar Mar 21 '25 11:03 salmoneatenbybear

Sure @salmoneatenbybear , So there is no way possible to get oauth running in f-droid build basically. Read here So we need to disable oauth for f-droid builds as these are signed by f-droid.

realaashil avatar Mar 21 '25 11:03 realaashil

Sure @salmoneatenbybear , So there is no way possible to get oauth running in f-droid build basically. Read here So we need to disable oauth for f-droid builds as these are signed by f-droid.

So we need to make a fdroid specific flavour right excluding these libs?

salmoneatenbybear avatar Mar 21 '25 11:03 salmoneatenbybear

Probably let the mentors confirm once.

realaashil avatar Mar 21 '25 11:03 realaashil

We can have fdroid specific build if needed.

tachyons avatar Mar 21 '25 14:03 tachyons

Should I create a sub issue to create a flavour for fdroid ? @tachyons

salmoneatenbybear avatar Mar 21 '25 14:03 salmoneatenbybear

Only if that is essential, if we can ship with "Non free services", then that is preferable

tachyons avatar Mar 21 '25 15:03 tachyons

@tachyons thing is, f-droid compiles build on their own infrastructure so you will need to share oauth keys with them and I dont think they support it either.

realaashil avatar Mar 21 '25 15:03 realaashil

It is oauth public key, and there is nor harm in publishing it. it is not a secret, we can't keep secrets inside the app as it is not difficult to de compile the app to obtain it.

tachyons avatar Mar 21 '25 15:03 tachyons

Okay so if non free service / Anti feature label is not a problem, then we can list current app as is no need for new flavour

@tachyons @realaashil

salmoneatenbybear avatar Mar 21 '25 16:03 salmoneatenbybear

Now next step would be:

To decide How to Submit: RFP or Direct Merge Request

A) RFP (Request for Packaging)

This is ideally for first-time F-Droid contributor, currently fdroid probably has no metadata on circuitverse if I am not wrong...we can open an RFP issue here: https://gitlab.com/fdroid/rfp/-/issues

Then F-Droid team or contributors will help guide the packaging as needed.

B) Direct Merge Request

We can skip RFP and directly create a Merge Request. Faster method ( within 7 days listing if everything goes smoothly )

What do you think we should go for @tachyons ?

@realaashil if we decide B) we would need to do some R&D on how to setup the metadata

salmoneatenbybear avatar Mar 21 '25 16:03 salmoneatenbybear

Go for option B

tachyons avatar Mar 21 '25 16:03 tachyons

@realaashil option B chosen let's figure how to setup the metadata, can u provide me ur slack ?

salmoneatenbybear avatar Mar 21 '25 16:03 salmoneatenbybear

Sure search for @.*** in the slack

On Fri, 21 Mar, 2025, 10:08 pm Aditya Singh, @.***> wrote:

@realaashil https://github.com/realaashil option B chosen let's figure how to setup the metadata, can u provide me ur slack ?

— Reply to this email directly, view it on GitHub https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2743899483, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIKDS2MYLF42DN62JK6A36T2VQ6BDAVCNFSM6AAAAABZNSRNX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBTHA4TSNBYGM . You are receiving this because you were mentioned.Message ID: @.***> [image: salmoneatenbybear]salmoneatenbybear left a comment (CircuitVerse/mobile-app#285) https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2743899483

@realaashil https://github.com/realaashil option B chosen let's figure how to setup the metadata, can u provide me ur slack ?

— Reply to this email directly, view it on GitHub https://github.com/CircuitVerse/mobile-app/issues/285#issuecomment-2743899483, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIKDS2MYLF42DN62JK6A36T2VQ6BDAVCNFSM6AAAAABZNSRNX2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDONBTHA4TSNBYGM . You are receiving this because you were mentioned.Message ID: @.***>

realaashil avatar Mar 21 '25 16:03 realaashil

Before we finalize the F-Droid .yml file and open the merge request, I wanted some input on a couple decisions:

Release Tag: We have a stable v1.3.0-prod tag and a newer v1.4.0-beta. Which would we prefer to publish first on F-Droid?

Version Code: For v1.3.0-prod, we could use versionName: 1.3.0 and versionCode: 103 (or 1300). For v1.4.0-beta, maybe versionName: 1.4.0-beta and versionCode: 1400. Any preference?

Non-Free Services: Because the app uses Google/Facebook sign-in, it will have the “NonFreeNet” Anti-Feature. Are we okay with that? ( confirming again )

Let me know, and I’ll finalize the .yml accordingly. Thanks!

CC : @tachyons @realaashil

salmoneatenbybear avatar Mar 24 '25 07:03 salmoneatenbybear

@salmoneatenbybear Hey, I think we should wait for v1.4.0 prod, beta not worth releasing and v1.3.0 is too old.

realaashil avatar Mar 24 '25 07:03 realaashil

@salmoneatenbybear Hey, I think we should wait for v1.4.0 prod, beta not worth releasing and v1.3.0 is too old.

understood... @tachyons let me know what you think till then I am going through contributing.md, and based on what choice we make I will start making the metadata

salmoneatenbybear avatar Mar 24 '25 07:03 salmoneatenbybear

Yes, use the latest tag

tachyons avatar Mar 24 '25 08:03 tachyons

Yes, use the latest tag

So v1.4.0 beta correct @tachyons ?

Screenshot_2025-03-24-15-07-11-54_320a9a695de7cdce83ed5281148d6f19.jpg

salmoneatenbybear avatar Mar 24 '25 09:03 salmoneatenbybear

Going ahead with

Image

will be submitting the merge request in next 1-2 days, will keep you guys updated.

CC : @tachyons @realaashil

salmoneatenbybear avatar Mar 26 '25 06:03 salmoneatenbybear

https://gitlab.com/fdroid/fdroiddata/-/merge_requests/20969

CC : @tachyons @realaashil

salmoneatenbybear avatar Mar 27 '25 04:03 salmoneatenbybear