1

As a continuation of this question, does a Makefile modification when building GPL source mean my own program becomes GPL also ? For example, if some third-party GPL'd source contains exit(), and I add to the Makefile -Derror_handling=exit and link an error_handling() function that performs error handling and returns without exiting, does that count as a GPL modification ? I could also change link order and supply my own exit() function to achieve the same result, would that count as a GPL modification ?

3
  • This question is posed in language to technical for someone who is legally trained by not a computer science professional to understand without a more plain explanation. Also, all acronyms should be spelled out the first time that they appear for future reference. All three letter acronyms have multiple meanings and are inherently ambiguous.
    – ohwilleke
    Jun 1, 2023 at 23:47
  • 1
    @ohwilleke thanks for your comments. GPL is General Public License, exit() is a GNU Library function that completely exits a program, even if called from within a low-level function inside a library, and a Makefile is a script that groups together manual commands needed to compile sources into a binary form (GNU doesn't really stand for anything, just a name) Jun 2, 2023 at 17:06
  • Thanks. That helps a lot, and is helpful to future readers.
    – ohwilleke
    Jun 2, 2023 at 18:29

1 Answer 1

1

Your program doesn’t “become GPL” at all. That’s not how GPL works.

The GPL license gives you two permissions without any obligation: You are allowed to use the software, and you are allowed to modify the software and use the modified software. If the software is a combination of GPL licensed and your own software, then your own software is not GPL licensed.

The GPL license only comes into play when you distribute it (hand a copy to someone else), with or without your software added.

You then have the choice: Either you ship the complete software under the GPL license and everything is legally fine, or you ship it without the GPL license which makes it copyright infringement. It’s your choice. Changing the make file does nothing to the license, you have to do that yourself. Of course when I say “choice” is like leaving a store with goods, you have the choice to pay or become a thief. It doesn’t mean it’s legal, it isn’t.

3
  • thanks gnasher. The third-party source does not include a Makefile for Linux, it does have MSVC and Watcom Makefiles (it's from the 1990s, maybe why they were liberal in using exit() ). Does creating a Linux library Makefile and redefining the exit symbol count as a GPL modification ? Would changing link order to supply a user-defined exit() count as a GPL modification ? Jun 1, 2023 at 19:27
  • There is no such thing as a "GPL modification". There is an original work, and a derived work. Any change to a work makes it a "derived work". Plain copyright law doesn't allow you to create works derived from my original work, but the GPL license allows you to create a derived work as long as you don't distribute it. If you distribute it, you MUST distribute it under the GPL license to avoid being guilty of copyright infringment, and whether it is an original work or derived work doesn't matter at that point.
    – gnasher729
    Jun 2, 2023 at 10:09
  • 1
    thanks again gnasher ! Is modifying an external function, in this case exit(), over which the third-party GPL makes no mention or claim, copyright or otherwise, a "change to the work" ? My question in its most narrow form, is whether preventing the work from terminating its calling program due to an error (something not contemplated when the source was written in the 1990s) -- and not modifying its source code, binary, or Makefile -- constitutes a "derived work". So far I can't find a clear answer, I'm thinking about e-mailing the SFLC and asking Jun 2, 2023 at 17:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .