1. 7

I was curious about the Affero, and ran into this where the top answer is “Reports of GPLv3 and AGPLv3 "virality” are greatly exaggerated" I was convinced by the argument, but then I read the comments to the answer and went back to being confused. I wonder what the folks here think.

  1.  

  2. 10

    If you accept that answer as true: what’s the difference between the LGPL and GPL? Why do linking exceptions such as the classpath exception and OpenSSL exception need to exist? What’s the purpose of the system library exception? Why do core Linux kernel contributors (and, allegedly, the legal departments of major companies) claim that “proprietary kernel modules are illegal”?

    It seems people have gone to a lot of effort to dodge an issue that doesn’t exist.

    1. 10

      The authors of the GPL are quite explicit about their interpretation that libraries do spread copyleft, if you distribute the library together with your program or if you write your program in a way that it cannot work without a copylefted library. After all, that’s why they wrote the LGPL, to weaken this assumption..

      Whether the authors' intent holds up in court is another matter and a subject of much speculation. We’ll have to see. But there are many lawyers who seem to think that lawyers would favour the original intent of copyleft: it spreads across libraries.

      1. 6

        To me, the ethical intent of copyleft is clear: if your code has a first-degree dependency on copyleft code in any sense –static linking, dynamic linking, IPC, RPC– then your code must also be copyleft. Indeed, the Affero GPL came about precisely because people were circumventing the intended sharing requirements of the GPL by claiming, “I don’t distribute the GPL backend, my proprietary app just talks to it over the network!” As others here have also mentioned, the LGPL family of licenses would also be superfluous if this wasn’t a property of strong copyleft licenses like the GPL and AGPL.

        If your code has first-degree copyleft dependencies, and you don’t want your own code to be copyleft, then it’s time to either: remove the first-degree copyleft dependency, or convince the copyright holders to grant you an exception in one form or another. Now, I concede that the boundaries of such “first-degree” dependencies aren’t always easily or perfectly defined, and the notion of a “dependency” is itself tenuous. But in general, if you have… direct/strong/hard/stiff dependencies on copyleft code, if you lose functionality when removing the copyleft dependency, if you are unable or unwilling to swap out the copyleft dependency with a suitably licensed alternative, then chances are, you are ethically obligated to make your own code copyleft as well. The pedantry of lawyers and judges concerning whether you are legally obligated to do so is immaterial.

        Ultimately, if you don’t want to share your code, then don’t touch codebases that are hostile to that notion. It’s not as if there’s a dearth of non-copyleft options out there.

        1. 1

          To me, the ethical intent of copyleft is clear: if your code has a first-degree dependency on copyleft code in any sense –static linking, dynamic linking, IPC, RPC– then your code must also be copyleft.

          Hm, no. Your code can be anything, as long as you don’t effectively restricts the rights that the GPL gives the user of the artifact (free inspection, modification and redistribution of the whole). It’s perfectly fine to distribute your code under a compatible non-copyleft license and later someone else coming along, ripping the GPL parts out and republish the whole thing in a non-copyleft fashion.