Wire-android: Get Wire on F-Droid

Created on 24 Jul 2016  路  39Comments  路  Source: wireapp/wire-android

Please get Wire on the F-Droid FOSS app store.

Most helpful comment

Hi all,

sorry for slow response. I'll try to address the issues mentioned here.

The APK available to download from our web page is the exact same version as we release through Google Play Store. This direct download is there for people who for some reason are unable to access Google Play Store.

We do use Google Play Services in our app. This is used for GCM and for sending location messages. If your device doesn't have Google Play Services installed/available for Wire, Wire will still work, but GCM and sending location messages will not. We detect this and have a fallback solution using a websocket, so you will still receive notifications when receiving messages. This solution is most likely not as battery friendly as GCM though.

So for the original question, publishing Wire on F-Droid. At the moment we don't comply with the inclusion policy, as there are some dependencies that are not open source. We are certainly interested in getting Wire on F-Droid, but for the time being it will not happen.

It is on our (ever growing) TODO list and we will revisit this in the future.

Thank you all for your valuable input!

All 39 comments

Start the wire app,it shows me "Important update" ,crashed when click the "Download" button

At a first glance, blockers for our official repo:

  • Third party maven repo - url "https://dl.bintray.com/wire-android/third-party" (mavenCentral/jcenter/jitpack are allowed)
  • Use of play-services (non-free android lib)
  • I see api keys are missing in app/api-keys.properties.template

Seems like an easier way would be for Wire to set up their own F-Droid repo, like others did: https://f-droid.org/wiki/page/Known_Repositories

Instructions on how to set up a binary repo: https://f-droid.org/manual/html_node/Simple-Binary-Repository.html

I'd also like to see wire on f-droid. :-)

F-droid would be very nice!

Stop giving +1 comments. This is what :+1: emojis are for.

A F-Droid version without google service is a must!

Agree that a version that doesn't rely on Google Play Services for GCM would be very welcome and F-Droid would be the best place to publish it.

+1

@mvdan they already have a version that works without google play services on their website. I think (but I am not 100% sure) that that version is the equivalent of compiling the app from the github repository. Maybe they could get that version to F-Droid?

By all means the app can be included if it meets the inclusion policy, which basically is no non-free software.

I am confused, they publicly said they have a version that works without Play. Is this rue or not?

They do have that version, it's published regularly on their website. But so far they aren't putting it on f-droid

@someoneEsle

https://github.com/wireapp/wire-android/blob/e5f08bbc9c00d9446ce1086f8992d7fe82d9ad5d/build.gradle#L120-L124

Are you sure they publish a build that does not depend on the Google Play Services library.
Where is that build?"

It's here: https://wire.com/download/
If you download the APK, that should be the version that doesn't rely on Google-proprietary libraries. At least this is what I've always thought given their tweets

Let's focus on source code. Unless you can find source code that builds without play-services, talking about apks is going nowhere.

@mvdan Agreed.

@someoneEsle
Google Play Services are not disabled in that build.
You can see for yourself:

mkdir test_wire
cd test_wire
wget https://wire-app.wire.com/android/prod/wire-2.16.282.apk
unzip wire-2.16.282.apk
dexdump classes.dex -h | grep gms | less

If wire works with microG, wouldn't that be enough for inclusion in fdroid (with a big warning that one needs a gcm implementation)?
Libresignal and threema work great with it.

For that to be true, someone would have to patch and maintain a fork of the wire client with those.

Why do you need a gcm implementation? The latest version should use websockets for notifications

This is why I said that: https://twitter.com/wire/status/775616447976529920

Yeah, I asked in that thread, too, no answer :(

Can someone official please clarify if the websocket version requires non-free build dependencies or whether they were just included to give the option of using GCM? If the latter is the case, shouldn't it be trivial to add a build flag for a completely free build?

Hi all,

sorry for slow response. I'll try to address the issues mentioned here.

The APK available to download from our web page is the exact same version as we release through Google Play Store. This direct download is there for people who for some reason are unable to access Google Play Store.

We do use Google Play Services in our app. This is used for GCM and for sending location messages. If your device doesn't have Google Play Services installed/available for Wire, Wire will still work, but GCM and sending location messages will not. We detect this and have a fallback solution using a websocket, so you will still receive notifications when receiving messages. This solution is most likely not as battery friendly as GCM though.

So for the original question, publishing Wire on F-Droid. At the moment we don't comply with the inclusion policy, as there are some dependencies that are not open source. We are certainly interested in getting Wire on F-Droid, but for the time being it will not happen.

It is on our (ever growing) TODO list and we will revisit this in the future.

Thank you all for your valuable input!

I would be super-happy if you manage to make clean app version that will work okay. I am ready to compile it myself if needed :)

