Intra icon indicating copy to clipboard operation
Intra copied to clipboard

Distribute on F-Droid?

Open paulcmal opened this issue 7 years ago • 28 comments

Hi! Like many people i'm not using the Play Store (or any Google services) on my Android phone, but I'm very interested in trying out DNS over HTTPS on my phone.

I would like to compile the project, but i think it would be nice to distribute the application outside of Google. F-Droid is a free-software app manager for Android. The main repo at f-droid.org contains only free software, and there may be a few steps to meet the inclusion policy.

Is this something you would be willing to do ? Thanks for building intra :)

paulcmal avatar May 22 '18 23:05 paulcmal

I'm sure the "F" in F-Droid means free.....

😎

paidfocusgroups avatar Jun 02 '18 08:06 paidfocusgroups

It would be Great if I can install this app from F-droid.

mtimvik avatar Oct 04 '18 16:10 mtimvik

I've RFP'ed @ F-Droid, but this usually takes several months to publish (even if build is perfectly suited), due to lack of volunteers & hardware.

TPS avatar Oct 05 '18 04:10 TPS

Hi all - thanks for the feedback.

If someone is able to create a PR that would enable us to easily create an F-Droid build with each release while maintaining existing functionality for the Play Store then we'd be happy to consider merging it.

cjhenck avatar Oct 05 '18 22:10 cjhenck

So, the current source is nixed due to the 🤖/scanner's concerns, so, as @cjhenck mentioned, work is required to comply w/ F-Droid.

TPS avatar Oct 06 '18 12:10 TPS

Ohh by looking at the scanner concerns, as far as I can see it, the only problem is the use of firebase? (which also requires gms)? And the google decision not to use external repositories? If those are the problems, I think it can be worked out quite easily...

osdroid avatar Oct 06 '18 22:10 osdroid

Intra uses Firebase so that we can get notified if the app is performing poorly or crashing. If you want to produce a build where all Firebase functionality is removed or stubbed-out, that should be straightforward to do.

bemasc avatar Oct 11 '18 15:10 bemasc

Intra uses Firebase so that we can get notified if the app is performing poorly or crashing.

So basically disabling telemetry would produce a self-contained free-software build that would meet F-Droid's requirements, or am i missing something?

paulcmal avatar Mar 06 '19 16:03 paulcmal

I'm not very familiar with F-Droid's requirements, but that seems to be their primary concern.

cjhenck avatar Mar 06 '19 17:03 cjhenck

hmm, if you use the gun, the policy f-droid will not be violated? or another from this list

Ilia1 avatar Jul 05 '19 05:07 Ilia1

We don't use firebase for the database, but as before we are open to someone creating a firebase-free branch or build. It should be fairly straightforward.

cjhenck avatar Jul 05 '19 16:07 cjhenck

Are there any updates on this? The ticket on gitlab pointed out by TPS is closed and f-droid has no intra app :/

WPFilmmaker avatar Sep 15 '19 11:09 WPFilmmaker

The most current release on GPlay has the same concerns, so F-Droid has no reason to reconsider.

TPS avatar Sep 15 '19 11:09 TPS

I want to reiterate that we're willing to accept patches to make an F-Droid compatible build. This should be as simple as adding an intermediate class for FirebaseAnalytics and having it perform no operation in a new build flavor

cjhenck avatar Sep 18 '19 18:09 cjhenck

I open an MR in F-Droid side. https://gitlab.com/fdroid/fdroiddata/-/merge_requests/11000 It works but I thought it would be cleaner to add a flavor here. I'd like to also add fastlane here.

I want to reiterate that we're willing to accept patches to make an F-Droid compatible build. This should be as simple as adding an intermediate class for FirebaseAnalytics and having it perform no operation in a new build flavor

@cjhenck After 3 years, is that still vaild? I thougth I need to sign a CLA? Can I send a patch to you instead?

linsui avatar May 03 '22 05:05 linsui

I want to reiterate that we're willing to accept patches to make an F-Droid compatible build. This should be as simple as adding an intermediate class for FirebaseAnalytics and having it perform no operation in a new build flavor

@linsui:

@cjhenck After 3 years, is that still vaild?

