Hacker News new | ask | show | jobs
by whimblepop 34 days ago
IANAL

> Someone reverse engineered the plug-in and put it into orca slicer and then claimed that the plugin should have been GPLed to begin with which I find dubious. I don't really see it being much different than downloading closed drivers on Ubuntu but I'm also not a open source lawyer.

The GPLv3 specifically was written to address a problem called "TiVo-ization", which is when a hardware vendor uses some trick (DRM, proprietary blobs, whatever) to prevent users from actually running modified versions of the software.

The AGPL, the license of this particular software, extends the GPLv3 with protections for users of network services:

> Simply put, the AGPLv3 is effectively the GPLv3, but with an additional licensing term that ensures that users who interact over a network with modified versions of the program can receive the source code for that program. In both licenses, sections four through six provide the terms that give users the right to receive the source code of a program.

https://www.fsf.org/bulletin/2021/fall/the-fundamentals-of-t...

And on TiVo-ization: https://en.wikipedia.org/wiki/Tivoization

The Linux and proprietary drivers situation is more complicated, but proprietary drivers on Linux are generally restricted to interfaces that Linux chooses to expose to them for that purpose. But the Linux kernel seems to take a narrower view of what constitutes a derivative work than was likely intended by the FSF in writing the GPL. Under a "traditional" reading of the GPL, those proprietary drivers are meant to be illegal. Whether some or all of the linking done by proprietary drivers in the Linux kernel is really allowed by the GPL or not is somewhat untested, I think.

1 comments

> The Linux and proprietary drivers situation is more complicated, but proprietary drivers on Linux are generally restricted to interfaces that Linux chooses to expose to them for that purpose. But the Linux kernel seems to take a narrower view of what constitutes a derivative work than was likely intended by the FSF in writing the GPL. Under a "traditional" reading of the GPL, those proprietary drivers are meant to be illegal. Whether some or all of the linking done by proprietary drivers in the Linux kernel is really allowed by the GPL or not is somewhat untested, I think.

Is that why Linux sticks with GPLv2 instead of GPLv3?

The FSF's purpose in writing the GPL is the protection of end-user freedom, including the freedom to inspect and modify the code (or paying someone else to do so) of whatever software people use.

Linus' purpose in adopting the GPLv2 was something like "to avoid free-riders on his kernel code; if you make improvements upon the Linux kernel for some product, you have to share them with the users of your product".

The GPLv3 addressed a gap in the protections GPLv2 guarantees to end-users, namely that if a vendor locks down other parts of the stack (in the case of the Linux kernel and TiVo-ization, at least the bootloader), inspecting the and modifying the software can be useless for them in terms of the real freedom it grants those users— the device can just refuse to run the modified software.

For Linus, moving to GPLv3 would extend the domain of the GPL beyond the code of his project to the broader context in which it is used, namely the situation of the user. He sees this as inappropriate, in a way. He doesn't care about the broader context in which Linux is deployed or if some devices only allow you to run vendor-approved kernels. He sees the GPLv3 as changing what "GPL" means in a way that offends him.

For the FSF, the point has always been to use licensing as a mechanism to protect and promote the freedom of people using computers. The FSF's primary concern has never been the rights or conveniences of maintainers at all. It's not about "no freeriders with downstream forks who hide their patches", though that was an incidental effect of the GPLv2. The purpose is to use copyright licensing as a mechanism to inch towards a world where users who do computing— on their laptop, on their mobile phone, or on their TV's set-top box— can transparently inspect and modify all of the devices they compute on. For them, the GPLv2 had a vulnerability that made its function of protecting user freedom easily bypassable, and they patched it in the GPLv3.

But the question of whether linking against the kernel's public interfaces constitutes a derivative work is outside the scope of GPLv2 vs GPLv3 and not yet fully tested/settled by the courts.

Hopefully this context does make clearer, at least, the spirit of the license of the software Bambu inherited when they forked it from others. It's very much about letting users actually modify/replace the software running on their devices without restriction.