[asterisk-dev] Opus and VP8

On 05/25/2013 05:19 AM, Hans Witvliet wrote: > -----Original Message----- > From: Olle E. Johansson <oej at edvina.net> > Reply-to: Asterisk Developers Mailing List > <asterisk-dev at lists.digium.com> > To: Asterisk Developers Mailing List <asterisk-dev at lists.digium.com> > Cc: Olle E. Johansson <oej at edvina.net> > Subject: Re: [asterisk-dev] Opus and VP8 > Date: Fri, 24 May 2013 13:26:29 +0200 > > > 24 maj 2013 kl. 12:51 skrev Lorenzo Miniero <lminiero at gmail.com>: > >> PS: a few months ago I also talked, on the #asterisk-dev IRC, about >> the support I added for both Opus (transcoding) and VP8 (passthrough) >> in Asterisk, codecs that are currently the default ones used in >> WebRTC. I checked whether there was an interest in a patch for them, >> but at the time there were some concerns about the copyright status of >> Opus that prevented it to be considered for integration in Asterisk. >> Has this situation changed in the meanwhile? I can open a separate >> thread for this if needed. >> > Lorenzo, > > > Good seeing you here! > > > Due to legal issues I don't think Digium can accept a contribution of > Opus and VP8 in the svn repositories today. > > > I would encourage you, if you have these patches, to publish them on a > web site like github or sourceforge so w all can help you test it. I > really would like for these to be available for the community in an easy > form. > <snip> Hello! I'm going to comment here specifically to clarify Digium's position on Opus and VP8 as codecs and their inclusion in Asterisk. To start, pass through support in the form of a format module is fine for both Opus and VP8. It involves no transcoding and hence cannot violate any claims against their technology. We'd be happy to see format modules in Asterisk. VP8 is the easier of the two to clarify. A codec for VP8 is probably not appropriate, regardless of any patent or IPR issues. Asterisk doesn't perform video transcoding. Video transcoding is an intensive operation that performs poorly without hardware augmentation. We've always taken the stance that software video transcoding in Asterisk would cause more problems then it would solve; as such, VP8 as a codec is best left outside of Asterisk. The real question is: what about Opus? Before that, a word about the American patent system. The American patent system has devolved into what can only be charitably described as mafia-inspired extortion. Non-practicing entities (NPEs) are groups of lawyers who have not and never will produce, market, or sell a product. The only actions they perform are filing infringement claims against businesses and individuals, regardless of whether or not that business or individual actually violates a patent, with the sole purpose of extracting as much money out of said business or individual as they can. The cost of fighting these claims is enormous. The cost of losing a fight against even one of these claims is crippling. The NPEs know this. Technical merit, logic, rationale, or any kind of morality has no applicability here: these folks exist solely to find new and more creative ways to make claims against you and take your money. They'd be happy to put you out of business in the process. Back to Opus. There are several IPRs filed against Opus with the unfortunate licensing declaration of "Reasonable and Non-Discriminatory License to All Implementers with Possible Royalty/Fee." These IPRs have not been clarified, and the entities making these claims have not moved one way or the other regarding their claims. If any one of these entities decides to play the NPE game (see: Alcatel-Lucent), they could crush Digium like a bug. They could go after every user, integrator, and developer of Asterisk as well. It has the potential of spelling the end of the Asterisk project. The risk of this unfortunately does not justify the inclusion of Opus as a codec in Asterisk. Question: I am a user, integrator, and developer of Asterisk that does not work for Digium. Since Digium holds the copyright of Asterisk, how am I at risk? Answer: I have no idea. I do know that logic and reasoning does not apply where patents are concerned. Caveat emptor. Question: Asterisk is an open source project. Doesn't that protect me somehow? Answer: No. The GPLv2 specifically states "that any patent must be licensed for everyone's free use or not licensed at all". There are additional sections that further explain how patents affect software licensed under GPLv2; suffice to say that the sections exist to protect the freedom of the software; not to protect you from patent trolls. Question: If all of this is true, why does Google, Mozilla, Xiph.org, and others implement Opus? Answer: They either have an army of lawyers, are willing to roll the dice on their future, or are ignorant of how the patent system works. Question: This is messed up. If all of this is true, how can we ever innovate in areas where patents have ever been filed? Answer: You can't. The system is broken. Question: What can I do about it? Answer: Contact your government officials. Complain. The only way this situation will get fixed is if the laws are changed. Note that there is at least one bill being brought up in the U.S. Senate to address these exact deficiencies in the American patent system (and possibly more in the House); if you are a U.S. citizen I highly recommend you contact your elected Senators/Representatives and express your opinion(s). I hope this helps everyone understand why we've made our decision. We all hope that this situation changes in the near future, but until then, we'll have to limit our support of these codecs in Asterisk to pass-through only. Thanks Matt -- Matthew Jordan Digium, Inc. | Engineering Manager 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org