2012-03-24

RĂ©sistance

When I read this discussion on Mozilla Dev thinking about supporting H.264 I felt like I had to say something. Not just as the creator of Matroska (on which WebM is based) but also as a general net citizen.

Ever since I started working on video technology I realized how vast and encompassing the subject is. In this particular case it's about letting patents dominate a fundamental web technology. It's about who is controlling the technological stack when you go on the Internet (aka market shares). It's about a technical decision that is actually changing the whole principle of the web: the technologies it uses have to be Royalty Free, be it on the user side, on the server side or on the creation tools side.

So far Mozilla was opposed to using H.264, not for technological reasons but on the principle that it didn't fit the Royalty Free web. They were also saying it was “not good for free softwares”, that if used “you [couldn't] have a completely free software Web client stack”, that would be “honoring the letter while violating the spirit” or that it “is not a game [they] are interested in playing” and eventually “it pushes the software freedom issues from the browser (where [they] have leverage to possibly change the codec situation) to the platform (where there is no such leverage)”. None of what was said then has changed. So what has changed must be Mozilla.

When BootToGecko was announced my first reaction was whether they would support H.264 when it's hardcoded in the phone chipset. Because answering this question has a lot of repercussions. The amount of reaction to their answer is proof that the issue is deep. In fact it goes further than just H.264 which is hardcoded and paid for on the hardware (I suppose a lawyer should double check on that to be sure). It also means supporting the MP4 file format, which is also patented but not hardcoded in chipsets, unless they plan to only support H.264 inside Matroska (they already have the WebM code to do it easily), but I doubt that. At some point they will likely support MPEG DASH which made the W3C uneasy because it's not yet a Royalty Free technology. And there may be other patented technologies in the future.

The W3C will never endorse the use of the H.264 codec, it doesn't fit its rules. Vendors using it for the <video> tag are just using a backdoor to put patented technologies on the web, where it should have never been in the first place. Now the message is sent loud and clear, there are no reason big companies shouldn't try to impose their technological dominance on the web (Skype and Facebook come to mind). Everyone will surrender in the end. The bigger you are, the biggest momentum you have, the more chance you have to succeed. And patents are just as virus like as the GPL license: once you touch them you can't escape from them...

Maybe Mozilla is just acknowledging the fact that the web is going away from its core roots and what made it such a global success. But it still seems shortsighted to me. The timing of their announcement comes just weeks/months before new devices with VP8 hardware decoding are widely released. If they wanted to emphasis their continued support/favor for WebM they could at least have first released B2G on a device that has VP8 capabilities. Instead the message sent to those wondering if they should support WebM is: don't bother anymore, in the end we'll have H.264 everywhere. Such a decision to kill WebM should have been taken collectively. Especially since it's just to satisfy the need of a project that currently has 0 users and will have to compete against Apple, Google and Microsoft on the smartphone/tablet market. Billion dollar companies that heavily depend on this market for their future. Whereas Mozilla's future depends on product placement from the same companies. But that may change if I read this correctly: “We will not require anyone to pay for Firefox. We will not burden our downstream source redistributors with royalty fees.“ Payment not required, but possible ?

To be fair, Google deserves a big share of the blame as well. Even though they provided VP8 to WebM, they didn't put all their weight in the battle. They have done too little too late. And there is no sign of that changing. They even failed to deliver on their promise of abandoning H.264 in Chrome to favor the technology they built and is perfect for the web. If there ever was a strategy for WebM I have never heard of it.

Good reads on the subject: