These guys keep pushing the idea that if it's not federated, it's closed and proprietary. In at least the cases of Signal and Threema that's just not true.
Signal and Threema are proprietary, in that the protocol they speak is vendor-specific and not openly standardised. You are literally locked to that system, and neither of them allow 3rd party clients to connect.
Moreover, Threema's server is closed-source and so completely proprietary - and you could argue that Signal's server is often closed-source too, given years occasionally go by without public code releases.
Signal publishes its protocol spec and allows other applications to use it. Not on their network, but again, that's an issue of federation, not openness. The license allows you to modify it, so you could roll out your own implementation. So you are literally not locked into that system and that's not proprietary.
As for Threema, true enough as it's useless without a server. But again, federation isn't a necessary condition for being open.
Signal clients may be open source, but as far as I know the network is very much closed and proprietary.
Correct me if I am wrong, but as far as I understand you can't make any changes to the Signal client, compile it yourself, and connect to the Signal network. You have to use the binaries from the app store.
IIRC you are allowed to get the Signal client from the git master branch and install it yourself, but not sure if that extends to local modifications of the client. They don't want you to distribute binaries however that are connecting to the official Signal network, even if those binaries are the official ones. You are not supposed to find Signal anywhere else than on Google play and the app store.
The server is open source technically, but it's not federated. They have also not published updates in the past for months while deploying them on the server (probably to prevent people from finding out that they were testing some feature).