Just over a month ago, PubNub announced their Universal API for Realtime Messaging called rltm.js, . We were glad to see that they shared the vision we have had for some time that realtime messaging interoperability benefits us all, and most importantly our customers, developers. At Ably, we’ve been talking about being Protocol Agnostic for some time now and were glad to see this thinking was starting to rub off.
In the spirit of free and open source software, we created a PR adding Ably to the “universal” rtlm.js project, and hoped other FOSS and commercial products would follow suit. Encouragingly Phil Legetter, one of the most prolific realtime evangelists out there, shared the same vision.
So there was hope, and we were thankful that PubNub were the ones to make this happen. Whilst the rltm.js project was clearly in its infancy, the project offered developers more choice and less lock in for their realtime data requirements.
Unfortunately five days ago PubNub moved in a completely different direction and the FOSS rltm.js project has become anything but that. They closed our PR and replaced the open Mozilla license with one which now has this deal breaker clause:
PubNub grants you a limited, worldwide, perpetual, revocable (per Section 4), right to use, display, perform, modify and distribute the source and object code of the Licensed Software solely to integrate into (a) PubNub products and services or (b) any other non-commercial framework or service.
So unfortunately whilst PubNub is well within their rights to do this, it’s a shame only a few weeks ago it looked there may be a free and open source project to benefit all realtime developers, and now it’s clear this open source project will only ever benefit PubNub. So open source, but definitely not free.
We don’t want to let the universal realtime vision die so we’ve created a new universal-realtime organization on Github and published a fork of rltm.js (from the time it had a FOSS license) as urtlm.js. The new urltm.js (Universal Realtime) website is available at https://universal-realtime.github.io/urltm.js/
For this project we promise we will:
- Ensure the license remains free and open and as such are leaving the original Mozilla license intact
- Endeavour to accept any PRs that help better this project. We welcome contributions from anyone including Ably’s competitors
- Welcome maintainers who want to join the universal realtime organization on Github to help us maintain this free and open source project.
We hope that PubNub’s initial work and Ably’s ongoing support will ensure a truly Universal Realtime API becomes a reality.
- The original rltm.js project, and the change in the license terms that forced this project to be forked.
- Ably: simply better realtime — current maintainers of the Universal Realtime API
- Ably’s approach to being protocol agnostic encompassing our protocol adapters and Reactor.