FOSDEM '09 is a free and non-commercial event organized by the community, for the community. Its goal is to provide Free and Open Source developers a place to meet.

   

Interview: Rob Savoye

Rob Savoye will give a talk about Gnash at FOSDEM 2009.

Could you briefly introduce yourself?

Sure, I'm a long time free software developer for 20 years, initially a cross tool chain and embedded systems hacker, then renewable energy projects, and now Gnash. I've primarily worked from my home way up in the mountains of Colorado at 9000 feet the entire time.

What will your talk be about, exactly?

This talk isn't so much about Gnash, as about some of the reverse engineering done for the Gnash project. Adobe supports a family of networking protocols called RTMP that was wanted to support, but there were no available documents. So this talk is about how that protocol was reverse engineered.

What do you hope to accomplish by giving this talk ? What do you expect?

I thought it would be useful to others to see how you can go from hex dumps to implementing code for a something you know nothing about. It's also interesting to see how much information can be extracted from raw hex dumps as well.

What are the most important Flash features that Gnash doesn't support yet? When will Gnash fully support SWF v8 and v9?

Fully supported? Some of the ActionScript classes that rarely get used may not get implemented for a long time. Gnash already has decent v8 support, and a v9 parser, but our the ActionScript 3 library is a bit limited still. An important feature that has been missing for a long time is RTMP support. Now that I've reverse engineered it, that will finally be appearing in Gnash. Other than that, the big thing we are lacking are more complete ActionScript libraries, although we support all the commonly used ones.

The next Gnash release will have all of the new v9 support, which while under heavy development, is now stable enough to release. It'll also include the new RTMP support that I'll be talking about, plus it'll be the alpha release of Cygnal, a free media server similar to Adobe's FMS 3. We've been busy. :-)

What are the biggest obstacles the Gnash developers are facing? Are these obstacles technological or legal?

These days it's primarily legal. Technically, we've pretty much figured out alot of things about how flash works internally. Legally, we can't distribute a fully working executable due to issues around our usage of ffmpeg for video & audio codecs.

The Gnash project recently got funds from the Linux Fund to support RTMP streaming media. How dependent is the project on funds?

We had good funding the last few years, and it let us make better progress than is usually seen for a free software project. Since we recently lost most of our existing funding due to the economic crisis, it's important that we can find other sources of funding if we want to continue with the rate of progress we've been making. We're not dependent on funds, but make better progress when we can work on Gnash full-time. The Linux Fund donation is actually not much more than supporting one developer for 2 months to work on RTMP support in Gnash, so more donations are always appreciated. Most of us currently working on Gnash are doing it for free as volunteers like most free software projects.

The goal of the Gnash project seems to have been evolved from creating a free software Flash implementation to an open media platform. When and why did you decide this? And what will we see from this evolution in the near future?

Gnash isn't a media platform, it's part of one. We want to free-up the entire user space for flash based applications. So we've also been maintaining the Ming project, which we use as our flash compiler, and I've been lately working heavily on a media server that speaks ActionScript and RTMP and can support video conferencing and groupware applications. Over time, we plan to modify these tools from the creation side to the server to the client to predominately use patent free codecs. We'd also like to put a nice simple GUI on Ming, as now all our flash creation tools are command line oriented.

Adobe released the Linux version of Flash 10 at the same time as the Windows and Mac OS X versions. Do you think this means Adobe will care more about multiple platforms in the future?

I think Adobe has to, as we don't live in a world were everyone runs Windows on Intel architectures, even if certain big companies would prefer things that way.

Your main reason for starting Gnash was to create a free Flash solution for embedded and CE devices. Now that Adobe announced to release a full Flash 10 player for ARMv6 and ARMv7 processors, will this make Gnash less important?

Not really, what is important is that we have free software that enables us to access existing content in a proprietary format. Without Gnash, many of us would not be able to access YouTube, for example, from the platform of our choice. In addition, Gnash also runs on more embedded processors than the ARM, including several MIPS variants and PowerPC. (both 64 and 32 bit, big or little endian)

You have been working on free software for more than 20 years. If you look back at the evolution of free software in those two decades, what do you consider the biggest difference?

The biggest difference is that free software is much more accepted these days as good business sense, and not just a bunch of crazy people. A long time ago if you worked on free software, people thought you were a homeless bum. These days, you're just as likely to discover all sorts of people run free software for all sorts of tasks, and it's nice to see we've had a positive impact on the world over the last 20 years.

Creative Commons License
This interview is licensed under a Creative Commons Attribution 2.0 Belgium License.