Hacker News new | past | comments | ask | show | jobs | submit login

How is it a modification? Replacing a dynamic library with another doesn't fit the definition under copyright law or under the GPL.

> To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy.

https://www.gnu.org/licenses/gpl-3.0.en.html

For the sake of continuing the hypothetical, let's say I do distribute it. Let's say I make a Linux distro that includes bash and a proprietary derivative of libedit with an API shim (fair use) to make it compatible with GNU readline.

What's interesting and potentially problematic is that the FSF clearly interprets dynamic linking to create a derivative work, but the GPL doesn't actually say that.

This is found in their commentary at the end of https://www.gnu.org/licenses/gpl-3.0.en.html:

> The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

Also see: https://www.gnu.org/licenses/why-not-lgpl.html




You should probably start with the FAQ: https://www.gnu.org/licenses/gpl-faq.en.html#combining

Swapping out one library for another compatible one is a modification of the program.


There is no reason to start with the FAQ. The FAQ is irrelevant. The FAQ is not part of the GPL and has no legal force whatsoever.

What part of the GPL brings swapping dynamically linked libraries within the definition of "modify"?

Because on first read, not only is such an activity not explicitly included, it is explicitly excluded — since you do not need copyright permission for program X to swap out library Y that it relies upon, see 17 U.S.C. § 117(a)(1) (excluding copies made in memory at runtime from the need for copyright permission), it can never be a modification to do so.


I don’t know why you bring up 17 U.S.C. § 117(a)(1); it is completely irrelevant to your question. It is an important thing to understand, but it doesn’t have any effect on the answer to the question you asked. I can’t even fathom why you would think that it does. Maybe it is some kind of motivated reasoning?

The FAQ is, however, quite relevant. It’s certainly not part of the text of the GPL, but your Question is very Frequently Asked, and thus the answer to it is right there (<https://www.gnu.org/licenses/gpl-faq.html#MoneyGuzzlerInc>).

    I'd like to modify GPL-covered programs and link them with the
    portability libraries from Money Guzzler Inc. I cannot distribute
    the source code for these libraries, so any user who wanted to
    change these versions would have to obtain those libraries
    separately. Why doesn't the GPL permit this? (#MoneyGuzzlerInc)
    
        There are two reasons for this. First, a general one. If we
        permitted company A to make a proprietary file, and company B
        to distribute GPL-covered software linked with that file, the
        effect would be to make a hole in the GPL big enough to drive
        a truck through. This would be carte blanche for withholding
        the source code for all sorts of modifications and extensions
        to GPL-covered software.
    
        Giving all users access to the source code is one of our main
        goals, so this consequence is definitely something we want to
        avoid.
    
        More concretely, the versions of the programs linked with the
        Money Guzzler libraries would not really be free software as
        we understand the term—they would not come with full source
        code that enables users to change and recompile the program.


This is a legal question. The statute, which is a legal authority, is absolutely relevant. The FAQ, which is not a legal authority and not part of the license and not even published by any relevant party, is absolutely irrelevant.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: