Announcement

Collapse
No announcement yet.

Linux 6.6 To Better Protect Against The Illicit Behavior Of NVIDIA's Proprietary Driver

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by mdedetrich View Post

    The real crux of the problem is that Torvalds and hence inherited to Linux dev's have this dogmatic view that they expect every driver to be open source and in kernel tree. They don't really care about userland having blobs, but to them every driver should be in the kernel tree.

    Given this its really not a licensing issue, because if they changed their stance on this they would just provide a stable ABI for drivers that happen to be blobs and there wouldn't be any of this tiptoing/dancing going on. The kernel would still be GPL 2 (thats never going to change), what it would mean is there is a standard/principled way for driver blobs to interact with the kernel.
    Stable ABI wouldn't do anything about this problem, since the binary interfaces in question would still be marked as GPL only. The developers have no authority to ret-con other people's contributions into a non-GPL context.

    Comment


    • another few kernels without nvidia drivers?
      nice. i "like" it how they try to screw nvidia over and over again.
      is nvidia the only proprietary driver for linux?
      and if not does linus and team goes against all those drivers?

      Comment


      • Originally posted by Khrundel View Post
        OMG, what a load of BS I've read. You are completely unaware of what you are talking about.
        Look, no matter how you hate nv, you can't sit on two chairs. It is either your software is licensed under free license or you have control over it.
        GPL2 says everybody have a permission to modify software as long as they ship their changes under same license. Period. This means everybody have a right to get kernel code, modify it whatewer they like and republish modified version under GPL. Including modification which removes "DRM" from kernel. It is that simple. And when those a-holes saing about violation of DMCA, they are just lying, DMCA does not outlaws "DRM" violation per se, it outlaws removal of DRM which is used to protect rights. License comes first, if license gives that right "DRM" stop being DRM and becomes just one caprice of one developers.

        You can't simultaneously allow to Kent Overstreet to distribute his fork of kernel with some not yet upstreamed synchronization primitives, used by his filesystem module and not allow nvidia to distribute their kernel fork which have some exports used by their module. Same for the patents, if someone have licensed his patent under GPL, he automatically have licensed same patent to any derived work, any fork. This is a protection added by GNU to avoid capture of free software by some entity which will incorporate into it some patent. Chapter 7 of GPL2 clearly say this. So, if there is some patented code within kernel, which is licensed to linux foundation only, then there is GPL2 violation, it is the linux foundation is violating GPL2 by distributing their kernel without having permission to redistribute patent right on GPL2 terms.

        And, at last, I will tell you how to avoid such stupid mistakes in the future. You need to understand what is GPL2 about. It is a license which preserves copyright ownership over code for it's author and allows redistribution and derivatives creation on some condition. It knows nothing about such person as "mainteiner" for example.
        So, follow the thought, who is this a-hole Christoph Hellwig? From legal perspective he is an author of several lines of code, no more. Why this moron thinks he can control, which symbols nvidia can use and which not? No reason from legal perspective. He is not the owner of kernel copyright. He is not an employee of owner. He owns only lines of code he have written, but even these lines do not belong him exclusively: he have already gave permission to everyone to use his code. He is nobody, some guy who have access to git repository and this is all. He decides nvidia can use symbol A but not B. Imagine some guy, lets call him John, who have committed one line of code to kernel somewhere in 9x, when there was no module support. John now has a part of ownership to kernel. Have anyone asked John if he agree to allow nvidia access to symbol A? No. So, from Johns perspective, some guy who came to project long after him allows hated nvidia to use John's line of code. And John can't prevent this because he had licensed his code under GPL2. Now imagine, some other guy, Hellstof Christwig, will maintain some other repository, where he will allow nvidia to use both symbols A and B. Can you explain why one of these maintainers have a right to allow nvidia access to A but another have no right to allow access to A and B?

        So, why nvidia haven't forked kernel yet? The reason is simple: it is easier for them to circumvent restriction than support their fork. This is just minor inconvenience for some software engineer. But at the moment when Christoph instead of petty dirty tricks will invent some real way to prevent functioning of nvidia cards on linux, either some sponsor, like Redhat for example, will kick him out of project or there will be new kernel, openlin or something like that. Companies who pay for the party will not tolerate when some idiot on their paycheck is preventing their software from working with nvidia workstations and datacenters.
        No, you are completely unaware...

        The reason that the Linux kernel has some symbols marked Export, and others marked Export_GPL_Only, is that many modules/code/interfaces are actually contributed under an MIT or BSD license which allow derivative works to have any arbitrary license that you please.

        While Kent Overstreet can redistribute his modifications, what he is not allowed to do is to modify the terms under which others contributed thier own code. And why NVidia just can't fork the code, as changing an Export_GPL_Only to a simple Export is essentially attempting to re-licensing other people's GPL code to enable GPL non-conforming derivative works. Writing a GPL shim that simply re-exports these symbols is no help either as it's essentially the same thing with extra steps. The only way to legitimately to get new non-GPL exports is to write new functional code under an MIT type license and only import symbols not marked as GPL.

        Nvidia need to limit their shim module to exports intended to not be copyleft, or release their module's code under a GPL compatible license. No amount of forking or clever coding will release them from this obligation. The only reason they've gotten away with if for so long is that nobody wanted to wrangle with their legal team, but this DMCA talk is an indication that may be changing.

        Comment


        • Originally posted by WorBlux View Post
          While Kent Overstreet can redistribute his modifications, what he is not allowed to do is to modify the terms under which others contributed thier own code. And why NVidia just can't fork the code, as changing an Export_GPL_Only to a simple Export is essentially attempting to re-licensing other people's GPL code to enable GPL non-conforming derivative works.
          Kent Overstreet does not need to modify the terms either change Export_GPL_Only to a simple Export.
          Only what is needed is to fork a kernel version/commit before that particular patch, and cherry-pick all later patches but not that particular patch. Therefore the forked kernel has had never had that particular patch.

          Comment


          • Originally posted by loganj View Post
            another few kernels without nvidia drivers?
            nice. i "like" it how they try to screw nvidia over and over again.
            is nvidia the only proprietary driver for linux?
            and if not does linus and team goes against all those drivers?
            I know at least a certain percentage wifi bits are closed, people have to use proprietary for those. While I like open source myself, most people never consider that GNU Linux rests on top of some the most outrageously proprietary closed source out there, UEFI firmware. Not to mention are the secure processors in their cpu's. All that stuff is closed source. Open source everything is close to impossible for the average day person.

            Bluetooth as well I think. I don't use bluetooth or wifi.

            Peoples hatred towards nvidia is kind of unjustified if you ask me, especially since most people have a lot of closed source stuff in their system.

            Being angry at stupid product prices and crapping on those is justified if you ask me.

            Been using nvidia since 2004 with GNU Linux cause the alternatives have been unsatisfactory in my use cases.

            Actually kicking nvidia out of GNU Linux from the development side would make developers themselves and GNU Linux look just as bad if not worse, it would be a declaration of Linux being proprietary itself in just a weird indirect way. Not to mention it would shit all over a large portion of GNU Linux's user base, some of which has been there since the very beginning.

            From what I have read in the article, its still unclear whether this is going to be a thing that leads to nvidia cards just flat out not being supported or not. If that's the case it's a sad one, cause nvidia has the best support/performance for all the older directx versions.
            Last edited by creative; 30 August 2023, 01:14 PM.

            Comment


            • Originally posted by avis View Post
              Code:
              [root@zen nvidia]# pwd
              /usr/src/nvidia-535.104.05
              [root@zen nvidia]# grep -r symbol_get; echo $?
              1
              Not sure what this patch is about. symbol_get() is seemingly not used in any shape or form. Maybe the blob contains it in some obfuscated form, I don't know.

              Looks like the commit is about removing the "bad" feature, not about breaking the NVIDIA driver:



              It's sad to see the 100500th confrontation between the people who have never contributed to the kernel, yet they want to deprive others of using their existing GPU with Linux and instead force them to buy a new GPU. This screams of of being elitist and haughty but I just don't care any longer. Too tired of hatred, aggression, animosity and verbal attacks. This has really propelled Linux, oh, wait, it's only shown what kind of people represent Open Source.
              Code:
              > grep -r symbol_get /lib/modules/6.4.12-zen1-1-zen/kernel/ ; echo $?
              1
              
              > grep -r 'symbol_get' /lib/modules/6.4.12-zen1-1-zen/kernel/ ; echo $?                                    
              1‚Äč
              is the 'symbol_get' not used in any kernel module , or most likely you wont find it in the binary module (nvidia or what-else) with a grep? ......

              Comment


              • Originally posted by Weasel View Post
                I like the NVIDIA proprietary drivers, because they're a million times more user friendly than the fucking mesa inter-dependency bullshit.

                I hope someone will fucking make some kernel patches to disable this cringe-ass "protections". I don't mind recompiling kernel for this. I will do it in a heartbeat.
                Plus Nvidia drivers are the only one supporting HDMI vrr...

                Comment


                • Originally posted by WorBlux View Post

                  Forking doesn't allow NVIDIA to re-license the relevant parts of the code... and altering the export symbols is pretty much a slam dunk way to show willful infringement.

                  And yes it's about patents, there are a whole heap of royalty free licenses granted to the kernel provided the gpl if followed.
                  Removing the GPL_ONLY thing is absolutely not relicensing anything, it's removing barriers, and these are not in any way an infringement (except for the part mSparks said which might -or might not- be arguable in court). But it's absolutely by no means relicensing anything.

                  Comment


                  • Originally posted by WorBlux View Post

                    No, you are completely unaware...

                    The reason that the Linux kernel has some symbols marked Export, and others marked Export_GPL_Only, is that many modules/code/interfaces are actually contributed under an MIT or BSD license which allow derivative works to have any arbitrary license that you please.

                    While Kent Overstreet can redistribute his modifications, what he is not allowed to do is to modify the terms under which others contributed thier own code. And why NVidia just can't fork the code, as changing an Export_GPL_Only to a simple Export is essentially attempting to re-licensing other people's GPL code to enable GPL non-conforming derivative works. Writing a GPL shim that simply re-exports these symbols is no help either as it's essentially the same thing with extra steps. The only way to legitimately to get new non-GPL exports is to write new functional code under an MIT type license and only import symbols not marked as GPL.

                    Nvidia need to limit their shim module to exports intended to not be copyleft, or release their module's code under a GPL compatible license. No amount of forking or clever coding will release them from this obligation. The only reason they've gotten away with if for so long is that nobody wanted to wrangle with their legal team, but this DMCA talk is an indication that may be changing.
                    What a load of BS, seriously. Trust me, it may be your wet dreams, but nobody is gonna engage in legal stuff here.

                    Comment


                    • Originally posted by oiaohm View Post

                      You should check out Google vs Oracle or Microsoft over trident browser engine. A normal copyright court action over source code licenses can take decades. These protections the Linux kernel is adding makes it the copyright infringement come under DMCA. DMCA case takes less than 1 year to resolve. The DMCA process is simpler.but there is a problen..
                      The problem
                      It's sad that this response is literally 4 pages deep, after a drivel of "BAD PRETENTIOUS LINUS KERNELS DEBS". This is a license issue, and if you used Nvidia firmware in a way that they found that didn't conform with the license, they would bolt that door too.

                      Comment

                      Working...
                      X