Yesterday I talked a little bit about Ubuntu Touch, a would-be alternative smartphone OS based on GNU/Linux (that is to say, the Linux kernel and GNU userland, as opposed to Android, which is based on the Linux kernel and Google's own userland).
There are other phone OS's out there, too.
Jolla's Sailfish is another GNU/Linux-based OS, based on Nokia's abandoned MeeGo platform. It's the most mature of the lot, but supports a limited number of devices. I haven't tried it because the port for my phone, the Nexus 5, hasn't been updated since 2015. But it appears to have pretty good support for Sony Xperia phones, and it runs Android apps through a compatibility layer, though my understanding is that that compatibility layer is proprietary, drains the battery significantly, and doesn't have full compatibility.
Other than iOS, Android, and, to a lesser extent, Windows Phone, Ubuntu Touch, and Sailfish, there aren't a lot of mobile OS's that are ready for prime-time. KDE's Plasma Mobile is still in early stages; the steps for setting it up on a Nexus 5 indicate that it's strictly for developers right now.
GNOME doesn't have much of a mobile presence at this time, either, though Purism has announced that its upcoming Librem 5 phone will feature a GNOME desktop (with Plasma as an alternative option).
There's also LuneOS, a fork of Palm/HP's webOS (which, like Android, is based on the Linux kernel but not the GNU userland). It's still early days too.
I also just ran across postmarketOS, whose homepage says "The project is at very early stages of development and is not usable for most users yet." (Boldface in original.)
One of the biggest problems facing all these projects is the proliferation of different Android devices, most of which rely on proprietary firmware for hardware support. There is a project in the works that should help with the hardware support issues (though not with the inherent problems of proprietary firmware); it's called Halium, and it should make development much easier for all these projects.
In the meantime, though? You're probably stuck with iOS or Android -- Apple's walled garden or Google's spyware.
There are ways to run Android without Google services or proprietary software. I'll get to that tomorrow.