Question regarding Kodi V18, DRM, and the GPL
#1
How does Kodi use proprietary DRM in a manner that does not run afoul of the GPL?  Doesn't the GPL pretty much forbid Kodi from loading proprietary libraries, or do you run a completely independent executable and "pipe" its output to the display?
Reply
#2
It depends on the platform. On Android DRM is provided by the OS itself, on other platforms we do it the same way as firefox and chromium, via the same libwidevine lib.
Reply
#3
For Libreelec at least, it's like downloading closed source drivers for graphics card in Linux. it is a 'blob' of code that sits in between the OS and Kodi, you agree to a separate EULA for that 'blob'. As you are agreeing to that bit of code only, it doesn't upset the GPL as it is shipped separately, and the OS and Kodi can run happily without it. It is only downloaded when you are trying to play DRM content.


If I am wrong in my description, please edit this please.
Server: Ubuntu Server 22TB HDD running SAMBA
Kodi: 4 Raspberry Pi 3 running Libreelec -  on the main PC - running Linux Mint
My Setup thread |
Reply
#4
A worthwhile additional point to clarify the others is that Kodi does not ship proprietary libraries or software. This is mainly a point for people, like myself, who aren't always clear on what the GPL actually allows and prohibits.

The linking rule means that you cannot actually or effectively create a proprietary piece of software that makes use of GPL software and then release that software as a new thing or a modification of an old thing. In other words, the GPL controls the production of software, not the end user's USE of that software (unless that user goes and produces his own version of the software, of course).  So if a person made GPL software designed to make use of other software out there in the world that was proprietary, but didn't ship any of that proprietary software, then the software he ships is perfectly fine, because it takes an end user to ultimately actually make use of that closed software. This is a pretty good thing, because it lets us run GPL software everywhere, like in Windows or on Macs or use closed drivers. For a similar example, we use Windows 10's proprietary video accelerator for decoding wherever possible. If it weren't designed that way, the GPL wouldn't be a copyright license, it'd be and End User License Agreement, which it is not.

(I say "effectively" a few times, because you also can't end run around the GPL. If you make two pieces of software, the GPLed one of which is useless without the other proprietary bit, then ship them both, there's definitely an argument to be made that you're trying to circumvent the GPL, though I gather the exact line on what isn't OK is somewhat blurry there.)

Anyway, for this reason, Kodi does not ship the libs necessary to make decryption work. Nor do we integrate them into the software. Instead, the end user has to actively install the library herself. She may use the Kodi UI to do so, but it's her actions, ultimately, that result in the library being available to Kodi to use.

With that said, there's an argument to be made that we don't necessarily need to take the big step of not shipping ourselves, because the GPL allows for bundling. So Kodi could theoretically ship a cd or zip file that includes both libwidevine and the Kodi executable, or just make the lib available on our site, and it's debatably possible that we wouldn't run afoul of the linking issue. The trouble is, it's definitely debatable at that point, so it's way easier to just not bother with that at all and leave it to the end user. see: https://en.wikipedia.org/wiki/GNU_Genera...L_programs

edit: I should probably add that this is only my understanding of the rule. Perhaps others have different understandings.
Reply

Logout Mark Read Team Forum Stats Members Help
Question regarding Kodi V18, DRM, and the GPL0