August 9, 2002

How and why RealNetworks is moving toward Open Source

- By Robin "Roblimo" Miller -
"The idea [of Open Source within RealNetworks] had been kicking around for a very long time," says Rob Lanphier, RealNetworks' program manager for interoperability. Now, finally, the company is licensing some of its code under a GPL-like license. This may help bring more current versions of the RealPlayer client to Linux, but it may also help RealNetworks make big sales to companies like Nokia, and if you're a RealNetworks shareholder, that's more important than making a few Linux geeks happy.
Lanphier wouldn't mind seeing new, feature-rich versions of RealPlayer for Linux. Even though he's a former Microsoft employee, he now uses Linux as his primary desktop operating system. He says he is but one of many Linux and Open Source advocates who work at RealNetworks. Now he's the self-described "mascot" for the Helix(TM) Community RealNetworks has set up to spearhead its Open Source efforts. In this job, though, he's not only working with developers who want to produce cool, free software that will help improve the world (presumably by filling it with streaming media) but also with hard-headed commercial people at companies that make products like cellular phones and PDAs.

As we all know, The Next Big Thing is going to be wireless devices we'll all carry around with us everywhere that will keep us in contact with the world, devices we'll use to read books and text-based Web sites, make telephone -- no, make that videophone -- calls, listen to music, and watch movies. We all know this, in part, because Microsoft has been running around, frantically demonstrating handheld computers running its PocketPC (formerly WinCE) operating system, while executives from anxious computer hardware and consumer product manufacturers cheer the company on from the back of the podium, hoping that yes! here is finally something a whole lot of people will want to buy even if they already have good televisions, computers that do everything they need, cellular phones, photo-quality printers, digital still and video cameras, and everything else the tech industry has brought to market in the last decade.

If you've seen sales figures for electronics products companies lately, you know why there is so much casting about for something new they can sell that people will actually want to buy. Something must always be anointed as The Next Big Thing, even if it's as lame as Bluetooth or as overpriced as HDTV, so that all the analysts and journalists can quote upbeat marketing directors, and stock traders will run out and buy tech industry stocks so the marketing directors' stock options can suddenly have value again.

The tech industry, like many others, seems to have problems dealing with the idea of market saturation, which simply means, "One day, almost everybody who needs or wants a cellular phone will have one, and when that day comes cellular phone sales will no longer grow rapidly." There will still be a market for replacement cellular phones, and as the old ones wear out many people will replace them with ones that have more features, but there is no compelling reason to rush right out and get a new one today.

Ditto computers. I have several around, with processor speeds ranging from 300 MHz to 1000 MHz, and for the life of me I cannot detect any practical advantage, considering the work I do, to a processor faster than about 500 MHz or more than 256MB RAM. Sure, people who do processor-intensive work like to buy newer/faster whenever they can get it, but most of us don't do that kind of thing. We surf the Web, we exchange email, run some spreadsheets, do a little word processing, maybe alter a picture or two. Right now, for example, I'm using a laptop with a 300 MHz uP and 64 MB of RAM, and at most I'm using 50% of my uP's capacity at any given moment.

What if I suddenly decide to start editing video and audio? Now I need lots more processor, lots more RAM, and a bigger hard drive.

Where am I going to get that video I am going to edit? From roving NewsForge reporters carrying PDA-like devices with built-in video cameras who will stream it to me, and after I pick which feed looks best or edit clips to insert, I will upload my edited video to a server where it will be streamed to you so you can view it either on your computer or on your wireless handheld thingie, with RealNetworks software helping achieve all of this broadband goodness at every step.

We probably have four or five different operating systems involved along the way here, and all of your friends who are getting the same video you get are using different computers or handheld devices to receive it, so there can be dozens of operating systems and hardware configurations that all must be able to both send and receive streaming video in some format RealPlayer supports on both the client and server ends. Without total compatibility, this dream world of immersive streaming media won't ever become reality.

In a nightmare that must haunt RealNetworks executives, all this will happen quite happily, but all those computers and handhelds and servers will run nothing but Microsoft software.

Following in the wake of Netscape?

Remember how Netscape set up the Mozilla project after Microsoft's Internet Explorer offered a free alternative to Netscape, which required license fees from corporate users? And how Netscape's business collapsed and the company laid off lots of developers, and hoped outside Open Source developers would take up the slack?

According to this article at The Register, RealNetworks just laid off 90 employees out of about 800, and has seen a 36% decline in streaming server sales for the most recent financial quarter compared to a year ago. The same article also says RealNetworks is fighting against this trend, which is caused heavily by inroads made by Microsoft into the streaming server market, with its Helix Universal Server.

According to RealNetworks, companies that use this product to offer video or audio streams will be able to offer "support for live and on-demand delivery of all major file formats, including Real Media, Windows Media, QuickTime, MPEG 4, MP3, MPEG 2, and more." Prices for this commercial product range from free for a version that will handle 10 or fewer simultaneous streams up into the sky for huge, corporate-level streamers, but not nearly as far up into the sky as it would take to have different servers for all kinds of different formats.

This product separates the RealNetworks Open Source effort from Mozilla's, which was an attempt to create a new product from scratch through the efforts of Open Source developers. "Release early, release often" Open Source truisms aside, almost every vital Open Source project starts with some sort of code from its original developers that can be compiled and run and will actually do something. The world is littered with incipient Open Source projects that consist of little more than a "Someday this software will do thus-and-so" statement along with a plea for development help. RealNetworks is, at least, releasing Real (couldn't help the pun) code that already works, and is offering it for modification and improvement by the world at large, either free for non-commercial development or on a royalty basis for those who want to use Helix code as the base of a commercial software product.

