Notice that permission is only given for implementations that comply with the specification. (And if Skype ever infringes any of your patents, you can't sue them without losing the rights to Opus.)
Whether or not you agree with Skype's moral right to its patents, this is clearly a limitation of developers' freedom. Imagine if HTTP were covered by this kind of patent: anyone could implement a client or server, but developing a backward-incompatible extension like SPDY would be off-limits. If you were to take the license terms literally, even releasing a buggy implementation that doesn't precisely follow all of the requirements of the spec would make you liable.
> Notice that permission is only given for implementations that comply with the specification.
That's typical - otherwise, you could implement some almost arbitrary protocol but say it was this one (and use a small amount of it) and claim that you were shielded from Skype's patents. The patent license is just for this particular codec.
Of course there are issues with this, it's been debated a lot regarding the Java and C# licenses, which also have similar clauses for similar reasons. The motivation for them is reasonable, but the details can be tricky.
> (And if Skype ever infringes any of your patents, you can't sue them without losing the rights to Opus.)
Personally I think that's fine. If you want to engage in a full-on patent war, you should not benefit from a patent license like this.
> Whether or not you agree with Skype's moral right to its patents, this is clearly a limitation of developers' freedom. Imagine if HTTP were covered by this kind of patent: anyone could implement a client or server, but developing a backward-incompatible extension like SPDY would be off-limits. If you were to take the license terms literally, even releasing a buggy implementation that doesn't precisely follow all of the requirements of the spec would make you liable.
If a single bug makes you liable, obviously it is unfair, etc, but that's exactly where the details of the license come into play - I am not a lawyer, so I have no idea if the terms here are reasonable or not.
No, that's what standard bodies are for. No need for stupid patent licenses.
Besides, this is exactly why this isn't free.
Could I make a format based on Opus, but not conforming to the spec? Maybe because I had an idea for better algorithms in some parts? No. I cannot take the parts of Opus which fall under Skype/Microsofts patents and use them in derivatives. This means that both the implementation as well as the standard are free and open on paper only. In reality, I am denied freedom number 3 - the right to distribute modified implementations.
Take note that you could just solve this with a trademark on Opus (which probably already exists). Many large FLOSS projects do that. Firefox, for example - derivatives are not allowed to call themselves "Firefox" (which I think is one of the very few valid uses of trademarks).
If Skype/Microsoft would be actually interested in a free and open standard, they would have pledged to let go of these patents. I don't know if you can just say "this patent is now invalid", but if not, they could hand them over to the standard body, which could then assure that everybody is allowed to use these patents until they expire.
>Personally I think that's fine. If you want to engage in a full-on patent war, you should not benefit from a patent license like this.
I find it quite funny that people already implictly assume that if someone starts a patent infringement lawsuit, they are in for patent war. Please tell me again why we haven't got rid of patents yet?