9 ms·
> There could be a viable Open Source driver for most of their GPUs tomorrow if they changed some licensing I always just assumed that interfacing proprietary
by fluffything 6y ago
> There could be a viable Open Source driver for most of their GPUs tomorrow if they changed some licensing
I always just assumed that interfacing proprietary IP with the GPL is a tricky legal business. One slip, and all your IP becomes open source.
Do you have a source explaining what licensing changes they would have to make and what impact would that have for Linux and Nvidia ? I'd like to read that.
- kasabali 6y agoAMD and Intel had been providing open source drivers for their gpus for long time and they've yet to have had any legal problems with it.
- wolfgke 6y agoPerhaps Nvidia's ASICs and/or firmware contains more legally dubious components. ;-)
- dathinab 6y agoAMD didn't directly open source their driver because if legal issues. The point is it's not about open sourcing your properitary driver but about not getting in the way of an alternative open source driver, maybe even letting it a bit of an have even if just unofficially. I thing if I where nvidea I might go in the direction of having a fully it at least partially open source driver for graphic stuff and a not so open source driver for headless CUDA (potentially running alongside a Intel integrated graphics based head/GUI). Through I don't know what they plan wrt. ARM desktops/servers so this might conflict with their strategies there.
- kelnos 6y ago> I always just assumed that interfacing proprietary IP with the GPL is a tricky legal business. One slip, and all your IP becomes open source. This persistent bit of FUD really needs to die. Yes, you have to be careful, but at this point it's ridiculously well-known what is obviously correct and what is obviously incorrect when dealing with GPL. I'm sure there are some grey ares that haven't been worked out, but avoiding those is fairly simple. Nvidia is already in a weird grey area, releasing binary blobs with an "open source" shim that adapts its interfaces to the GPL kernel. As much as the Linux kernel's pragmatic approach toward licensing helps make it easier on some hardware manufacturers, sometimes I wish they'd take a hard line and refuse to carve out exceptions for binary drivers, inasmuch as those can sometimes/always be considered derived works.
- dmz73 6y agoI don't know if statement about interfacing with GPL is true or not but your statement first calls it a FUD, meaning you believe it is false, and then you say all the driver code should be considered derivative work and therefore be subject to GPL, meaning that original statement you called a FUD is actually true. Seems to me that a lot of GPL advocates are actually responsible for a good part of the GPL FUD.
- fluffything 6y ago> This persistent bit of FUD really needs to die. [...] I'm sure there are some grey ares that haven't been worked out Way to contradict yourself. > but avoiding those is fairly simple. [Citation needed]. > As much as the Linux kernel's pragmatic approach toward licensing helps make it easier on some hardware manufacturers, sometimes I wish they'd take a hard line and refuse to carve out exceptions for binary drivers, inasmuch as those can sometimes/always be considered derived works. Maybe this is what needs to happen to force companies to change their mindset, but where I work, lawyers tell us to (1) never contribute to any GPL'ed based code, (2) never distribute GPL'ed code to anybody (e.g. not even a docker container), etc. Their argument is: a single slip could require us to publish all of your code, and make all of our IP open, and to make sure this doesn't happen, an army of lawyers and software engineers and managers would need to review every single code contribution that has something to do with the GPL. So the risks are very high, the cost of doing this right is very high as well, and the reward is... what exactly ? So in practice this means that we can't touch GPL'ed code with a 10 foot pole, it is not worth the hassle. If I were to ask my manager, it will tell me that it is not worth it. If they ask their manager, they will tell them the same. Etc. BSD code ? No problem, we contribute to hundreds of BSD, MIT, Apache, ... licensed open source projects. Management tells us to just focus on those.
- monocasa 6y agoNvidia has a very different model for what they're trying to get out of their drivers. They spent something like 5x more on the number of driver developers than AMD, then would send engineers to work with AAA game studios to "optimize their games" for Nvidia. Good so far. But then these optimizations went so far as fixing (in the driver) broken game code. Like apparently it was so bad that games were being shipped without issuing BeginScene/EndScene on DirectX. Hence AMDs push for Mantle then Vulkan. The console like API is the carrot to get people to use an API that has an verification layer so that third parties can easily say "wow what a broken game" rather "wow this new game runs on Nvidia and not AMD, what broken AMD drivers". Nvidia open sourcing their drivers completely destroys a large chunk of their competitive advantage and is so intertwined with all the IP of the games they have hacks for that I'd be surprised if they ever would want to open source them, or even could if they wanted to. More docs would be nice though.
- aspaceman 6y ago> But then these optimizations went so far as fixing (in the driver) broken game code. AMD does the exact same thing and always has. When you see shaders come down the wire you can replace them with better-optimized or more performant versions. It's almost always fixing driver "bugs" in the game rather than actual game bugs. And the distinction is important. I do agree with you, but that element is something everyone has to do to remain competitive in games. Developers will only optimize for one platform (because they're crunching), and 9 times out of 10 that's a RTX2080Ti.
- monocasa 6y agoNvidia did more than that, hooking their drivers in the same way that they would for benchmarks "oh actually ignore this API call" "oh actually issues these two calls when you see this one call with this signature" "yes this game requested synchronization here, but just ignore it" kinds of things. While yes AMD did similar things when they could, it was way less prevalent (if only because they didn't have the staff necessary to pull it off to the same degree). Edit: Here's an example of some of the stuff I'm talking about that goes beyond shaders. https://devblogs.microsoft.com/oldnewthing/20040305-00/?p=40373 https://devblogs.microsoft.com/oldnewthing/20040305-00/?p=40...
- mappu 6y agoNouveau is a highly capable open source driver for NVIDIA GPUs based on reverse-engineering. For some older card generations (e.g. GTX 600 series) it was competitive with the official driver. But in every hardware generation since then, the GPU requires signed firmware in order to run at any decent clock speed. The necessary signed firmware is present inside the proprietary driver, but nouveau can't load it because it's against the ToS to redistribute it. Most GPU features are available but run at 0.1x speed or slower because of this single reason. Nvidia could absolutely fix this "tomorrow" if they were motivated. https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-Mesa-Volta-Turing-MR https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-...
- fluffything 6y agoWow, that does suck. Imagine them doing the same thing with ARM.
- salawat 6y agoSolution: Download the Nvidia blob, isolate the binary firmware, extract, load. Be fun? Absolutely not. Desperate times and inconsciable acts of legalism call for equally extreme levels of overly contrived legalism circumvention. At this point I've gotten so bloody tired of the games people play with IP, that I'm arriving at the point I think I wouldn't even mind being part of the collateral damage of our industry being burned to the ground through the complete dissolution of any software delivered or related contract. If you sell me hardware, and play shenanigans to keep me from being able to use it to it's fullest capability, you're violating the intent of the rights of First Sale. To be honest, I think every graphics card should have to be sold bundled with enough information for a layperson (or I'll throw out a bone,a reasonably adept engineer) to write their own hardware driver/firmware. Without that requirement, this industry will never change.
- ptx 6y agoThe GPL can't cause your code to automatically become GPL licensed. It can only prevent you from distributing the combination of your incompatibly licensed code and others' GPL code.
- michaelmrose 6y ago>I always just assumed that interfacing proprietary IP with the GPL is a tricky legal business. One slip, and all your IP becomes open source. The only tricky things involve blatantly betraying the spirit of the agreement while trying to pretend to follow the letter and hoping a judge supports your interesting reading of the law. Even so there is no provision in law wherein someone can sue you and magically come into possession of your IP. It would literally require magical thinking.