Mozilla: Stick to Your Ideals, Shun H264

“Mozilla should license H264”

We all know the situation when it comes to HTML5 video. We have this wonderful solution – a tag for video as simple as the image one – that enables everyone to easily embed video content into their web site, without having to rely on proprietary Flash technology. There’s a problem, however.

The problem is that there’s no standard codec for HTML5. The main contestants are H264 and Theora, and so far, it seems like on the browser side of things, Theora is winning out; with a Theora video you can cover Firefox, Chrome, and Opera users – whereas with H264 you miss out on Firefox and Opera users. Since Firefox is by far the largest HTML5 browser, encoding your video in H264 alone is shooting yourself in the foot.

There’s a clear reason why Mozilla is taking a stand against H264: the codec is heavily patent encumbered. This means that in parts of the world, you may not work with the codec without paying royalties to MPEG-LA which oversees the patents for H264 (among other things). And yes, the MPEG-LA has clearly stated that end-users are vulnerable to patent litigation. At the end of January this year, MPEG-LA made that quite clear.

“I would also like to mention that while our Licenses are not concluded by End Users, anyone in the product chain has liability if an end product is unlicensed,” explains Allen Harkness, MPEG-LA’s Director of Global Licensing, “Therefore, a royalty paid for an end product by the end product supplier would render the product licensed in the hands of the End User, but where a royalty has not been paid, such a product remains unlicensed and any downstream users/distributors would have liability.”

Since H264 is clearly incompatible with the ideals of Free and open source software, Mozilla has decided to take a stance against it. Opera’s refusal to license H264 hasn’t got anything to do with ideals, obviously (Opera being proprietary and all), but the Norwegian browser makers believes the license is simply too expensive.

Apple has long been pushing H264 in all of its software and devices, and for Google, paying for the H264 license is peanuts. Microsoft was the last big player, and totally as everyone expected, Microsoft sticks to H264 simply because the license and codec are already integrated into Windows. It helps that H264-specific chips are available on just about any mobile device, whereas Theora (or other possible patent-free contestants, like Dirac) does not have this luxury.

As a result, web developers and other pundits are starting to argue that Mozilla should fall in line with everybody else and license H264, or else they’ll risk killing HTML5 video. “I have reason to believe that Mozilla’s decision not to support H.264 encoded video via the HTML5 video tag due to the ‘patent encumbrance’ of the codec, is a wrong decision and one that, unless they change their mind, will kill any hope of ushering a new era of online video distribution that exists without plugins,” writes Brian Crescimanno, a web developer who’s been in this business since 1997.

He argues that by sticking to its guns, Mozilla will force people to continue to use Flash for video, since no one is going to encode video twice just to support Firefox and Opera; they’ll just offer Firefox/Opera users the H264 video through Flash instead of re-encoding the video in Theora. He also points to Mozilla supporting the proprietary .gif format back in the day.

“I disagree that ‘being idealists’ is your reason for being,” Crescimanno writes, “I believe that your first responsibility as a browser vendor is to make the web a better place; it’s certainly what you’ve strived to do since your inception. But honestly, from the view of a realist, the only thing you’re going to accomplish is making the HTML5 video tag unusable.”

Crescimanno’s post was picked up by Daring Fireball’s John Gruber, who sided with him – nothing surprising there. “So, even those using the latest version of Firefox will be treated like they’re using a legacy browser,” Gruber argues, “Mozilla’s intransigence in the name of ‘openness’ will result in Firefox users being served video using the closed Flash Player plugin, and behind the scenes the video is likely to be encoded using H.264 anyway.”

It seems that both Gruber and Crescimanno argue that Mozilla should be pragmatic in this case, drop their ideals, and implement H264.

