Ara-android icon indicating copy to clipboard operation
Ara-android copied to clipboard

Add to F-Droid

Open airon90 opened this issue 6 years ago • 67 comments

This app is released under GPL3+ so it could be added in F-Droid database of FLOSS Android apps. You can see the status of inclusion here

airon90 avatar Dec 26 '19 11:12 airon90

Everything can be compiled from source or loaded from a FOSS libs maven repo?

The server can be changed or it is hardcoded?

What license is the server under?

Can I host a server?

licaon-kter avatar Dec 26 '19 11:12 licaon-kter

hey @airon90, how would I get started with that?

FultonBrowne avatar Dec 26 '19 15:12 FultonBrowne

From a quick glance at the build.gradle, I'm afraid the Google Play Location and MS Analytics libraries will be show-stoppers for F-Droid – so this would need a build flavor coming without those. Then there are the questions raised by licaon-kter: for inclusion with F-Droid, it must be entirely FOSS and be covered by a FOSS license (ideally including the server part, though if that's not given it can be dealt with by flagging the app NonFreeNet as long as the app itself meets the requirements).

IzzySoft avatar Dec 28 '19 09:12 IzzySoft

@IzzySoft I am pretty sure I can remove google play location, but the analytics is my only way to git info about where translation needs to happen.

FultonBrowne avatar Dec 28 '19 15:12 FultonBrowne

@licaon-kter here is the server https://github.com/FultonBrowne/Ara-Server

FultonBrowne avatar Dec 28 '19 15:12 FultonBrowne

@FultonBrowne

analytics is my only way to git info about where translation needs to happen.

If that is not FOSS then we can't include it in its current state.

Can't you add a button of sorts so users can "Submit request for language" or something? You need all sorts of data about devices (what data do you extract anyway?) instead of a simple "locale" entry?

The server can be changed in the app or it is hardcoded?

licaon-kter avatar Dec 28 '19 16:12 licaon-kter

@licaon-kter I will see what i can do, the server is hard coded but I have been planning to change that before v1.0. I am pretty sure app center analytics Is open source.

FultonBrowne avatar Dec 28 '19 17:12 FultonBrowne

https://github.com/microsoft/appcenter-sdk-android

FultonBrowne avatar Dec 28 '19 17:12 FultonBrowne

@FultonBrowne MIT? Nice.

Are the appcenter libs hosted on a trusted (by F-Droid) maven repo? If not we'd need to also build them from source at app build time.

Oh, lest not forget, any keys for that analytics need to be included in the public source code.

Now, is this analytics submission an opt-in or opt-out thing? If Opt-out we'll set a "Tracking" flag for the app.

licaon-kter avatar Dec 28 '19 17:12 licaon-kter

@licaon-kter It is opt-out but I can change that if needed (note all analytics are totally anonymous even with an ara account) the keys are in the source and it is an a trusted repo https://mvnrepository.com/artifact/com.microsoft.appcenter/appcenter-distribute/2.5.1

FultonBrowne avatar Dec 28 '19 17:12 FultonBrowne

@licaon-kter I switched to opt-in and got rid of all GMS

FultonBrowne avatar Dec 28 '19 18:12 FultonBrowne

analytics is my only way to git info about where translation needs to happen.

Could some FOSS analytics package with opt-in be used for that? To name names (without knowing whether the candidate covers that), there's e.g. ACRA which is accepted by F-Droid. With some reservations, Bugsnag would be OK as well IIRC (provided you made sure it's opt-in – which ACRA is by default).

IzzySoft avatar Dec 28 '19 18:12 IzzySoft

@IzzySoft I will look in to it, I like the MS one because I can see cloud and analytics stuff all on one site.

FultonBrowne avatar Dec 28 '19 18:12 FultonBrowne

@FultonBrowne thanks! I understand that. But a) us tin-foils mistrust those cloud analytics (especially from the "big offenders" often named "GAFAM" (Google, Amazon, FB, MS) – and, more importantly, b) those services are in most cases proprietary, including their modules, and thus not accepted by F-Droid (not 100% sure if this applies in this case, but I suspect so).