Lanphier likens RealNetworks' vision to Java's in some ways, especially in that RealNetworks is going to have final say over what can be called "Helix" and what can't, so that the code's name and reputation can't be hijacked by shoddy programmers. In the end, the hope is that Helix will become the streaming server standard that all others follow, that works with all popular codecs, and fits everyone's needs. "Stream once, play anywhere," you might say.

If the company can pull this off, it will be hard for Microsoft to compete with RealNetworks on the streaming media front as long as Microsoft sticks to Windows Media Player and nothing else. Unless, of course, Microsoft sues RealNetworks for replicating the Windows Media Player format and wins, in which case the game suddenly changes for RealNetworks, and not in a healthy way.

The multiple licensing dilemma

If the fine folks who are making Ogg Vorbis come up with their own version of Helix as a non-commercial Open Source thing, the official RealNetworks position is, "Cool!" If those same developers want to come up with a commercial product either on the server or the client end, RealNetworks wants royalties. Lanphier says rates for commercial licenses have not yet been set, but will be before long.

Lanphier is working with the Open Source Initiative to develop a "GPL-like" license for the non-commercial side. A major reason RealNetworks is not using the GPL as it currently stands is the "ASP hole" in it. This "hole" might allow someone to use and modify GPL code as a server-side application but not feed their modifications back to other users and developers of that code because they are not "distributing" it if the modifier only runs their modifications internally, even though you might think that by using that code on a publicly available server they are "distributing" it. Lanphier is working with Free Software Foundation head Richard M. Stallman and his legal advisors on how to handle this. Stallman and the FSF are well aware of this bug in the GPL, and hopefully it will be solved in GPL v3 when it appears. This leads to another bugaboo for RealNetworks: leaving an option within whatever Open Source license they come up with today for eventual relicensing under GPL3 or perhaps under another license if GPL3 is not quite what RealNetworks would like to see.

Never forget: RealNetworks is a software development company that relies on the sale or licensing of commercial software for a large part of its income. RealNetworks has a board of directors and shareholders. The chances of RealNetworks management suddenly saying, "We have decided that in the future we will only develop and release Free Software for the public good, and earn our eating money working at Starbucks," is exactly zero.

Even releasing some code under the GPL or a similar license is a hassle for a commercial software company. Part of the problem is third-party commercial code RealNetworks has purchased, which must be removed. Another is the build system, which must work cleanly enough that outsiders can use it. There is also a factor Lanphier and other RealNetworks people have never talked about in public to my knowledge, but also plays a factor in corporate Open Source code releases, namely pride. Many closed source programs have vicious little hacks written into them that may do the job but are so ugly or inelegant that the people who wrote them would rather not have them exposed to the world, and want to have a chance to clean them up before their peers start looking at their work.

Add all these factors together, and "open-sourcing" corporate code becomes a major project -- and we haven't even mentioned the lawyers, who bring a whole new level of complexity to the deal, but must be appeased, especially if the company opening its code is a U.S.-based public company (which RealNetworks is) that must constantly worry about shareholder lawsuits.

At the same time it is going through a "pure" Open Source licensing dance, RealNetworks is working out its Community Source License, which is far from GPL or Open Source in many ways. This license exists, says RealNetworks, because:

"RealNetworks anticipates that many organizations will want to use Helix for commercial systems, from putting a media player on a cell phone to creating a specialized medical imaging application using Helix DNA server technology. Many of these organizations will be able to use the RPSL and work in an open source model.

"For those who need a more traditional commercial license, RealNetworks is making Helix available under the RCSL. This license contains both R&D/academic terms (free) and standard commercial distribution terms (with royalties). Modifications to Helix itself are required to be granted back to the community, but applications built on top of Helix, or otherwise incorporating Helix source code, do not."

There are also OEM license terms available. This is where the Nokias and Kyoceras and Palms of the world come in. They will hopefully pay royalties to use Helix code (developed under one license or another) in their products, and will pay per-unit royalties for use of the base code, which will inevitably require heavy modification to function in each product where it is used. A lot of RealNetworks' code licensing dance is necessarily aimed at making sure there are no screams from independent Open Source developers who contribute to Helix when RealNetworks licenses commercial versions. Whether this dance between licenses can be handled successfully is a good question. Interactions between Open Source and commercial software licensing are still being worked out, with different approaches being tried by almost every company that tries to take this path.

RealNetworks' Open Source advantage

The problem Netscape had with Mozilla and Sun had with Java is that both companies were exploring new territory. The first explorers anywhere take wrong turns, have sled dogs die, have no idea how to handle hostile natives, and often die themselves. In return, they get their names in newspaper headlines and their pictures in encyclopedias. The next wave of explorers has the luxury of reading the diaries and logbooks of the first wave of expeditions before they set off. Some even hire native guides to help them communicate with potentially hostile tribes they may encounter in their travels. The second wave has a much better chance of finding the way to The Blue Horizon; or the Fountain of Youth; or the Seven Cities of Cibola; or whatever other goal they have set.

RealNetworks has studied all the Mozilla and Java mistakes, Lanphier says, and hopes to avoid them. The company also hopes to avoid the problems some software companies have had when they decided to compete with Microsoft by moving toward Open Source.

"Our relationship with Microsoft has always been an interesting one," Lanphier says. "We compete with them on some fronts, and cooperate with them on others."

Asked whether he thinks Microsoft might join RealNetworks, in some small way, in open-sourcing streaming media standards, he says, "Who knows?"

And after a moment's pause, he adds, "We think it would be incredibly good for them."


  • Open Source
Click Here!