Open source media frameworks in WebRTC are all the rage these days.
Jitsi got acquired by Atlassian early last year and now Twilio grabs Kurento.
What to expect in the coming days
Yesterday Twilio announced several interesting initiatives:
Add to that their recent announcement on their new Enterprise offering and the way they seem to be adding more number choices in countries. What we get is too much work to cover a single vendor in this industry.
Twilio is enhancing its services in breadth and depth at the same time, doing so while trying to reach out to new customer types. I will be covering all of these issues soon enough. Some of it here, some on other blogs where I write. Customers with an active subscription for my WebRTC PaaS report will receive a longform written analysis separately covering all these aspects later this month.
What I want to cover in this article
What I want to cover in this part of my analysis of the recent Twilio announcements is their acquisition of Kurento.
Things I’ll be touching is Why Kurento – how will it further Twilio’s goal – and also what will happen to the many users of Kurento.
I’ll also touch the open source media server space, and the fact that the next runner up in the acquisition roulette of our industry should be Janus.
But first things first.
What is Kurento?
Kurento is an open source WebRTC server-side media framework implemented on top of GStreamer. While it may not be limited to WebRTC, my guess is that most if not all of its users make use of WebRTC with it.
What does that mean exactly?
- Open source – anyone can download and use Kurento. And many do
- There’s a vibrant community around it of developers that use it independently, Outsourcing development shops that use it in their projects to customers and the Kurento team itself offering free and paid support to it
- It is distributed under the Apache license which is quite lenient and enterprise-friendly
- server-side media framework – when you want to process media in WebRTC for recording, multiparty or other processes, a server-side media framework is necessary
- GStreamer – another popular open source project for media processing. Just another tidbit you may want to remember
I am seeing Kurento everywhere I go. Every couple of meetings I have with companies, they indicate that they make use of Kurento or when you look at their service it is apparent it uses Kurento. Somehow, it has become one of these universal packages that developers turn to when they need stuff done.
The Kurento team is running multiple activities/businesses (I might be doing a few mistakes here – it is always hard to follow such internal structures):
- Kurento, the open source project itself
- Assisted by research done at theUniversidad Rey Juan Carlos located in Madrid, Spain
- Funding raised through the European Commission
- Money received by selling support and customization services
- NUBOMEDIA
- A new initiative focused on scaling and an open source PaaS offering on top of Kurento
- You can read more about it in a guest post by Luis Lopez (the face of Kurento)
- elasticRTC
- Another new initiative, but a commercial one
- Focused at getting scalable Kurento running on AWS
- Naevatec / Tikal Technologies SL
- The business side of the Kurento project, where customization and support is done for a price
Kurento have a busy team…
What did Twilio acquire exactly?
This is where things get complicated. From my understanding, reading the materials online and through a briefing held with Twilio, this is what you can expect:
- Kurento as an open source project is left open source, untouched and un-acquired. That said, the bulk of the team maintaining Kurento (the Naevatec developers) will be moving to be Twilio employees
- Naevtec was not acquired and will live on. A new team will need to be hired and trained. During the transition period, the Twilio team will work on the Kurento project fulfilling any existing obligations. After that, Naevatec will supposedly have the internal manpower to take charge of that part of the business
- elasticRTC was acquired. They will not be onboarding any new customers, but will continue supporting existing customers
- This sounds like the story of AddLive and Snapchat (they waited for support contracts to expire and worked diligently but legally to get customers off the AddLive service)
- That said, it seems like Twilio wants to leverage these early adopters of elasticRTC to design and build their own Twilio API offering around that domain (more on that later)
- As I don’t believe there are many customers to elasticRTC, I don’t see this as a real blow to anyone
- NUBOMEDIA was not mentioned in any of the announcements of the acquisition
- I forgot to prod about it in my briefing…
- Twilio are probably unhappy about this one, but had nothing to do about it
- NUBOMEDIA is funded by multiple European projects, so was either impossible to acquire or too expensive for what Twilio had an appetite for
- It might also had more partners to it than just the Kurento team(s)
- How will the acquisition affect NUBOMEDIA’s project and the zeal with which Twilio’s new employees from Naevatec will have for it is an open question
To sum things up:
Twilio acqui-hired the team behind the Kurento project and took their elasticRTC offering out of the market before it became too popular.
How will Twilio use Kurento?
I’d like to split this one to short term and long term
Short term – multiparty calling
Twilio needed an SFU. Desperately.
In April 2015 the Twilio Video initiative was announced. Almost 18 months later and that service is still in beta. It is also still 1:1 calling or mesh for multiparty.
Something had to be done. While I am sure Twilio has been working for quite some time on a solid multiparty option, they probably had a few roadblocks, which got them to start using Kurento – or decide they need to buy that technology instead of build it internally.
Which got them to the point of the acquisition. Twilio will probably embed Kurento into their Twilio Video offer, adding three new capabilities to their platform with it:
- Multiparty calling, in an SFU model, and maybe an MCU one
- Video recording capability – a popular Kurento use case
- PSTN connectivity for video calling – Kurento has a SIP-Gateway component that can be used for that purpose
Long term – generic media server
In the long term, Twilio can employ the full power of Kurento and offer it in the cloud with a flexible API that pipelines media in real time.
This can be used in our new brave world of AI, Bots, IOT and AR – all them acronyms people love talking about.
It will be interesting to see how Twilio ends up implementing it and what kind of an API and an offering they will put in place, as there are many challenges here:
- How do you do something so generic but still maintain low resource consumption?
- How do you price it in an attractive way?
- How do you decide which use cases to cover and which to ignore?
- How do you design it for scale, especially if you are as big as Twilio?
- How do you design simple yet flexible and powerful API for something so generic in nature?
This is one of the most interesting projects in our industry at the moment, and if Twilio is working towards that goal, then I envy their product managers and developers.
What will be left of the Kurento project?
That’s the big unknown. Luis Lopez, project lead of Kurento details the official stance of Kurento and Twilio on the Kurento blog. It is an expected positive looking write up, but it leaves the hard questions unanswered.
Maintaining the Kurento project
Twilio is known for their openness and the way they work with developers. While that is true, the Twilio github has little in the way of projects that aren’t samples written on top of the Twilio platform or open sourced projects that touch the core of Twilio. While that is understandable and expected, the question is how will Twilio treat the Kurento open source project?
Now that most of the workforce that is leading Kurento are becoming Twilio employees, will they work on the open source Kurento build or on internal needs and builds of Twilio? Here are a few hard questions that have no real answers to them:
- What will be contributed back to the Kurento project besides stability and bug fixes?
- If Twilio work on optimizing Kurento to higher capacities or add horizontal scalability modules to Kurento. Will that be open sourced or left inside Twilio?
- How will Twilio prioritize bugs and requests coming from the large Kurento community versus handling their own internal roadmap?
While in many cases, with Kurento the answer would have been that Naevatec could just as well limit the access to higher level modules for paid customers – there was someone you could talk to when you wanted to purchase such modules. Now with Twilio, that route is over. Twilio are not in the business of paid support and customization of open source projects – they are in the business of cloud APIs.
There will be ongoing friction inside Twilio with the decision between investing in the open source Kurento platform versus using it internally. If you thought that was bad with Atlassian acquiring Jitsi – it is doubly so here, where Twilio may have to compete with a build vs buy decisions of companies where “build” is done on top of Kurento.
I assume Twilio doesn’t have the answers to these questions yet either.
Maintaining the business model
Kurento has customers. Not only users and developers.
These customers pay Naevatec. They pay for support hours or for customization work.
Will this be allowed moving forward?
Can the yet-to-be-hired new team at Naevatec handle the support?
What happens when someone wants to pay a large sum of money to Naevatec in order to deploy a scalable Kurento service in the cloud? Will Naevatec pick that project? If said customer also wants to build an API platform on top of it, will that be something Naeva Tec will still do?
What will others who see themselves as Twilio competitors do if they made use of Kurento up until now? Especially if they were a Naevatec paying customer…
The good thing is, that many of the Kurento users ended up getting paid support and customization by third party vendors. Now if you only could know which one of them does a decent job…
Should TokBox be worried?
Yes and no.
Yes, because it means Twilio will be getting their multiparty story, and by that competing with TokBox. Twilio has a wider set of features as well, making them more attractive in some cases.
No, because there’s room for more players, and for video calling services at the moment, TokBox is the go-to vendor. I wonder if they can maintain their lead.
What about Janus?
I recently compared Jitsi to Kurento.
Little did I know then that Twilio decided on Kurento and was in the process of acquiring it.
I also raised the question about Janus.
To some extent, Janus is next-in-line:
- Those I know who use the project are happy with it and its architecture. A lot more than other smaller open source media framework projects
- Slack has been using Janus for awhile now
- Other vendors, some got acquired recently, also make use of it
Does Meetecho, the company behind Janus, willing to sell it isn’t important. It is a matter of price points.
We’ve seen the larger vendors veer towards acquiring the technology that they are using.
Will Slack go after Janus? Maybe Vonage/Nexmo? Oracle, to beef their own WebRTC offering?
–
Open source media frameworks have proven to be extremely effective in churning out commercial services on top of them. WebRTC made that happen by being its own open source initiative.
It is good to see Kurento finding a new home and growing up. Kudos to the Kurento team.
Towards that goal, I also created a Media Server Framework Selection Sheet. Use it when the need comes to select an open source WebRTC media server framework for your project.
Zero commits in 4 months. Looks like development is finished …
https://github.com/Kurento/kurento-media-server