element-hq / riot-android

A glossy Matrix collaboration client for Android
Apache License 2.0
1.4k stars 394 forks source link

Make integration server configurable #2657

Open Bubu opened 6 years ago

Bubu commented 6 years ago

Afaik riot-android is currently always using New Vectors scalar, which is not open source. Consequently the app would need to get the NonFreeNet Antifeature in F-Droid.

This ticket is sparse on details but might be (part of) the solution to this: https://github.com/vector-im/riot-android/issues/2582

Any objections in tagging riot in F-Droid that way until this is resolved?

ara4n commented 6 years ago

sorry, missed this. yup, .well-known support would be a nice way to support easy configuration of alternative integ managers. we're going to be implementing .well-known support in the fairly near future (folks like the french government need it for autodiscovering servers in a standards-compliant manner), so it'll come along in the next month or two, i hope.

Bubu commented 6 years ago

I'll add the antifeature (and a note explaining why it's there and that the problem will be solved in the future) then for now.

Edit: Would something like this fit?

AntiFeatures:

ara4n commented 6 years ago

Yup, that seems plausible, although it also feels like a slightly strange distinction to make - for instance, the integration manager itself can connect to other non-free services (e.g. Google Docs); would that also make the overall app non-free?

Eitherway, we're working on making it configurable via .well-known URI at the least - the code for this just landed in PR on Riot/Web for instance, and should hit Riot/Android as soon as it's ported over.

eighthave commented 6 years ago

NonFreeNet does not mean that this app's source code itself is not free software. It mean that app relies on non-free network service to work. Since Riot will always use the proprietary integration server to connect, that means that Riot cannot work normally without that proprietary network service. Therefore, it must be tagged with NonFreeNet. The Google Captcha shown by default when signing up via Riot is another such service.

eighthave commented 6 years ago

For a counter example, take K-9 Mail. It can be used to access a GMail account, but it is also possible to run a 100% free software mail service. And K-9 by default does not use any proprietary service. So it is not marked with NonFreeNet, even though someone using it with only a GMail account would always be using it with proprietary software.

mvgorcum commented 5 years ago

A better solution is of course to open source the integration server. That would immediately remove the nonfreenet antifeature, and a nonfree component of the matrix infrastructure feels really out of place anyway.

hrj commented 5 years ago

The Google Captcha shown by default when signing up via Riot is another such service.

Going on a slight tangent here, but is there interest in a free Captcha service within these circles?

We (myself and a couple of student interns) are in the early stages of developing libreCaptcha. It's a long way from being production ready, but if it sounds useful, please leave a :+1: here, or star the repo, etc.

amiryal commented 5 years ago

@Bubu I appreciate your effort to bring transparency. However, this message is confusing to anyone who doesn’t know what “the integration server” means or what its role is, which might lead to the false belief (as in my case before reading the LWN article) that the app is locked down to using only the preconfigured homeserver. Could you update the F-Droid anti-feature description to include a little bit more context and implications of this server being non-free, and how this “integration server” is separate and independent of the homeserver? Thanks!

amiryal commented 5 years ago

Actually, this seems to not be the issue any more. When ticking the box, in my newly installed app (version 0.8.21 from F-Droid), for “Use custom server options (advanced)”, I see an option to change the “Identity server” away from https://vector.im. Is this the “New Vector implementation” that was mentioned in the anti-feature description?

mvgorcum commented 5 years ago

I get that it is a bit confusing. The identity server you mentioned is FOSS, and also not the same as the integration server. The identity server is there for contact discovery by 3pid (email or phone number) while the integration server provides widgets, such as jitsi, etherpad or stickers.

Bubu commented 4 years ago

Was this solved during the recent privacy sprint? (I'm currently only using RiotX, so I didn't get around to checking.)

Bubu commented 4 years ago

This is still an open question for me (and consequently the F-Droid issue about the antifeature is still open https://gitlab.com/fdroid/fdroiddata/-/issues/1598).

I think it comes down to: Can I use Riot (and probably soon RiotX) with my own homeserver without connecting to the nonfree modular/scalar integration server.

I think this is the case now, but I'm not sure, I don't really use integrations.

frankwalter1301 commented 4 years ago

This is very important