For the first point and third point, it is related to a github issue about distributing Signal on F-droid. The developer is pretty hostile toward the idea of distributing to F-droid. He stress two issue about F-droid:
- he is relying on crash report from Google Play service to debug
- he dislikes centralized repo like F-droid, and even Linux ecosystem, and prefer decentralized approach, meaning you should only trust a reliable developer to sign the executable. That is Signal developer in this case.
At last, he did compromise with the solution where he implemented his homemade crash reporting system, and has auto-update feature in apk. He still did not distribute in F-droid, but distribute as a standalone apk.
Signal developer prefer create a centralized system controlled by him and people should trust him. Well, his code is open source, can’t argue with that, but his stance on open source is just look at it but don’t touch. I am okay with that as long as he don’t hide, but if his solution does not fit your need, like if you want a client on linux desktop, or maybe on Librem phone in the future, then you are out of luck, since he is very hostile to 3rd party app connecting to his company’s server. Of course, self-hosted server is still possible, but since Signal is not a federate system, it makes no point to host your own server unless you want to become another Signal provider. Signal developer is okay with that, but it is not feasible for a single user to do that.