RealNetworks' Open-Source Strategy: Talking Infrastructure with Rob Glaser
Rob Glaser founded RealNetworks and launched the Internet streaming industry in 1994. That's the same year Netscape was born, Linux hit version 1.0 and Linux Journal came out with its first issue. Microsoft wouldn't announce its free browser until late 1995. Napster and the worldwide MP3 file sharing craze were half a decade away.
From the beginning Real was primarily known as a consumer-oriented company, with zero overlap between itself and the Open Source community. The company ran a highly proprietary streaming media business that seemed to fit the Microsoft mold, partly because Rob Glaser was a former Microsoft executive.
But RealNetworks' biggest competitor also turned out to be Microsoft, which seemed determined to dominate streaming media the same way it dominated operating systems, office suites and other categories.
And meanwhile the marketplace came up with its own indomitable developments. On the server side there was Linux. On the client side there was massive peer-to-peer .MP3 file sharing. Connecting two were a growing number of cheap or free MP3 streaming systems, many of them running on Linux.
So RealNetworks faced a choice: Bow to Microsoft, or side with the geeks who were busy transforming the marketplace underneath everybody.
Real went with the geeks, and now streaming media is a whole new ball game.
The move came in late July, when RealNetworks announced Helix, a major open source project that would expose untold $millions in development effort over the last eight years to the marketplace.
The move did not come as a surprise to Linux Journal. RealNetworks is a Seattle neighbor, and we've been hearing for years that RealNetworks had long been a Linux company on the inside, with plenty of internal developers who have been eager for the company to join the open source conversation.
And now they have.
The week after the announcement, RealNetworks was a major presence at the O'Reilly Open Source Convention in San Diego, where I had a number of conversations with Rob Glaser and other RealNetwork executives.
Prior to those conversations I had been talking with Tim O'Reilly about the whole issue of infrastructure -- a subject about which I had done a lot of thinking-out-loud, both in Linux Journal and in speeches like the one I had given in June at JabberConf in Munich (Tim and I are both on the Open Source Advisory Board of Jabber, Inc.). Tim asked me to give the same speech at OSCon, which I did, on the day after Tim spoke with Rob Glaser on stage during lunch. It was after that lunch that I gathered with a few other people from RealNetworks for our own conversation.
That one picked up where Tim's had left off, and turned quickly to the infrastructure subject. So I shared some slides from the talk I was going to give the next day, since it seemed to me that RealNetworks was telling an infrastructure story. The early part of that conversation was facilitated to some extent by those slides, which in turn were influenced by that same conversation.
Good conversation is like that. Movement happens. That's the idea behind this report.
What RealNetworks did with Helix is brand new and still working itself out. RealNetworks is inviting our community's participation, and I think we should give them the benefit of various doubts as long as the company and the new Helix Community is open to our input. And I see nothing so far to suggest that they aren't.
Rob Glaser: I'm really thrilled to be here and working with you all.
[About the announcements...] First, we introduced the next generation of our platform for media delivery, which is called Helix. That was an intentional departure from the previous eight years, going back to 1994, when our products were RealAudio, RealVideo and RealSystem -- because our intention is that the core platform that comes out of this will not just be a standing commercial object code type of product, but also be available in a broad way for the community to enhance it and build on top of it and innovate with it.
So that led to the second announcement, which is the formation of the Helix Community. We were joined by thirty major companies including Sun, Hewlett-Packard, Nokia, Palm and many others (those four were on stage with us). This community process will be similar to the Java community process. Source code is available to community members. Community members have to maintain compatibility, but community members can build commercial products based on that.
We also concurrently announced a public source license for elements of the Helix platform, starting with the client piece. We put it out in draft form and would like to get feedback on that. It is our intention to formally submit it to OSI for certification as an open source license. It has the property we associate with that kind of license: pretty strong copyleft, pretty strong viral propagation elements. Plus full flexibility of what people can do with the client piece itself. We think the dual licensing offers the best of both worlds, in terms of giving flexibility to the community and also providing a parallel community for maintaining compatibility strictly for the kinds of commercial applications we've been in.
The third thing we announced is the Helix Universal Server. It's the first server for media delivery that delivers all of the major formats, regardless of what protocols or codecs or formats they use. And a particular note is that, in a clean room way, we implemented support for Windows Media, which as many of you probably know, does not use the RTSP standard, but we were able to add that in, thanks to a great engineering team, in a way that's fully compatible with the Helix API set, and he Helix engine.
So that's the three things: A brand new platform, built on what we've been doing for eight years; a whole new approach to it, based on a community and open source combination approach, and then this universal product built on that platform.
The fourth thing, which we're announcing today, is collaboration with Ogg Vorbis to integrate their open source audio codec with both the Helix open community source platform and also with RealNetworks' commercial products, so it will be available for download for users of RealOne, to get it off as an automatic update to our base of 85 million users around the world. And the reason for that announcement is to have a broad support for open source across the entire system. The whole codec area is an incredibly complicated minefield. We've done, in our system, probably a dozen different codecs. We work with partners like Intel and Sony and VoiceAge and a number of other folks. So we actually wanted to seek out a codec that had full open source capabilities. And the people at Ogg Vorbis have done a great job creating such a codec.
So with that announcement you can see sort of a road map for how to use Helix in a very broad, practical and yet a complete and comprehensive way. So with that, Tim, whatever questions you have...
Tim O'Reilly: One obvious question. You've been doing streaming media for eight years and open source has been out there on the corporate radar for at least four or five years. Why are you deciding to do this now?
Rob Glaser: It's really a combination of things. One is that philosophically there has been a lot of support in our organization for open source for a long time. But it's kind of a bold move for a company that's principally a pure software company to move into open source. A lot of the companies that have embraced open source are hardware companies or services companies. We're one of the few that think of themselves as a company delivering value-added commercial software as a primary mission for what we do on both the systems and enterprise side and on the consumer side. So we wanted to make sure that we had thought through and learned and studied the right way to do this, even though we've believed for some time that opening up to the community is the right way to go.
Certainly the fact that we have an application on top of this -- the Helix Universal Server -- is no coincidence. Because we're able to sort of concurrently go to this community and say "Here is the platform. Innovate and do great things." And we can go to the commercial market and say "We've got a universal solution built on top of this." So this isn't just an academic or theoretical exercise or something just for the technology community. Here's something that you can really do with this that's unique and differentiated and quite different from whatever was possible before.
We studied a lot of the people that have gone along the community route, or the open source route, and tried to learn not only the things that were necessary to really get broadbased community support behind something, but also to create a commercial marketplace that works. It was really the combination of those that led to us doing (the project this way).
And then the final thing is, look, the industry is consolidating. This is an important point, maybe the most important point. It's clear that media delivery is huge. We're talking about convergence. Not just with PCs, but with mobile phones, digital set tops... and it is an unbelievably daunting amount of work. We've done hundreds of millions of dollars of R&D ourselves, but it is clear that the scale of what is going to happen in the future is hundreds of millions of dollars more of commercial activity to make this work. And there are only two possible sources of that: Collectively, us, and what we're doing with Helix and with the community; and Microsoft. And our view is that, and I'm quite sincere about this, if you want this to be based on published protocol standards like RTSP, and want it to be based on an extensible community and open source available core platform that's operating system and device independent, like we're doing with Helix, really embracing the community in the strongest possible way, struck us as the best possible chance to maximize the fact that this will be the framework of standards. So it's the belief that this is too big for any one company, and something that we need to open up to the community if we want it to be controlled by something that isn't the guys who control the operating system.
Tim O'Reilly: This brings up an important point. You used to work at Microsoft before you started Real. So you learned the lessons of embrace & extend. You might say in the case of the Windows Media player that you're embracing and extending Microsoft's software here-
Rob Glaser: -It's fair to say that -
Tim O'Reilly: - Embracing and extending out into the standards world. Kind of like "turnabout is fair play".
Rob Glaser: It is a little turnabout. That's right. We're saying "Microsoft makes codecs. It's their right to do that. They created these formats. There is a lot of content in these formats. We want to create one delivery system that will deliver them all." So we put a lot of work and effort into that. We also thought that if really wanted to open something up to the community, that the community didn't want to say "Well that's great, but how will that get to the world of all this Microsoft content?" So there is a connection between now being the time to bring this to the community when it has the pathway to being a complete universal solution, and the fact that we've done that work as part of something that we think will make this community effort even more valuable and useful.
Tim O'Reilly: One question that we saw raised on Slashdot was, whether you call it clean room or reverse engineering, isn't what you've done illegal under the DMCA?
Rob Glaser: We didn't mess with Microsoft's digital rights management layer at all. Without going into details that would make my general counsel want to knock me off the stage, basically we don't do anything that mucks or messes with the rights. So if there is a piece of content that a rights-holder has used a Microsoft DRM for, you need the Windows Media client on the receiving end to receive and decode that. So we have not done a separate implementation of Microsoft's digital rights management subsystem. We have had a lot of conversations about the pros and many cons of DRM systems, but the reality is that they are out there and the content is out there. We transmit it. We're just the truck or the trains that move it from the server to the player. And whatever the rules are about how the codec is handled are up to the Microsoft client software.
Tim O'Reilly: So have you taken some lessons from Apache? That's probably the open source project that has held up best against a concerted attack from Microsoft. Can you talk to that?
Rob Glaser: If you look at the successes of Linux and Apache, the fact that the community really continues to drive innovation at a pace that's equal to or exceeds any commercial implementation is a key part of their success. Because commercial customers love openness and believe in openness more and more. But more than openness they want reliability. They want portability, extensibility, functionality. So what we've tried to learn, and why we're here, is we believe that the community collectively, the Open Source community broadly as well as the Helix community we're nurturing and trying to build, can out-innovate any one company. I'm a great believer in Bill Joy's law, that the vast majority of the smart people in the world don't work for your company, no matter what company that is. That works empirically with Apache, it works empirically with Linux. And I believe it's going to work with Helix.
Tim O'Reilly: Have you had any kind of a response from Microsoft?
Rob Glaser: Well, I've been traveling. I've been busy... (Audience laughter.) ...We have not heard anything formal or official. We've seen some press quotes from them. I think it would be great if they embraced this community. Just like I think it would be great if they embraced Linux, it would be great if they embraced Apache, and it would be great if I could eat chocolate and not gain weight. And some of that may or may not happen.
Tim O'Reilly: Let's move over to the transformation of the media landscape. You were fairly prescient in seeing that media on the Internet was going to be one of The Big Things. We're still only a small way into that future. If you look at all that's happened not just with streaming media but also with Internet file sharing, Internet radio... a lot of interesting innovation that is getting the existing copyright holders running to Congress to get the big boot to stamp on these innovations. How do you see this changing the landscape, if at all?
Rob Glaser: I think certainly having the technology industry consolidating and supporting an open platform helps create a sort of unity that is important. Right now a lot of the really innovative things that are happening with media delivery on the Internet are sort of under sniper attack, right? You look at what happened with Internet radio, with the Copyright Arbitration Royalty Panel, or CARP, as it was unfortunately and accurately named. It really imposes on the independent webcasters a fee regardless of whether or not they make any money from those transmissions -- something that broadcast radio doesn't have to pay, satellite radio doesn't have to pay, but uniquely Internet radio does. Stuff like that happening is really bad. And the more unified our industry is, the greater chance we have of actually winning those fights.
The good news is, in spite of those barriers, more consumers are consuming more Internet media today than ever before. And the growth is outstanding. If you look in particular at the people who have broadband. They probably spend three times as much time listening to audio and watching video on the Internet than do narrowband users. So in spite of these speed bumps, there are a lot of great things happening. There is a lot of continued growth of consumer interest. I think those digital copyright battles, like Joe Kraus is in with DigitalConsumer.org, are important. I encourage everyone here to participate and get involved in that. Because right now in Congress the people getting the message out to the legislatures are the big trade associations, the recording industry, the broadcasters. And the voices of the technology community, and the voice of the consumer wanting to exercise his or her fair use rights, are not getting heard by Congress, or are certainly not getting the weighting that they should have. We have to send a message within the public policy process -- it could be a pain in the neck, it's all the way across the country, it sometimes seems irrelevant to our lives. But in this case the legislators are not necessarily looking out for the interests of our media and our consumers. We need to do something about it.
Tim O'Reilly: Let me ask you about your licensing strategy. On the one hand you have used a community source license that is somewhat akin to what Sun has done with Java...
Richard Stallman, from the audience: "It's not free software! Don't use it! Sit down!" (Richard was then quietly met by a guy from RealNetworks and the two moved their conversation outside the tent.)
So, on the one hand you have a community license that allows you to give some degree of control. You also have the potential for dual licensing in which you are able to make various proprietary licenses. But at the same time the RPSL, your other license, has a lot of GPL-like provisions. So you're really running the entire spectrum of licensing options in your overall strategy. And it seems to me that we're really seeing an evolution in the thinking of companies about how to use these various licenses for different business purposes. Can you sort of talk a little more about that?
Rob Glaser: My view, honestly -- and I respect the fact that there different people have different perspectives on these things -- is that there are three worlds that can jump into a public license, a source license, a community license. Or for those sets of things. And we want to support two of them, and we specifically don't want to support the third one. And those three are...
First is people who want to take source code, do innovative [he might have said "derivative" - DS]: works, will republish it themselves with the source basis, and that's why we have the public source license. We're starting that with the client piece of the system. They can use it for whatever purpose they want, integrate it with P2P applications, with collaboration applications, take it any direction they want.
Second is where you actually want to have some level of compatibility so applications can be written on top and have confidence that those applications will work and be reliable and compatible. So that's why we're creating the community source license, which is a Java-like approach. We've studied the fact that Java applications generally speaking do work and that compatibility effort is less flexible, less freeing than the public source license, but has that compatibility benefit, and we want to support that effort.
The third community is what I would call the vampire type approach, where they might have an operating system where they don't publish the source code and where the APIs aren't terribly transparent. And there are a ton of them. One of the things you don't want to do in a situation like this, is, as you open these up to the community, is open them up in a way that makes it easy for that group to embrace and extend and suck all the value out and just raise the price of the operating system to OEM manufacturers. Because then you haven't done anything to help move forward the openness. You've ended up just simply letting the vampires suck the value out and put it somewhere else.
So what we're trying to do with this dual approach is, if people want to go the public source route, that's great. It's viral. They have to publish the source code to their work. And so probably the people with vampires will find that unappealing. And if you want a community where you want to maintain compatibility and the vampires want to join and play by the rules, then they aren't vampires anymore, so that's great. So that's why we've taken this dual approach -- to support these two different worlds, but not to be foolhardy, let's say, about the third world.
Tim O'Reilly: Here's another aspect, aside from licensing. One of the things that's always struck me as interesting about open source projects, is how they tend to take off when there is a well-defined playground. You take Perl for example. There are not that many people involved in modifying the core engine. But CPAN is where all the action happens. People can write modules, share them, build on top of that basic platform. Can you talk a little bit about the modularity of what you've built and to what extent people can look at it for its break-up value, if you like, as well as its use as an existing complete system?
Rob Glaser: I'll talk about it conceptually. And of course 90 days from now we'll put the source code out through the procedure itself. In fact it has been our intention to have published APIs for our predecessor system, the Real system, and there are a couple hundred applications out there that already support it and have independent architectures in terms of the data types you can plug in, the different kinds of file formats that can be read, the different transport mechanisms that can be plugged in. So basically think of this as a media delivery system rather than edge transmitters and caching nodes that would sit in the network -- where you can plug in different protocols, file formats, codecs... And in terms of what people are going to do with that, look at all the different ways people use HTTP. People use it to quote other things, for file transfer, for anything. Because HTTP is out there and popular and well understood, and because it's available in source form through Apache and other things that can do whatever they want with it. So our sense will be that the protocol (garbled) RTSP that are built in and available as a core part of the Helix Community source code will be used in lots of different and unexpected ways.
Tim O'Reilly: We've said this before, but the unintended consequences are the best thing about open source. I think that's what you're hoping for here: that people are going to take this platform and surprise us all by finding new applications for it.
Rob Glaser: Absolutely.
Tim O'Reilly: Thanks very much for coming. I hope all you guys (in the audience) will take a look at Helix.org and find interesting things to do with it.
Doc Searls is Senior Editor of Linux Journal
- Resurrecting the Armadillo
- High-Availability Storage with HA-LVM
- March 2015 Issue of Linux Journal: System Administration
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- Localhost DNS Cache
- DNSMasq, the Pint-Sized Super Dæmon!
- Days Between Dates: the Counting
- The Usability of GNOME
- Linux for Astronomers
- You're the Boss with UBOS