Yes, if it were controlled by a flag/build flavor. (We wouldn't want to remove firebase for the main build, so the changes would need to be enabled/disabled.)

I thougth I need to sign a CLA? Can I send a patch to you instead?

Yes, you need to sign a CLA for us to accept it. May I ask the concern with the CLA? Is it that it requires a Google account?

If you made a fork with an appropriate license (the existing license is Apache 2) then maybe we could incorporate the changes. (Assuming it's not too much work.)

cjhenck avatar May 03 '22 14:05 cjhenck

Yes, you need to sign a CLA for us to accept it. May I ask the concern with the CLA? Is it that it requires a Google account?

I don't have that. I did have one but now it requires my phone number so I can't access it anymore.

If you made a fork with an appropriate license (the existing license is Apache 2) then maybe we could incorporate the changes. (Assuming it's not too much work.)

Sounds good to me. Thanks!

linsui avatar May 03 '22 15:05 linsui

@cjhenck https://github.com/linsui/Intra/tree/fdroid I create a fork with fdroid flavor and fastlane structure.

linsui avatar May 05 '22 07:05 linsui

welll… then maybe first (try to) contribute that back upstream? (i.e. create a PR) Otherwise, you may open issues on your fork, maintain it and then publish it on F-Droid…

rugk avatar May 07 '22 10:05 rugk

@rugk The CLA is the problem.

Yes, you need to sign a CLA for us to accept it. May I ask the concern with the CLA? Is it that it requires a Google account?

If you made a fork with an appropriate license (the existing license is Apache 2) then maybe we could incorporate the changes. (Assuming it's not too much work.)

linsui avatar May 07 '22 10:05 linsui

Does the official APK get this positive too? https://www.virustotal.com/gui/file/6cc447027c798c1ce43c2d8edb855236ffcdebbcd2f1b8a1009c428a8e78ec5e/details

licaon-kter avatar Jun 03 '22 11:06 licaon-kter

About CLAs, they are a contract. This CLA is a custom document put together by Google's very expensive lawyers to protect Google. The first reasonable step to getting unpaid contributors to sign such a document would be to offer funds for legal counsel. Otherwise, people are either being forced into signing it, or just blindly trusting Google and hoping for the best.

eighthave avatar Jun 06 '22 12:06 eighthave

I merged the MR with downstream patches. Anyone who has a Google account and can sign the CLA feels free to upstream them. Thanks!

linsui avatar Jun 06 '22 12:06 linsui

@linsui where is outline-go-tun2socks being pulled from for Intra on F-Droid (particularly, how is it built?)? Its APK size is 12MB, when I expected it to be higher because gomobile should be building an outline-go-tun2socks lib per arch target (x86, x64, arm64, and arm32) and that can't be just 12MB?

ignoramous avatar Jul 09 '22 01:07 ignoramous

See https://gitlab.com/fdroid/fdroiddata/-/commit/1e2cb715a2acc6132eb40ae96c42a68c7d684e15#f9241e17bfd1ddc18e18fd31d7b986cae8d85812_0_64 The tun2soucks aar in this repo is 10MB. I see no problem. The gomobile files are there. You can unzip the apk and check them.

-rw-rw-rw-  0.0 unx  5437048 b- defN 81-Jan-01 01:01 lib/arm64-v8a/libgojni.so
-rw-rw-rw-  0.0 unx  5237076 b- defN 81-Jan-01 01:01 lib/armeabi-v7a/libgojni.so
-rw-rw-rw-  0.0 unx  5303120 b- defN 81-Jan-01 01:01 lib/x86/libgojni.so
-rw-rw-rw-  0.0 unx  5722936 b- defN 81-Jan-01 01:01 lib/x86_64/libgojni.so

linsui avatar Jul 09 '22 02:07 linsui

Hi @linsui - I'm slightly concerned about needing to update near-duplicate versions of similar files. I was hoping there might be some way to use mocks, though I can't find any off-the-shelf mocks for Firebase analytics other than for javascript/typescript. Apologies for the late engagement.

cjhenck avatar Jul 15 '22 19:07 cjhenck

@cjhenck Some apps use their own mock but I don't know if there if any standalong implementation. How about this method: https://github.com/zhanghai/MaterialFiles/blob/f13a397ad5f86b8e60cbdf14c2f510f887b7a411/app/src/main/java/me/zhanghai/android/files/provider/archive/archiver/ArchiveException.kt#L8?

linsui avatar Jul 16 '22 05:07 linsui