Federated (everyone can set up servers and become part of the network)

Telegram fails as for now, because:

They use telephone numbers as unique account identifiers - meaning that one has to have a telephone number to participate. I know several persons that do not have a telephone with a working SIM-card and don't want to have it, for different reasons.

Using the telephone number as the authorization mechanism - that looks like a huge backdoor to me.

Encryption seems breakable, given that it's enough to authenticate the telephone number to see all conversations.

While some of the code exists at github, according to the FAQ not all the code is published as Open Source yet. Publishing it is "work in progress". Why not develop it as free software from the start?

The service is dependent on a single organization. Federation is something that "may be considered", but not a priority.