While Signal client app source is open, the server side isn't and the global system (and Moxie in particular) is notoriously hostile to federation or any sort of free interoperability. For a communication network, this reduces the benefits of openness to almost nothing, and, at least from my PoV, do not bring any kind of freedom or security to the users.
While I can imagine a free ecosystem being somehow centralized, I firmly believe that Signal is on the contrary an illustration of centralization imposed against user freedom which suggest that these properties may not be so orthogonal.
No, you need to use a library that allows the user to configure the push server, which should be configured device-wide and communicated to the app server.
An open push framework only makes sense (for battery optimization at least) if it's centralized, and all applications make use of it.