152 Comments

  1. 2010-03-19 2:27 pm
    • 2010-03-19 2:42 pm
      • 2010-03-19 3:47 pm
        • 2010-03-19 6:28 pm
          • 2010-03-19 7:10 pm
          • 2010-03-19 7:28 pm
          • 2010-03-20 6:21 pm
          • 2010-03-20 2:29 pm
          • 2010-03-21 9:13 am
    • 2010-03-19 2:42 pm
      • 2010-03-19 5:40 pm
      • 2010-03-20 2:33 pm
    • 2010-03-19 2:46 pm
      • 2010-03-19 2:51 pm
        • 2010-03-19 2:55 pm
          • 2010-03-19 3:15 pm
          • 2010-03-19 4:40 pm
          • 2010-03-20 8:09 am
          • 2010-03-20 9:32 am
          • 2010-03-20 6:28 pm
          • 2010-03-20 9:35 am
        • 2010-03-20 6:25 pm
      • 2010-03-19 2:54 pm
      • 2010-03-19 3:52 pm
        • 2010-03-19 7:43 pm
    • 2010-03-19 4:07 pm
      • 2010-03-20 12:02 am
    • 2010-03-21 7:07 pm
  2. 2010-03-19 2:37 pm
    • 2010-03-19 2:47 pm
    • 2010-03-19 2:51 pm
      • 2010-03-19 2:54 pm
        • 2010-03-19 2:57 pm
          • 2010-03-19 3:35 pm
          • 2010-03-20 10:27 am
          • 2010-03-20 2:19 pm
      • 2010-03-19 3:52 pm
      • 2010-03-19 5:16 pm
  3. 2010-03-19 2:41 pm
  4. 2010-03-19 3:21 pm
    • 2010-03-19 4:00 pm
      • 2010-03-20 7:59 am
        • 2010-03-20 11:24 am
          • 2010-03-20 1:10 pm
          • 2010-03-20 3:03 pm
          • 2010-03-21 6:25 pm
  5. 2010-03-19 3:36 pm
    • 2010-03-19 4:44 pm
      • 2010-03-21 6:47 pm
  6. 2010-03-19 3:44 pm
  7. 2010-03-19 3:54 pm
    • 2010-03-19 5:54 pm
      • 2010-03-19 6:27 pm
  8. 2010-03-19 3:56 pm
  9. 2010-03-19 3:56 pm
    • 2010-03-20 12:13 am
  10. 2010-03-19 5:01 pm
    • 2010-03-19 5:04 pm
  11. 2010-03-19 5:08 pm
  12. 2010-03-19 5:28 pm
    • 2010-03-19 5:43 pm
  13. 2010-03-19 5:43 pm
  14. 2010-03-19 5:46 pm
    • 2010-03-19 6:08 pm
      • 2010-03-20 6:35 pm
    • 2010-03-20 12:42 am
      • 2010-03-20 9:51 am
    • 2010-03-21 8:06 pm
  15. 2010-03-19 5:57 pm
    • 2010-03-19 6:02 pm
      • 2010-03-19 6:17 pm
        • 2010-03-19 6:25 pm
          • 2010-03-19 6:29 pm
          • 2010-03-22 11:41 pm
          • 2010-03-19 9:33 pm
          • 2010-03-20 1:37 am
        • 2010-03-19 8:51 pm
          • 2010-03-20 3:26 pm
          • 2010-03-21 10:44 pm
  16. 2010-03-19 6:04 pm
    • 2010-03-19 6:06 pm
      • 2010-03-19 8:16 pm
        • 2010-03-19 8:51 pm
          • 2010-03-20 2:37 pm
  17. 2010-03-19 7:13 pm
    • 2010-03-19 8:35 pm
      • 2010-03-19 11:49 pm
      • 2010-03-21 8:03 pm
  18. 2010-03-19 7:36 pm
    • 2010-03-19 11:22 pm
    • 2010-03-21 8:40 pm
  19. 2010-03-19 8:03 pm
    • 2010-03-19 9:00 pm
      • 2010-03-19 9:09 pm
  20. 2010-03-19 8:50 pm
  21. 2010-03-19 9:07 pm
  22. 2010-03-19 9:47 pm
    • 2010-03-21 6:06 pm
  23. 2010-03-19 10:06 pm
  24. 2010-03-19 10:56 pm
  25. 2010-03-20 2:00 am
    • 2010-03-20 5:20 am
      • 2010-03-20 9:44 am
      • 2010-03-20 2:47 pm
  26. 2010-03-20 2:06 am
    • 2010-03-20 10:05 am
  27. 2010-03-20 7:03 am
  28. 2010-03-20 7:39 am
  29. 2010-03-20 12:38 pm
    • 2010-03-20 1:13 pm
      • 2010-03-21 4:36 am
  30. 2010-03-20 2:54 pm
    • 2010-03-20 6:42 pm
  31. 2010-03-21 12:05 pm
    • 2010-03-21 5:37 pm
  32. 2010-03-21 11:20 pm
    • 2010-03-22 1:20 am
      • 2010-03-22 7:45 am
        • 2010-03-22 8:34 am
          • 2010-03-22 10:29 am
          • 2010-03-22 4:30 pm
          • 2010-03-23 12:17 am
          • 2010-03-22 4:15 pm
          • 2010-03-22 11:47 pm
        • 2010-03-22 10:48 am
          • 2010-03-23 12:58 am
  33. 2010-03-22 8:30 pm
    • 2010-03-22 9:57 pm
      • 2010-03-23 1:01 am
        • 2010-03-23 1:52 am
  34. 2010-03-23 4:08 am
    • 2010-03-23 4:12 am
      • 2010-03-23 6:00 am
        • 2010-03-23 9:12 am
          • 2010-03-23 9:41 am
          • 2010-03-23 10:12 am
          • 2010-03-23 10:18 am
          • 2010-03-23 10:22 am
          • 2010-03-23 11:57 am
          • 2010-03-23 12:26 pm
          • 2010-03-23 4:13 pm
          • 2010-03-23 10:33 pm
          • 2010-03-24 12:59 am
          • 2010-03-24 2:06 am
          • 2010-03-24 10:03 am
          • 2010-03-24 11:00 am
          • 2010-03-24 1:37 pm
          • 2010-03-24 10:18 pm
          • 2010-03-23 1:03 pm
          • 2010-03-23 4:23 pm
          • 2010-03-23 8:06 pm
          • 2010-03-24 6:36 am