As both the client _and the server_ is open source though it's entirely possible to do things like Signal<->Matrix bridges.