NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.2k stars 14.2k forks source link

Chromium uses Widevine despite having BSD-3 license #115275

Closed ptrcnull closed 6 months ago

ptrcnull commented 3 years ago

Describe the bug Nix installs a version of Chromium with Widevine on NixOS, despite not being enabled and goes through unfree license checks.

To Reproduce Steps to reproduce the behavior:

  1. Add pkgs.chromium to environment.systemPackages
  2. Rebuild system configuration
  3. Check chrome://components in Chromium

Expected behavior

Screenshots image image

Notify maintainers @primeos @thefloweringash @bendlas

Metadata

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
ptrcnull commented 3 years ago

Chromium downloads the binaries itself and stores them in $HOME/.config/chromium/WidevineCdm

$ ls -la $HOME/.config/chromium/WidevineCdm
total 16
drwx------  3 patrycja users 4096 Mar  6 18:25 .
drwx------ 29 patrycja users 4096 Mar  6 18:27 ..
drwx------  5 patrycja users 4096 Mar  6 18:25 4.10.1610.0
-rw-------  1 patrycja users   66 Mar  6 18:25 latest-component-updated-widevine-cdm

It looks like it's a known issue: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=%23960454

primeos commented 3 years ago

Chromium downloads the binaries itself and stores them in $HOME/.config/chromium/WidevineCdm

Oh, that's bad... :o Seems like Debian fixed this with a custom patch (https://salsa.debian.org/mimi89999/chromium/-/commit/d21192e70824befdfeed5a5145275139cd6c4ffa) but from your linked issue that doesn't seem really good either:


Brief update:

primeos commented 3 years ago

I've submitted this to upstream: https://bugs.chromium.org/p/chromium/issues/detail?id=1187154 Let's see what happens.

jbalme commented 3 years ago

I've submitted this to upstream: https://bugs.chromium.org/p/chromium/issues/detail?id=1187154 Let's see what happens.

If you set enable_widevine you need a license to distribute it. See https://source.chromium.org/chromium/chromium/src/+/master:third_party/widevine/LICENSE

Over to the encrypted media folks to comment, but this sounds like WAI.

Does Nix have a Widevine license?

If Nix does not, and Google is unwilling to change how Chromium and Widevine are licensed together, the best course of action IMO would be to disable it in Nix's binaries (ie. if enableWidevine is false, enable_widevine is unset. If enableWidevine is true, enable_widevine is set and license is changed to unfree.)

I understand that building Chromium is not something the average person can do on their toaster, but I don't think the group of people that need Widevine and are unwilling to use the official proprietary Chrome binaries is very large.

stale[bot] commented 3 years ago

I marked this as stale due to inactivity. → More info

emilylange commented 6 months ago

I am unable to reproduce this more than 3 years later on M124.

Closing this, assuming this has been fixed a long long time ago.

r-burns commented 6 months ago

I can confirm this is still an issue. Followed instructions in OP.

emilylange commented 6 months ago

Okay, thanks, I managed to reproduce it now.

Might have been a fluke or specific to my use of nix-shell back when looked into this before.


I want to clarify that this is not violation of the BSD-3 license chromium uses.

I do however understand that some prefer having chromium not download additional unfree blobs.

emilylange commented 6 months ago

There is #310209 now.

It disables the automatic download and prevents previously downloaded blobs from being loaded and executed.

With that PR, Widevine only works when going through the -wv wrapper (chromium.override { enableWideVine = true; }).

I hope this resolves the concerns raised in this issue here and makes both non-DRM and DRM users happy.

nixos-discourse commented 6 months ago

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/breaking-changes-announcement-for-unstable/17574/50