IzzySoft avatar Dec 28 '19 20:12 IzzySoft

@IzzySoft it's MIT licensed, see the link...might be ok....not sure about its deps though

licaon-kter avatar Dec 28 '19 20:12 licaon-kter

@licaon-kter deps??

FultonBrowne avatar Dec 28 '19 20:12 FultonBrowne

Dependencies I guess. Will probably require NonFreeNet. Well, Licaon-kter is one of our packagers, he's got deeper knowledge in what stuff might depend on (or will find out at build time).

IzzySoft avatar Dec 28 '19 23:12 IzzySoft

got it, thanks @IzzySoft

FultonBrowne avatar Dec 29 '19 00:12 FultonBrowne

@IzzySoft @licaon-kter any update or questions?

FultonBrowne avatar Dec 31 '19 01:12 FultonBrowne

@FultonBrowne the scanner report at the RFP still says "error", and a.o. yields

WARNING: Found JAR file at WolframAlpha-1.1/WolframAlpha-1.1.jar
WARNING: Found JAR file at WolframAlpha-1.1/build/libs/WolframAlpha-1.1.jar
WARNING: Found JAR file at rome-1.0/rome-1.0.jar
ERROR: Found usual suspect 'google.*play.*services' at line 157 at app/build.gradle
ERROR: Found unknown maven repo 'http://dl.bintray.com/jetbrains/spek' at app/build.gradle

Did you do anything about those, so we shall trigger a rescan? As pointed out, we don't "include JARs" (everything needs to be built from source) – and we don't accept proprietary components (here: Google Play Services) or allow "unknown maven repos" (especially not via insecure http).

IzzySoft avatar Dec 31 '19 11:12 IzzySoft

@IzzySoft I deleted all of those ( i used then in testing like 6 months ago) I think a re-scan would be great.

FultonBrowne avatar Dec 31 '19 15:12 FultonBrowne

Thanks! I've triggered the bot, rescan should happen within 24h now.

IzzySoft avatar Dec 31 '19 18:12 IzzySoft

thanks @IzzySoft

FultonBrowne avatar Dec 31 '19 19:12 FultonBrowne

Scanner results look promising – no more "error", and the 2 warnings we can safely ignore (a font and an image).

Now, to get things rolling, two more questions:

  • Would you consider adding Fastlane file structure to your repo? That way you can provide screenshots and maintain the app description yourself (among other things). You can use the very same structure for your Play Store deployments, btw.
  • You're already tagging your releases, which is great! Do you have a "consisting naming schema" for your tags (the last one, "beta4", seems a "naming misfit" :wink:)? Would you want the Alphas published as well, for example? From what I see I'd guess the naming schema would be v<versionName> – but unfortunately, tag names do not match versionName (e.g. "v1.0Beta3" => "Beta 3", expected "1.0Beta3") – and it also seems you often forget to increase versionCode. Could we get that fixed (and have a tag covering the Fastlane data, if you go for that)?

IzzySoft avatar Jan 01 '20 11:01 IzzySoft

@IzzySoft does the file structure need to be present in the tagged location?

FultonBrowne avatar Jan 01 '20 16:01 FultonBrowne

@FultonBrowne Yes. F-Droid will "stick to the tag". That's what I meant by "have a tag covering the Fastlane data".

IzzySoft avatar Jan 01 '20 18:01 IzzySoft

@IzzySoft as of now I can't add the fast line data. my next release (coming very soon) will have fastline.

FultonBrowne avatar Jan 01 '20 19:01 FultonBrowne

OK, just ping me once it's there then :wink:

IzzySoft avatar Jan 01 '20 21:01 IzzySoft

@IzzySoft sorry I am taking a while, I will most likely be ready in a day or 2

FultonBrowne avatar Jan 07 '20 21:01 FultonBrowne

As we use to say: "be patient. Wait at least 2 weeks before asking again". :smile: All fine, you're well in that limit :grin:

IzzySoft avatar Jan 07 '20 22:01 IzzySoft