Instantmessaging server. Backend in pure Go (license GPL 3.0), client-side binding in Java, Javascript, and Swift, as well as gRPC client support for C++, C#, Go, Java, Node, PHP, Python, Ruby, Objective-C, etc. (license Apache 2.0). Wire transport is JSON over websocket (long polling is also available) for custom bindings, or protobuf with gRPC.
...Official Go and Python libraries are available, and so are many other community-supported libraries. Binary releases are published for Linux, freebsd, darwin and Windows as well as an official Docker image.