What’s the Problem with Theora?
July 30, 2009 30 Comments
So what’s the problem with the Theora decoder? From what I can see, there is no problem. The story ranges from it’s not good enough to some unnamed “IP” problem that supposedly lurks down the proverbial dark alley. Theora serves the purpose of a good quality, open, general-purpose web video decoder that everyone can use today without taking licenses. Sure, there may be other codecs for different use cases, but for now we need at least one good, open, and unencumbered codec.
Two objections come up: one related to quality at given bit rates, the other related to unspecified IP encumbrances. As to the first, there are ample discussions on quality by folks far more qualified than myself. As to the second, I don’t see a problem and here’s why.
Does Theora comply with the W3C licensing policy? Yes. The licensing goals articulated by the W3C in Section 2 of the Patent Policy are to promote the widest adoption of Web standards that can be implemented on a Royalty-Free (RF) basis. Thus, to qualify to be a W3C standard for the HTML 5 video tag, any codec must comply with the W3C Royalty-Free (RF) Licensing Requirements. (At the risk of over-simplifying, a bunch of folks who know alot and have many valid opinions have to agree as well). The RF requirements provide in relevant part that “With respect to a Recommendation developed under this policy, a W3C Royalty-Free license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Recommendation…” The policy further enumerates ten conditions that define detailed terms of the license requirements.
In this case, we know that Theora was derived directly from the VP3 codec originally developed by On2. In 2001, On2 open-sourced the VP3 codec and gave xiph.org a license to further develop and redistribute VP3 as part of Ogg under a BSD license. The VP3 codec is what we now know as Theora. See FAQ on VP3 and Theora. It’s nearly identical to VP3, varying only in framing headers. At about the same time On2 open sourced VP3, On2 issued an express and unequivocal patent non-assertion statement related to VP3. The statement, shown below, can be found publicly in the VP3 libraries under libtheora 1.0:
“In addition to and irrespective of the copyright license associated with this software, On2 Technologies, Inc. makes the following statement regarding technology used in this software: On2 represents and warrants that it shall not assert any rights relating to infringement of On2’s registered patents, nor initiate any litigation asserting such rights, against any person who, or entity which utilizes the On2 VP3 Codec Software, including any use, distribution, and sale of said Software; which make changes, modifications, and improvements in said Software; and to use, distribute, and sell said changes as well as applications for other fields of use. This reference implementation is originally derived from the On2 VP3 Codec Software, and the Theora video format is essentially compatible with the VP3 video format, consisting of a backward-compatible superset. On2 represents and warrants that it shall not assert any rights relating to infringement of On2’s registered patents, nor initiate any litigation asserting such rights, against any person who, or entity which utilizes the On2 VP3 Codec Software, including any use, distribution, and sale of said Software; which make changes, modifications, and improvements in said Software; and to use, distribute, and sell said changes as well as applications for other fields of use.”
Thus, we have an affirmative non-assertion statement by On2 declaring the use of VP3 (Theora) free of any patents owned by On2. The statement is unconditioned and unqualified, unlike most actual licenses (meaning you can’t breach their non-assertion statement) and in substance it meets all of the W3C Royalty Free (RF) Licensing Requirements. The RF policy expressly allows the grant of a license to be “limited to implementations of the Recommendation and to what is required by the Recommendation.” Thus, it’s my interpretation the non-assertion statement applies to any and all On2 patents that cover the Theora reference implementation.
It seems clear that On2 intended that VP3 (implemented as Theora) would be available on an unencumbered basis for anyone to use. Perhaps On2 will further clarify or restate its intentions. Conversely, I don’t see a scenario where On2 could successfully assert a patent claim against anyone for implementing Theora (not to mention that it would contravene their good intentions).
Is Theora encumbered by patents? The process generally consists of looking at any patents held by the creator of the specification. We did that and found On2 relinquished any claims on the Theora implementation consistent with the W3C policy. The inquiry usually ends here.
Additional investigation further suggests that Theora is not encumbered. Theora has been around for a long time absent any claims as far we know. Undoubtedly, VP3 has also received significant due diligence from customers of On2. More importantly, VP3 was designed specifically to avoid any relevant patent thickets. For more on this point, see the video from a recent Mozilla brown-bag discussion featuring Dan Miller, a co-founder of On2, along with Davis Freeberg, a video codec enthusiast, where Dan talks about the genesis of Theora. We also know that several companies have distributed Theora, including Apple which at one time made VP3 available for download as a Quicktime component.
Some additional precepts also inform the resulting conclusion. First, no recommendation or standard is ever “patent proof.” At best, participants of the working group grant licenses, but that only covers participants. Similarly there are patent pools that grant licenses, but again, those only cover rights for the participants in the pool. So there’s always the possibility of a claim from those outside the standards group or patent pool. Note, this is not to say in any way, that there’s no value in such groups, but the perception that they operate as a guaranteed prophylactic is false.
Based on what we actually know, Theora looks good. It complies with the W3C patent policy and goals, and there haven’t been any patent claims that would indicate otherwise. I welcome any comments, or better yet, anyone that wants to shed some further light in that dark alley.