• Thinker@lemmy.world
      link
      fedilink
      English
      arrow-up
      28
      arrow-down
      2
      ·
      1 year ago

      I can’t claim full understanding, but what I took away from it was that NVIDIA somehow ended up using GPL-licensed code in their proprietary drivers, possibly in a way that could incriminate the Linux kernel if not handled properly. My best guess (as someone with no kernel programming experience) is that NVIDIA sometimes contributes code directly to the Linux kernel that exists solely to support their proprietary drivers (the shims mentioned in the article). Apparently, these shims were exporting GPL-licensed code for use inside the proprietary drivers, which would be a violation of the GPL (unless NVIDIA made the source code for their proprietary drivers freely available in compliance with the GPL).

      TLDR: (I think?) NVIDIA essentially infected the linux kernel with license violations to support their proprietary drivers, and the linux kernel devs are working to excise the violations and prevent anything like that going forward.

    • dan_linder@lemmy.world
      link
      fedilink
      English
      arrow-up
      23
      ·
      1 year ago

      I’m not an expert but this is what I understand from a podcast l listened to (https://twit.tv/shows/untitled-linux-show):

      There’s a subset of Linux users who desire or need GPL compliant environments for they purposes (personal or work related).

      There’s a kernel flag that is set to track if the drivers or gas loaded are also 100% GPL.

      NVidia wrote their own video driver which is NOT GPL compliant, so as soon as they are loaded the kennel flag is set to “not GPL”. To get around the simple checks for GPL compliant drivers, NVidia wrote a wrapper (a “condom”) to lie that it was GPL-compliant when it was violating the GPL flag meaning.

      The Linux 6.6 release apparently has more protections to keep NVidia from working around the GPL check. (For now…)

    • IHeartBadCode@kbin.social
      link
      fedilink
      arrow-up
      21
      ·
      1 year ago

      Tainted kernels are not supported. Kernel devs aren’t spending time to fix bugs that come from a taint (uses blobs of code that are not open sourced) driver. Because the closed drivers can wreck all kinds of havoc and the kernel devs are helpless to fix the actual “source” of the problem.

      There’s been all kinds of ways for the kernel to detect tainted binaries. nVidia is notorious for trying to circumvent that detection so that engineers can sit there and blame the kernel for failures.

      nVidia has been a massively shit company to the open source community. If I had a list of most anti FOSS companies to ever exist, nVidia would be right behind SCO, with like TiVo behind nVidia. I know it’s hard but people who enjoy open source projects shouldn’t do business with the company. But if you got to have a nVidia card so be it, but I cannot NOT recommend nVidia enough.

    • ono@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      12
      ·
      1 year ago

      Disclaimer: I haven’t looked at the code.

      It looks like Nvidia’s proprietary driver was caught circumventing measures that keep proprietary code from mixing with GPL code in the kernel, deliberately violating the kernel’s license. The kernel maintainers are responding by adding more restrictions.