Subject: Re: [rtcweb] Proposal for H.263 baseline codec

From: "Kevin P. Fleming" <[email-masked]>
Date: Fri, 20 Apr 2012 15:24:51 -0500

On 03/29/2012 09:53 AM, Stephan Wenger wrote:

> The other issue, though (the fact that the license grant extends only to
> the VP8 implementation as provided by google, and does not extent to
> derivative works such as hardware implementations) should be moderately
> alarming even for an open source person.  With respect to this clause, I
<snip>

This is concerning, even for us open source software distributors. In 
fact, a similar situation existed some time ago with iLBC; the license 
that GIPS offered covered only the code as distributed as part of the 
RFC (although the language stating this was quite poorly constructed), 
and that code had (and still has) fundamental issues (it has at least 
two places where it invokes 'undefined behavior' according to the C 
standard). When we fixed these problems in our distribution, and then I 
re-read the license, I realized that the license did not allow us to 
distribute this modified version. We later managed to get explicit 
permission from Google to distribute a modified version, as they have 
changed the license to no longer have this restriction.

The WebM patent license has much of the same problem, though: it only 
applies to distributions of the code made by Google, without changes (no 
derivative works). At least, this is my reading of it, being an engineer 
married to a lawyer who handles such things, but not a lawyer myself :-)

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
Jabber: [email-masked] | SIP: [email-masked] | Skype: kpfleming
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at www.digium.com & www.asterisk.org

---

From: Basil Mohamed Gohar <[email-masked]>
Date: Fri, 20 Apr 2012 16:28:12 -0400

On 04/20/2012 04:24 PM, Kevin P. Fleming wrote:
> standard). When we fixed these problems in our distribution, and then
> I re-read the license, I realized that the license did not allow us to
> applies to distributions of the code made by Google, without changes
> (no derivative works). At least, this is my reading of it, being an
> engineer married to a lawyer who handles such things, but not a lawyer
> myself :-)
>
The answer that I have seen mentioned is simply that Google cannot know
what patents someone is infringing on if they extend or modify the code
or make an independent implementation.  One thing that I do know is a
completely independent implementation is being done by some of the
developers of x264 (and naming their project xvp8 as a result), and this
is happening with the implicit blessing of Google, because development
is being tracked in the #vp8 channel on FreeNode.

So, Google is fine with this kind of development happening.  However,
having explicit license for this kind of behavior would be much better,
and is sorely needed, considering all the other challenges facing VP8
adoption.

-- 
Libre Video
http://librevideo.org

---

From: Harald Alvestrand <[email-masked]>
Date: Fri, 20 Apr 2012 23:05:52 +0200

> engineer married to a lawyer who handles such things, but not a lawyer 
This was already addressed by Serge' mail of April 3. See also the FAQ:

http://www.webmproject.org/about/faq/#does-the-vp8-patent-grant-also-extend-to-hardware-implementations

If this isn't clear enough, please explain why it is not, so that we can 
make it even clearer.

---

From: Gregory Maxwell <[email-masked]>
Date: Fri, 20 Apr 2012 14:19:11 -0700

> RFC (although the language stating this was quite poorly constructed),

Stop. All of you are confused.

Maybe I can help—

There are _two_  VP8 patent license grants:

One for the specification: http://www.webmproject.org/license/bitstream/
One for the software: http://www.webmproject.org/license/additional/

These grants are subtly different in the scope of what they cover.

There are important licensing drafting reasons for a construction
which distinguishes "an implementation" and "any implementation".
In particular, the license drafter writing this kind of a royalty free
license has a tricky time making sure that the permission is broad
enough to include all the correct coverage,  but not so over-broad that
a malicious implementer could (e.g.) add a search engine to their VP8
encoder and claim that the VP8 license entitles them to search patents.

So, the drafter says something like— "those patent claims [...] that
are necessarily infringed by implementation of this specification",
which achieves the desired limited scope— and that is _all_ you get
with the MPEG-LA pool patent licenses. This is what the Google bitstream
spec license provides.

But, if we're to be serious and honest about making a royalty free format
and implementation that permission isn't quite sufficient: The reference
implementation might practice some VP8 related techniques which are not
"necessarily infringed"— they're helpful performance enhancements,
they could simply be one option out of many ways of doing the same thing,
or could just be something that was incidentally included (or even a
malicious patent trap snake in the grass)— and so it's important that
everything in the reference software also be licensed— even if its not
"necessarily infringed" by the specification.   But since it's not a
goal to also license unrelated things that a downstream user may cram in
(e.g. a search engine), that license must be limited in scope to things
which are actually in the reference implementation: "This grant does not
include claims that would be infringed only as a consequence of further
modification of this implementation." (this language is actually almost
identical to the language for this purpose in the GPL, FWIW)

So, in summary:

You are licensed, via the bitstream license, for anything Google controls
which is necessary to implement the specification— in hardware,
software, home grown, or reference implementations.  This is pretty
much as strong a grant as you can find anyone offering for any other
format specification.

You are also licensed, via the additional rights license, for any
use of the VP8 reference implementation including modified versions,
limited to the extent that the modifications don't expand the scope of
the coverage. (Exactly as the GPL explicit patent grant does)

This has already been clarified by Google on this list:
"Google confirms that the VP8 patent grant applies to both
third-party hardware and software implementations of VP8."
http://www.ietf.org/mail-archive/web/rtcweb/current/msg04006.html

I admit that the fact that there are two similar but distinct licenses
is a little confusing, but I don't understand why we have to go over
it again and again on this list.  I would think that the prior Google
comment would have been sufficiently definitive.

---

From: "Kevin P. Fleming" <[email-masked]>
Date: Fri, 20 Apr 2012 16:50:39 -0500

> comment would have been sufficiently definitive.

Well, I apologize, somehow I missed that while catching up on this list. 
Your explanation certainly covers my concerns; the patent grant allows 
us to distribute modified versions, as long as they don't infringe on 
any patents that aren't necessarily infringed by the reference 
implementation. Thanks for the clue-bat :-)

---

From: "David Benham (dbenham)" <[email-masked]>
Date: Wed, 25 Apr 2012 17:32:15 -0700

Great summary & clarification, Gregory.

Serge
When one receives/signs the MPEG-LA license for H264 pool, all of the
patents (~8 pages worth) are listed so that the licensee knows what they
are covered for.   

Wasn't able to find a list of patents currently licensable/owned by
Google that are included in the royalty free VP8 bitstream spec or
implementation license.  With that info, presumably one's experts could
make a risk assessment (yes, easier said than done) as to what might
exist but *not* be covered by the VP8 license.   Has Google published
the list of patents minimally covered by your VP8 licenses?
Independently searching  through ON2 patents awarded/filed might perhaps
come close, but a definitive list from Google would be much more
reliable.

> -----Original Message-----
> From: Gregory Maxwell [mailto:[email-masked]]
> Sent: Friday, April 20, 2012 2:19 PM
> To: EXT - [email-masked]; [email-masked]
> Subject: Re: [rtcweb] Proposal for H.263 baseline codec
> 
> Maybe I can help-
> One for the specification:
http://www.webmproject.org/license/bitstream/
> So, the drafter says something like- "those patent claims [...] that
> which achieves the desired limited scope- and that is _all_ you get
> "necessarily infringed"- they're helpful performance enhancements,
> malicious patent trap snake in the grass)- and so it's important that
> everything in the reference software also be licensed- even if its not
> which is necessary to implement the specification- in hardware,