H.264 vs. Theora — Fightin' Words About Patentability
An anonymous reader writes "Thom Holwerda from OS News has penned a rebuttal to claims from Daring Fireball's John Gruber that Theora is a greater patent risk than H.264. Holwerda writes, 'And so the H264/Theora debate concerning HTML5 video continues. The most recent entry into the discussion comes from John Gruber, who argues that Theora is more in danger of patent litigation than H264. He's wrong, and here's why.'"
So before someone starts the whole "which codec is better" flamewar again: someone at xiph thinks theora is better, ars thinks h264 is better, and this guy has a do it yourself kit in the form of a shell script.
Have fun arguing, as the past few articles have been quite fruitful in that area. Sadly few have realized (despite it being the main focus of most of those articles, but hey, who reads those) that quality will not be the merit to win this battle.
I love Free Software. I really do. I normally piss-off people with my fairly hard-line GNU/RMS attitude towards software. In most cases, I will drop features so I can run the Free version of something, and all of my code is GPL3.
But in this case, the so-called Free solution is the wrong choice to make. H.264 has won, and it won years ago. Now, an argument can be made that making a stand is important. But in this case, there is a pragmatic and strategic reason not to: taking a moral stand with Theora will damage other things, namely HTML5 and potentially Firefox itself.
PNG won out in the end over GIF, mostly, because it had better features. But what enabled that win was that they could both be used at the same time. If early Mozilla branches simply removed GIF support, the browser would have been dead in the water. Nobody would use it, because the images people already have were in GIF format. Only because both formats were supported could Mozilla be even considered by most people.
Today, people have data in H.264 format. A lot of data. A long list of hardware devices are made that support it directly. This data is not going to vanish, and people will want to play it. Firefox can choose to support that, or they can choose to become less relevant over time. Chrome is getting surprisingly strong uptake, and IE (ack) is getting much less offensive as time goes on. (aside: this competition is pretty awesome - browsers were starting to stagnate for a few years, and the rush for new features has been revived)
Playing people's data and being compatible with most modern and future hardware is the pragmatic reason to support H.264; the strategic reason is that the moral stand is not about video codecs! It's about removing Flash and related proprietary solutions. Playing the SAME video stream (a .mp4 in H.264 format) in flash or the <video> tag is neutral as far as codecs go, but it opens up the idea of a Free player.
The battle over codes needs to be left for another day.
As for how to actually implement it, Mozilla et al needs to take a cue from how distros handle MP3 and other patented codecs - foreign "non-free" repositories. The details on how you do that are highly flexible. Mozilla seems to like over-engineering things, so I'm sure they can come up with a Clever Codec Plugin Scheme to automate this, as long as the actual codec is 1) a separate project, and 2) developed outside the org.
Please - I love firefox, and this video issue is the one issue that could break them in the long-run. People like their YouTube.
Ce n'est pas une signature automatique.
I'm sorry, but I just plain don't see it that way. It is simply substituting one proprietary format with another. In fact, using the "technically better is better, period" argument of the poster above you, because Flash includes more features than simple video, we should be striving against having a video tag and just continue using Flash.
The GIF argument just isn't applicable. When everyone standardized on GIF, there really wasn't a viable alternative that worked nearly as well. There is a viable alternative to H.264. Also, keep in mind that when GIF became a de facto standard, the legal environment surrounding patents was much different. It was a time when there was question over whether a compression algorithm could even be patented, and the chance that anyone would actually sue over it was virtually nil. Now, the sue 'em all strategy is actually a lucrative business model.
Come to think of it, didn't we go through many of these same arguments around 10 years after GIF became the de facto standard? Wasn't the questionability of the patent-encumbering of it a primary driver behind the development of the free PNG format? Didn't it take around like two friggin' decades for PNG to be as widely supported because we didn't really know better in making GIF the de facto format?
Don't you agree it's pretty damned stupid to repeat that exact mistake yet again under the whole "fool me once, fool me twice" tenet?
You keep on bring this up. The answer is, and always will be, because software is math. Under US patent law math is not supposed to be patentable.
You might not agree with this, but that is in fact why most of us argue that software should not be patentable. I suspect you confuse comprehension with agreement.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
Why on Earth does HTML5 need to even specify the codec? I mean the tag doesn't specify an image format, why should not just have a src= attribute and any video supported by the system will play in it. That way it'd be the same as the change from GIF to PNG all those years ago, where those who want to use GIF could, and those who needed / wanted the free option (which was also superior) could use it without killing support for the other.
I don't see why this is an either / or issue.
I hate printers.
Nope it's dishonest. The same thing applies to software and hardware patents. There's no distinction in that explanation that cannot be applied to mechanical inventions. You've made the case for voiding all patents, not just software.
A far more coherent argument would include the rapid evolution of software, with examples such as GIF. Of course GIF is a special case which allowed a better candidate, PNG, to become more common (with a side journey into IE's market dominance holding back PNG acceptance while IE's PNG support sucked). So GIF encouraged invention, the "legitimate purpose" of patents. So a good argument is difficult to make.
Very simply, math is abstract and remains free. The formula to calculate mortgage interest, or the location of a thrown object given the initial vector, gravity, atmospheric pressure (density), and external force such as wind, are not patentable. You can discover them and write papers and be influential in the field, but never patent it.
PKZIP had a patented compression method. Zlib did the same thing, just using a different method, and created compatible files. MP3 encoders bypassed Fraunhofer patents. Maybe the output wasn't byte-for-byte the same, nor the compression levels equal, but there is a serious hole in the argument for software patents when you can just do the same thing a different way and get around the patent.
The answer to Microsoft's Linux patent FUD is: Show us the patent, we'll work around it. The only place that fails is specific implementations like H.264 or FAT LFN or MPEG or SMB which are multi-platform. You can't program around a patented file format. Did you know that reverse engineering is valid for compatibility purposes? Why would that exist if not for a purpose? Then when you successfully reverse engineer something for compatibility, you can't use it because of patents. Why even have that exception if patents make it irrelevant?
That's my main argument these days - if I can break the DMCA for interoperability, I can ignore patents for the same reason.
The perfect mouse trap is invented, or the perfect lawn mower. I can choose to buy the patented solution, or go with a competitor. I buy in, paying extra for the patented hardware, and break a part. Is it allowed to fabricate my own parts to replace a broken one? Not if it violates the patent. So why can I reverse engineer for software interoperability, but I can't for hardware? Law may say one thing, here's my argument.
Hardware which is validly patentable does not have an interoperability requirement. Your saw does not have to work with other saws, so the parts may be patented. A company like Black and Decker could patent a battery which powers their tools, and they would own interoperability among products but I'm free to choose a competitor or build my own, which need no interoperability.
Software patents are increasingly used to protect a desirable object, so that content creators or consumers or both have to pay to create and/or access the content. Here's a new video codec, use it for a while while we hammer out the standards, then I pull the trigger and require payments. If you are the sole distributor of content and content will be consumed on your device (such as Pez and the Pez dispenser), patent away. But a method of packing up video to be shared with your devices, other companies, competitors and those in unrelated fields - interoperability is a requirement, and patents simply don't make sense.
I have a mathematical algorithm which uses psychoacoustic modeling to reduce the audio data which must be encoded, resulting in smaller files. Brilliant idea, which is unpatentable by itself. The algorithm is unpatentable by itself. I can develop a separate model to accomplish the same thing, better, using the exact same algorithm (with a different model underneath). Psychoacoustics happens to be a fundamental part of the universe, which should be unpatentable like (natural) DNA is, or a description of gravity.
So I u