Speaking of environmentally friendly AC methods, I always found it fascinating and simple yet genius when I read the news that facebook has some data centers in very cold parts of the world.
Edit: Here's a little gallery of their data center in northern Sweden: https://www.facebook.com/zuck/posts/10103136694875121
I use Jitsi Meet links for now, for the rare time I need voice+video, because it works no matter what my contact has installed (more or less)
Also you don't have to use XMPP, Signal is an open source worthy alternative to WhatsApp and FB messenger.
I really want to like Signal, but the phone number requirement just won't work for me. In the last five years, I've had a phone number for only about one year, and it's changed three times. I'm just not good with holding on to phone numbers. It's a large part of why I rarely communicate via phone calls or SMS.
I've tried Wire, but there were issues getting notifications on Android. If this has changed, maybe it can work for me now. I would prefer XMPP but I do like Wire.
It’s nice that we can audit the source code. But it’s kind of pointless if you can’t modify it.
Matrix also has features like bridges to other chat systems, as well as a plethora of clients thanks to being an open standard (the most popular is Riot).
[1]: https://matrix.org/
Any app wanting to get push messages _must_ go via Google Firebase Cloud Messaging, other processes with long running services or network connections will be killed off in favor of longer battery life.
Anyway, you won't be able to migrate your account to another provider at all when using most of other networks, and generally you shouldn't need to do that with XMPP as well (only in rare, special situations), so I really don't think that every user-friendly XMPP client out there needs to provide big fat "MIGRATE MY ROSTER" button.
In fact, to just one-time migrate your roster you don't even need any of them - you just download the roster from one account and push it to another. There are plenty of tools to do that on the Web. XEPs make it easy to keep them synchronized, or to "push" roster from one account to another without having to log in into new account with the tool you want to use.
Furthermore, running your own server isn't as easy as it should be. I run my own ejabberd with about 20 users (mostly family) since a few years now, but the configuration still gives me headaches. It is not as complicated as mail server, but still not as easy as providing the domain name and a certificate. Maybe ejabberd is just too powerful for small/simple installations.
[0]: https://social.tchncs.de/@trashserver in German