16 ms·
There is a comment here by the author of this patch which is absolutely extraordinary: https://lore.kernel.org/lkml/20230731083806.453036-6-hch@lst.de/ https:/
by hlandau 3y ago
There is a comment here by the author of this patch which is absolutely extraordinary:
https://lore.kernel.org/lkml/20230731083806.453036-6-hch@lst.de/ https://lore.kernel.org/lkml/20230731083806.453036-6-hch@lst...
"Given that symbol_get was only ever inteded for tightly cooperating
modules using very internal symbols it is logical to restrict it to
being used on EXPORY_SYMBOL_GPL and prevent nvidia from costly DMCA
circumvention of access controls law suites."
This is literally an attempt to claim the protection of the DMCA's anticircumvention law (which makes it illegal to "circumvent" DRM) for the Linux kernel, an open source project. It's also a tacit admission that EXPORT_SYMBOL_GPL is blatantly a DRM scheme (which it is).
Personally I loathe NVIDIA and have no particular interest in defending their behaviour; however, I find it extraordinary here that the Linux project is trying to claim the DRM anti-circumvention law applies to an open source project. It's pretty bizarre given there are few laws which seem more universally opposed by the open source community, and seems to me quite at odds with the values of FOSS - as is any DRM scheme.
- trustmebro 3y agoThe values of the FOSS community are pro Good. If you do something shady, and they help you save face with a gentle touch like this, you're lucky.
- Dylan16807 3y agoIt's a shady workaround to the kernel itself being shady with which symbols get marked GPL.
- mort96 3y agoMarking symbols as GPL is not shady.
- Dylan16807 3y agoFor the symbols where use of them does not imply that the code is derivative of the kernel, it is shady. See also kernel_fpu_begin
- mort96 3y agoCode which links against the kernel is derivative as far as the GPL is concerned.
- deleted 3y ago[deleted]
- Dylan16807 3y agoThat's obviously not true when you consider code that was ported from other architectures. Unless you mean specifically how the GPL is written, but the GPL doesn't get to decide what's derivative, copyright does. And if that was solidly true, why isn't every symbol marked GPL?
- tristan957 3y agoDoesn't the existence of the LGPL negate your argument? It is the GPL with a linking exception, colloquially.
- Dylan16807 3y agoLGPL sets out better, clearer boundaries. And it allows some things that might arguably be derived code, while the GPL would hedge much closer to that line. So it has a use. Also FSF tends to overstate the importance of linking.
- mort96 3y agoI don't understand what porting from other architectures has to do with anything. If Linux has some code for amd64, and then Linux developers port that code to aarch64, why would the aarch64 code be different from a licensing perspective than the amd64 code? I don't know why they have non-GPL symbols. My understanding is that they could have marked every symbol as GPL. There's presumably some desire to allow limited closed-source drivers. You'd have to ask someone involved or find some writings from someone who knows. Maybe Google can help.
- sterlind 3y agokernel taint is obviously a DRM scheme, that's not a secret. GPL isn't a permissive license, it's a strong copyleft license that has teeth. there's nothing hypocritical about the taint mechanism - it's open-source, and as long as your code is GPL you can do anything you like. it literally just enforces the linking provision of the GPL license.
- Dylan16807 3y ago> it literally just enforces the linking provision of the GPL license. Which provision are you referring to? The word "link" is only in one spot in GPL 2.0 and isn't talking about this situation. But assuming you mean it's just enforcing the text about derived works, that would only be true if the GPL exports were consistently linux-specific enough that using them makes your code a derived work. Which they blatantly aren't.
- EMIRELADERO 3y agoDon't they realize the DMCA has interoperability exceptions for this sort of thing?
- Bjartr 3y agoYou're right, it is open source. As such, this doesn't violate user freedom since if Nvidia, the user in this context, don't like this, they can fork the kernel and change the behavior however they want. Of course, nothing compels anyone else to use such a kernel.
- nvm0n2 3y agoPresumably they actually can't, because the forked kernel would still be GPL.
- Bjartr 3y agoHow would the GPL stop them from removing the check? They'd have to share their changed kernel source, but nobody would want it.
- nvm0n2 3y agoThe check is just enforcing the legal interpretation of the rights holders, the check code itself doesn't matter legally. Just like how stripping some DRM doesn't mean you now own the copyright to the video.
- Bjartr 3y agoThat raises an interesting question: Is modification of the source that is used to produce the executable software necessarily modification of software from a DMCA perspective? Or does the circumvention have to involve influencing an extant binary in some way? The legal answer, in either direction, isn't obvious to me. Especially since the GPL license does explicitly allow you to modify the source.
- baq 3y agoBeing open source with GPL2 is a digital right, is it not? DRM is a logical step against GPL piracy.
- tremon 3y agoWhy would that be pretty bizarre? The entire goal of the GPL was to use copyright law against itself (hence the term copyleft): the stronger copyright law gets, the stronger GPL protection gets. So to me, it's pretty much in the spirit of the GPL to wield additional copyright legislation to protect open source software.
- ye-olde-sysrq 3y agoRMS even describes the GPL's weaponizing of copyright against itself as a "judo throw" in his writings. The intent there is very explicit.
- kmeisthax 3y agoRMS also changed GPLv3 to specifically forbid exactly the kind of lawsuit being threatened in the commit message.
- ye-olde-sysrq 3y agoSure - I think there's a hair to be split here where we could argue that weaponizing anti-circumvention logic in GPLv2 is generally in the spirit of the GPL as a whole, but then also say they in GPLv3 we decided to remove it because while it's in the spirit, it's too dangerous, and net-better for user freedom if using GPLv3 software doesn't carry the risk of accidentally tripping up anti-circumvention laws.
- Qwertious 3y agoI get the impression that GPLv2 is (perhaps unintentionally) in the spirit of open source, whereas GPLv3 is in the spirit of Free Software. Thus Linus's famous "I just want the code" rant.
- pxc 3y agoGPLv2 was created by and for the free software movement. The notion that it is somehow more aligned with a depoliticized, whitewashed ancestor of that movement than it is with the real deal is absurd.
- gnull 3y ago> It's pretty bizarre given there are few laws which seem more universally opposed by the open source community, and seems to me quite at odds with the values of FOSS - as is any DRM scheme. Even if we don't like a law, it's a law, and you live in reality where it applies — and you should use it when needed. I don't find it bizarre at all.
- segfaultbuserr 3y ago> there are few laws which seem more universally opposed by the open source community, and seems to me quite at odds with the values of FOSS - as is any DRM scheme. My reading is that this is obviously a half-serious and half-sarcastic remark. The serious message is that the author believes it's a genuine case of copyright violation. The sarcastic message is that - given the context that the bar of invoking DMCA is so low that almost every trivial check can be classified as "anti-circumvention devices" (including the GPL symbol check in the Linux kernel), making it universally opposed by the FOSS community - Thus, the author thought it would be fun to flip the table here to make the exact same legal threat back to proprietary software vendors. It's simultaneously a copyright infringement accusation, a sarcastic comment on the excessively broad scope of DMCA, and a half-serious revenge in the form of a hypothetical legal threat. It reminds me of a song about cryptography called Alice and Bob, which made a similar joke. The lyrics read: > Sending data across the network in a safe way > Protecting messages to make my pay > If you hack me you're guilty under the DMCA The joke of the song is that proprietary software vendors often use DMCA to suppress vulnerability disclosure from security researchers, thus, a security researcher who implements an insecure data encryption protocol can theoretically make use of the same legal threat to cover up their own incompetence - which is absurd from a technical perspective but also the point of the joke.