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.
They are not legally allowed to build drivers from the illegally acquired source code.
couldnt they do the thing where one team analyzes the leaked code and documents functions.
and a nother, clean room team, creates independent fresh code to achieve the same results as the original?
I mean, clean room activity like that has a strong precedent, going back to EA vs Sega at least. where EA stole a sega genesis dev kit, had one team document the functions, had another team independently create code to execute those functions,and made their own dev kid and put out non-approved sega carts (which is why the EA sega carts were taller and had the yellow plastic tag)
Sega sued and EA won due the clean room engineering and sega and EA came to some kind of sweetheart deal/comrpromise/settlement.
Sounds a lot like what I call blackbox reverse engineering.
I’ve always heard cleanroom, since you keep your coders completely isolated from the investigation team so there can be no question of code pollinating across, Just documentation to be reimplemented in a unique and different way.
This whole process just backs up my notion that software patents are generally BS anyway, doesn’t it.
I don’t think they meant the hacked and released source code, I think they meant the kernel modules that Nvidia actually opensourced in may of '22
I have not had a look at it myself, but my understanding is, that that was/is only glue code to the closed source blob.
You are correct, it while it was technically driver for kernel, meaning it is using kernel driver api, it was not driver for graphic card. Just a bit different way to load binary blob.