this post was submitted on 30 Aug 2023
787 points (98.6% liked)

Linux

48363 readers
603 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA's proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA's default Linux driver in respecting the original kernel code author's intent.

Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being. They ended up having a supported driver several weeks later. It will be interesting to see this time how long Linux 6.6+ thwarts their kernel driver.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 42 points 1 year ago (4 children)

a) Good for them

b) How long before NVIDIA throws up their hands at the whole thing and does their own Linux distro + pushes all their cloud AI customers to use it? (it doesn't seem like they're ever going to be shamed / coerced into actually open-sourcing their driver)

[–] ArbitraryValue 35 points 1 year ago* (last edited 1 year ago) (2 children)

Would having their own distro even help? It seems like working around this would require forking from Linux at a lower level, and even that would only circumvent technical (rather than copyright) barriers.

[–] planish 6 points 1 year ago

They can probably just drop some kernel packages in their driver PPAs or whatever. You don't need to fork the whole distro to customize the kernel. But it will still be a huge pain.

[–] [email protected] 3 points 1 year ago (1 children)

They can beef of linux support of freebsd a little and do some other help to the desktop experience there. Freebsd has always been more pragmatic, and for most uses of an os you can't tell a real world difference. (pkg instead of apt, and other such differences are minor)

[–] [email protected] 8 points 1 year ago (1 children)

The userland differences are not too great, but I would assume a kernel module as significant as a modern GPU driver is pretty deeply tied to Linux's kernel internals.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

Nvidia maintains a driver for FreeBSD already, same version as Linux and everything. IIRC the closed-source portion is “unified” and they just build the interface for whatever OS.

The “Linux support” piece is on the application side.

[–] [email protected] 30 points 1 year ago* (last edited 1 year ago) (1 children)

There's an interesting discussion about the whole topic on the Phoronix forums about this. Some people claim that removing them and Nvidia's current behavior is a DMCA violation:

  1. The kernel includes IP only licensed under GPLv2.
  2. While a module linked against the kernel isn't necessarily a derived work which in turn would need to be licensed GPLv2 as well, there are specific interfaces that are meant for internal use and by their very nature would make your work derived if using them. These are the interfaces marked EXPORT_GPL_ONLY.
  3. Using these interfaces with a module not licensed GPLv2, you taint the kernel and violate the licensing.
  4. Removing the check, you aren't necessarily yet violating GPLv2, but you're removing a technical protection measure which is a violation of the DMCA.

It also raises the question why you'd remove checks that only prevent a possible GPLv2 violation if you're not violating GPLv2 anyways as Nvidia claims.

[–] [email protected] 5 points 1 year ago (1 children)

you aren't necessarily yet violating GPLv2, but you're removing a technical protection measure which is a violation of the DMCA.

Isn't overcoming a technical limit a violation itself? That's what made DeCSS illegal. They didn't have to prove anyone was actually copying DVDs with it, just that DeCSS could allow you to copy a DVD

[–] [email protected] 1 points 1 year ago

Yes, even if it's a dialog box with only a "No" button, despite how easy it would be to get it to return a different value.

DISCLAIMER: IANAL, this is not legal advice.

[–] [email protected] 3 points 1 year ago

B) can't happen because of gpl. Even if it could, not many customers will move to an nvidia distro. ML people need good distros and good drivers.

If a hypothetical nvidia distro would speed up training by 10% but cause drop of productivity of humans of as small as 5%, no many will "buy" it. We can throw more hardware, people are the bottleneck nowadays

[–] jack 2 points 1 year ago

They already provide custom images for their Jetson modules, I think more NVIDIA distros are likely to happen one way or another.