News for hackers. Stuff that matters.
Re:John Deere's ongoing GPL violations: What's next by saghm on Thursday March 16, 2023 @04:31PM (#35188061)
IANAL, but I don't think that the part in the GPL about modification makes any requirement that you facilitate modifying compiled binaries. My understanding is that the requirement is essentially that distributing the binary requires you to distribute the source as well; if someone modifies that source code you provide and distributes a binary they compile from that modified code, they need to share the modifications as source as well.

This is also my understanding of why the AGPL was created to try to close the loophole of running GPL code on the backend; since running code on a server doesn't entail distributing the server binary to people who access the service, the GPL didn't enforce any requirements on sharing any modifications to code that was modified and used as part of the backend for the service. Some felt that this went against the spirit of the GPL, so a new license that made this also explicitly disallowed was created.

As for the LGPL, my recollection is that it differs from the GPL in creating an exception for dynamically linking to the compiled binary; the phrasing of the (non-L) GPL requires that any "derivative works" of the GPL-licensed product (I can't remember if that's the exact term, but it's a something similarly general) must abide by the GPL, which could be interpreted as applying to something that dynamically links to a library licensed under the GPL. Licensing something under the LGPL gives permission for users to dynamically link to your product without requiring them to share the code linking to it.

Re:John Deere's ongoing GPL violations: What's next by pabs3 on Friday March 17, 2023 @01:12AM (#35193396)
The point of the LGPL is that it allows static or dynamic linking with proprietary software, but it requires that users be able to modify the LGPL part and relink it with the proprietary part and have the result work, as long as the modified part is compatible with the proprietary part. With dynamic linking thats simple, just drop in a new LGPL library, but with static linking you have to share the .o files for the proprietary software to enable user relinking.