Any progress so far?

Still wanting this.

Question: If GCM is used how does the simple in browser app work without it then? Why can't it at least be a option?

Things like this really piss me off. Doing a App that actually competes with Signal and others and offers more features and yet again fucking Google play BS. The "security" of any app pretty much is thrown overboard by using Google servives. I use copperhead OS that comes without any Google Play and I do not plan to install them. And yes I know there are just empty messages send thought GCM or am I wrong about that?

@nextgenthemes: this issue was closed by @hakonbo because he says Wire does have a fallback that is used on devices without play services. You may just want to try and install Wire on your device.

The f-droid/free software issue is continued here: https://github.com/wireapp/wire-android/issues/233

+1 for F-Droid app. It is the only thing left to be done in order to use Android without Play Store

Maybe, if you (Wire team) would embrace the technical community a little more, you would get help with some of the things which are important to the community but seemingly low priority to you.

BTW @hakonbo : There is a fallback for message push notification without GCM but apparently not for location services. To send someone a location, I open a navigation app and share the location from there. That's sad. How difficult can it be to obtain a location from the device without relying on Google?

@fungs since you don't find it difficult to do, it sounds like you're the best candidate to do the work :slightly_smiling_face:

@eighthave I would but I'm not a mobile dev. I would allocate other resources if necessary. It's all about lowering the barriers for participation, apparently just opening the source code is not enough. But this is not a discussion board...

Is this still in the works! I want to use Wire on my LineageOS devices.

Is this still in the works! I want to use Wire on my LineageOS devices.

Yes, me also. It does work well in Havoc os though! 馃し
In Lineage for microg, if you disable mircog it works. Not a solution though.
It seems that with microg in LOS it reads the GCM replacement of microg, drops the fall back "Maintain connection to server" toggle in settings, but cannot utilise the GCM replacement of microg!

Android (AOSP) can provide location via LocationProvider. It works okay for navigation.
It's not as well-engineered as the properitary google FusedLocationProvider which also uses cell tower triangulation and properitary google data in order to make good guesses.
Google has an interest in making their APIs better than the open source APIs and they can't be blamed for that.

Current best practice is to use the most suitable provider available on the device. Using the open source Location provider as a fallover guarantees that location will work on _any_ device. When the user has the google location API installed that will be used, if not then the open source location will be used.
I never had trouble with this approach on my LineageOS devices. I also tested this on phones with google APIs.

Notice: it's annoying to use different APIs for the same task. The location API is not the only one which is affected by the API policy of Google. I recommend using a library which acts as an abstraction layer for the various APIs. There are already ready-to-use wrapper librarys out there.

Summary:
The Location API is not really a hindrance. I solved this sufficiently for my use case within an afternoon. This book has an excellent chapter on location API.
Disclosure: I am not affiliated with the authors or distributors of "The Busy Coder's Guide to Android Development" in any way. I have bought and read it and it's _really_ good.

Hi, anyone knows why this issue is closed? I thought that it was on the TODO list (see official comment up https://github.com/wireapp/wire-android/issues/5#issuecomment-251411885).

Is this still the case?

Hi, anyone knows why this issue is closed?

Some maintainers close issue to keep the bug tracker "clean", which kinda defeats the purpose of a bug tracker imho. Since there was no official response to why they closed the issue, I'm assuming that is the case.

However they left the "new" issue regarding this topic open.

Oh thanks for the new issue link, I missed it :)

However they left the "new" issue regarding this topic open.

We're trying to clean up our GitHub issues a bit. This one will stay closed. Please see https://github.com/wireapp/wire-android/issues/1903 for discussion.
However, I can already tell you that currently we have no plans to remove FCM.

Was this page helpful?
0 / 5 - 0 ratings