RealNetworks is announcing today that some of their software will be
released as Open Source or Free Software. While RealNetworks is making a
significant contribution to Open Source, today's release does not include
the "crown jewels" -- their "codecs," the encoding and decoding software
for their proprietary RealAudio and RealVideo formats. I will go into more
detail regarding what they are proposing to release, and when, in this
I'd also like to say what my role is in this. It is not to endorse, but
to explain what's going on from an Open Source perspective. Some of the
pieces announced today will be Open Source, but many will not be. Thus,
I can't fully approve of what is going on. I will continue to lobby
RealNetworks to follow today's step by going fully open, and I urge you to
continue to use fully open codecs in preference to the RealNetworks ones.
It was entertaining to see the first sentence of the invitation that
RealNetworks sent to some of the press:
> On Monday at 10am in SF, Eric Raymond, Bruce Perrins, Brian Bellendorf
> etc. will all be attending a press conference with Real Networks and 30
> other top industry companies for a significant industry announcement.
I am flattered by their enthusiasm, especially since I'd told them
repeatedly that I'd not be making an endorsement. This shows that
RealNetworks may actually be able to deal with the Open Source community
on the community's own terms. That will be essential if a real partnership
is to come of today's announcement.
So, what is RealNetworks proposing? They plan to release code in 90
days. Some of the details of that code, including what parts are included
in the release and how they are licensed, may change before then.
RealNetworks "client engine," the thing that lives in the desktop or the
web browser and drives the client half of their codec, will be available
under a license that is derived from the Apple Public Source License, but
with goals much closer to the GNU General Public License. The license text
includes a patent grant. Like the APSL and the NPL licenses, it grants
RealNetworks a right to relicense your code under any license of their choice.
So it is unlike the GPL in that it gives one party more rights than all
others. This license has yet to be approved by the Open Source Initiative
board, or accepted by the Free Software Foundation, or even fully reviewed by
yours truly. It may have to be modified before it is worthy of acceptance by
The Open Source client engine will probably include:
> - RTSP/RTP/RTCP/SDP network playback
> - UDP support
> - Local file playback
> - Single source A/V
> - A/V data type interface
> - file format interface
> - some A/V codec support (TBD; standards-based, probably MP3 and 3GPP
I have an even longer list of other features that the Open Source client
_may_ include, which I can't show you until they decide. On the list of
functions that most likely won't be included, besides the codecs, there's
a lot of utility and user-interface code.
So, we're getting some network protocols that go on top of IP and UDP,
and do their best to provide continuous playback despite the fact that
the Internet doesn't guarantee throughput or latency. On top of that are
file formats and data objects, and other pieces necessary to make an Open
Source player for some already-open file formats. It is likely that many
of the client pieces will be applicable to servers and encoders as well,
although RealNetworks is not placing their server and "encoder engine"
in Open Source. Combining the Open Source player with RealNetworks
proprietary codecs will produce a player for the RealAudio and RealVideo
formats on new platforms where no player existed before.
Perhaps the greatest beneficiary of RealNetworks contribution could
be the Ogg Vorbis audio format. Ogg is a fully Open Source codec,
unencumbered by patents or royalty payment requirements, which
offers audio quality comparable to, or better then, its proprietary
competition. The Ogg encoder and servers, not just the client, are
available as Open Source. The addition of RealNetworks network protocols
and other utilities might make Ogg even better, and might facilitate the
inclusion of Ogg as an option in RealNetworks proprietary products.
RealNetworks server and "encoder engine", without the actual codecs,
will be under a "community source" license. This means that source code
will be disclosed to people who sign an agreement, and those people will
get a lot less than the full set of rights that come with Open Source
licensing. Since other streaming servers and encoders are already fully
Open Source, we can't expect the Open Source community to have much to
do with this part of RealNetworks code. However, community source does
make life easier for RealNetworks partners, whose business depends on
this code and who might not have had source code until now.
The RealAudio and RealVideo codecs will be available in compiled form, as
proprietary software that can be linked into a larger product. Again, no joy
in the Free Software camp. However, these codecs will be available for use
along with various Open Source pieces that Real is releasing, and thus it will
be easier to for third parties to produce a half-proprietary Real-format player
under Linux and on other operating systems where one is not supported today.
Why is Real doing this? Obviously, they are under pressure from
Microsoft's Media Player, and would like to prevent that product
from achieving market domination. Increasing open-ness is a weapon in
that battle, because a perception of open-ness will make more people
consider RealNetworks products as standards rather than just products.
But RealNetworks may not be able to afford to be open enough -- their
revenue today depends on licensing fees for the use of their software, and
unless they can change their business model somewhat, it will be difficult
for them to achieve a real partnership with the Open Source community.
That community has little to gain by replacing Microsoft's proprietary
audio format with RealNetworks still-proprietary audio format. The Free
Software folks will continue to develop Ogg Vorbis and other solutions,
although perhaps in a way that is more compatible with RealNetworks
proprietary software. Thus, I consider todays announcement to be only a
first step for RealNetworks, with additional steps necessary if they are
to succeed. On behalf of the Open Source and Free Software developers, I
hope to be able to help RealNetworks take those additional steps.