Note: This is is an unfinished prototype project that's currently not being continued. The design detailed below might still be of interest to people and I still recommend watching the FOSDEM talk. You might want to take a look at UnifiedPush, which has taken similar ideas and is being actively developed.
The OpenPush project aims to create a free and open source self-hosted replacement for Android Push Notifications usually sent through Google's proprietary Firebase Cloud Messaging platform. This started as a PrototypeFund project. Development is still ongoing.
The green components (PushClient and PushServer) in this high-level overview are part of this project. The red components are different apps and their corresponding webservices using the push functionality.
Free Software. FCM is a proprietary service and the Firebase client libs are closed source. This makes projects including fcm libraries effectively non-free software which i.e. cannot be added to the FOSS F-Droid appstore.
Self-hosted. When self-hosting a open source project, there's no dependency on an external service anymore.
User is in control. A smartphone user can chose a pushserver instance, possibly self-hosted or hosted by a trusted entity. This instance's url is communicated to the webservice together with the app token to the push-notification producer. Push-notifications will only be sent to this server.
Feb 2020: OpenPush - Introducing a Free, Decentralized Push Messaging Framework for Android at FOSDEM, slides
I have been talking about OpenPush with Ben from New Vector on an episode of Matrix Live. I'm talking about the background for this project as well as some design considerations. The video cuts off a few minutes before the end. It's not essential at that point. Link to non-youtube video