Tom 'spot' Callaway Profile picture
Sep 30, 2022 18 tweets 3 min read Read on X
Hey folks. Lotta buzz going around about Fedora pulling support out for some video encode/decode functionality in Mesa. Since I used to be responsible for Legal things for Fedora (but I am no longer), I thought I could provide some useful details to help people understand.
DISCLAIMER HAPPY FUN TIME:

I am not a lawyer. This is not legal advice. I am not speaking on behalf of my previous employer (Red Hat) or my current employer (AWS). I am not speaking on behalf of Fedora. I have no insider information on this situation.
Some (most) of the common modern video formats are heavily patent encumbered. Specifically, H264 and H265. A group called the MPEG Consortium exists specifically to inform everyone of this and to collect royalties for the portfolio of patents around those formats.
This is important because if you can prove in court that someone "willfully" infringed a patent, it can (and often does) increase the damages (2x or 3x). The bar for "willful" is complicated, but a big part of it involves knowing that the patents exist.
Also, patent litigation cases are super expensive. The internet says somewhere between 2.3M and 4M on average. That's just to try the case. Damages average around 8.9M, but can (and do) get much bigger than that. In 2021, Intel was hit with 2.18B damages (Intel Vs VLSI).
AAAAND... damages are often calculated based on "lost profits". Which is really hard to calculate for open source, because the code is literally available to everyone, but it's easy to see how that could be a really big number.
I want to interject here because I know some of you will immediately chime in with the "Software shouldn't be patentable" and/or "There are no software patents in my jurisdiction". In the US and Europe, software patents are real, even if we think they shouldn't be.
Mesa was (is) implementing the software parts of H264 and H265 encoding/decoding as part of the Video Acceleration API (VAAPI). This interface tells your GPU (usually, sometimes it is other hardware) to do the hard work of encoding/decoding, but it isn't a black box.
It is a combination of available hardware and software which does the work, and thus, the implementation as delivered potentially infringes.
NVIDIA for example, handles the VAAPI in their proprietary driver bits, so they are the distributor for both software and hardware for this use case. Other GPU vendors do not, and rely on Mesa as provided by the Linux distro.
A few FAQ items:
Q. Don't I get a patent license when I buy the GPU?
A. Probably not. The GPU vendor is probably paying for one, but there is a very low chance it extends to their customers.
Q. Why doesn't Red Hat just buy a patent license?
A. Because the MPEG folks won't sell a "unlimited" patent license and Red Hat would have to put restrictions on how Fedora was distributed (and in what quantities) in order to do so. It would also be stupidly expensive.
Q. Why doesn't $OTHERDISTRO care?
A. They might be too small to sue (remember, expensive to take to court) and/or too small to get any meaningful damages as a result. I mean, Debian is just rolling in money, right? Or the parent company is based in a legal grey zone. *cough*
Q. Why doesn't Red Hat just put up a buildserver somewhere without patents and *hands waving wildly*?
A. Because that doesn't change where Red Hat is based, and courts do not have patience for intentional shenanigans, because nothing says I am willfully infringing more than that.
Q. But Fedora was doing this before? Why now?
A. Because once they realized it, they had to stop immediately, or... it would be willful. It makes a big difference if this gets to court.
Q. Aren't the H264 patents expired/about to expire?
A. Hard to be sure. I haven't done a patent review, but patent term calculation is really really messy. I suspect they have not. IMHO there's no way all H265 patents have expired. The MPEG Consortium is ... coy ... about this.
I have done this sort of audit in the past, it is a lengthy and difficult process. The MPEG Consortium has no motivation to help anyone do this work because they would like to collect license fees forever and ever (amen).
In conclusion: Yes this sucks. No, it wasn't done on purpose. Red Hat wants to continue to exist. We should support patent reform. Have a unicorn.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tom 'spot' Callaway

Tom 'spot' Callaway Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @spotfoss

Jan 19, 2021
Google has announced that it is cutting off access to the Sync and "other Google Exclusive" APIs from all builds except Google Chrome. This will make the Fedora Chromium build significantly less functional (along with every other distro packaged Chromium).
It is noteworthy that Google _gave_ the builders of distribution Chromium packages these access rights back in 2013 via API keys, specifically so that we could have open source builds of Chromium with (near) feature parity to Chrome.
The reasoning given for this change? Google does not want users to be able to "access their personal Chrome Sync data (such as bookmarks) ... with a non-Google, Chromium-based browser." They're not closing a security hole, they're just requiring that everyone use Chrome.
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(