0

I'm new to coding and I've found a lot of useful information regarding this question by reading online, but for whatever reason I simply can't find a simple answer to this. It's about using other people's software in your code; in particular, GPL licensed code. I realize that this is probably a common question and that it has been answered somewhere but I have been looking for this for weeks which tells me that I'm not the only one who can't seem to find this. Thank you for your patience.

What I want to know is if you use GPL licensed code in your app, like GIMP's source code (let's say I took the code from GIMP for their vector pen tool) would that cause my entire app to forcibly become GPL as well, as in I would have to make them share forward? If so, would the art and sound assets be exempt because they are not code?

I'd also like to know how much of a GPL program I can copy into my app and still sell my app as my own (provided of course that I keep the GNU code share-forward). Could I for example take all of GIMP's art tools but then put my own user interface and teaching experience on top and sell it so long as I keep the GIMP portion of the code share-forward and easy to acquire?

I read that any modifications made to GNU code must also be made GPL. Does that mean that if I use GIMP's pen tool in my app that my entire app could be considered an add-on to GPL code and therefore the entire app must now become GPL, even the games and non-art related content?

Or what if I program my own pen tool but it's really really similar to GIMP's but I didn't even look at GIMP's code. Does that make it GPL? Vector pen tools have been around for a long time and nearly every art software has them, so could I avoid the GPL license by virtue of it being common knowledge? What if it was a more advanced tool unique to GIMP that I happen to program similarly, like an advanced photo filter they made and I happen to come up with a similar idea?

My software is planned to be commercial and I'm willing to make at least part of it GPL, I'm just wondering how much.

Basically, how much of my app becomes GPL if some GPL is used in it, and how different does my code have to be for it to not be GPL? And could I alter GPL code significantly and still make it proprietary, in other words, look at what they did but write my own code differently?

10
  • 2
    You are using GNU but it seems you mean GPL. I recommend you say GPL instead in your question. E.g. "I read that any modifications made to GPL code must also be made GPL."
    – Brandin
    Commented Jul 25, 2020 at 6:34
  • 2
    GPL software can be commercial and can be sold. The real licensing issue is whether you want to close-source your software. In other words, are you going to release your source code (to your customers) or not?
    – Brandin
    Commented Jul 25, 2020 at 6:36
  • I found this on a site examining the V.B. The Ninth Circuit's Sega Decision in Sega vs. Accolade: "When specific instructions, even though previously copyrighted, are the only and essential means of accomplishing a given task, their later use by another will not amount to infringement.” They made it clear that intent and effect on the market were very important and that copyright disassembly issues are gray areas. This helps. I guess this means I'm really more asking for advice instead of a black and white answer. digital-law-online.info/lpdi1.0/treatise25.html
    – Ikari
    Commented Jul 25, 2020 at 6:42
  • 1
    I found some more clarification. This is so ironic, I spend weeks and find nothing and suddenly I'm finding almost everything. According to this thread, a judge could very likely find your work to be derivative if you use their source code or even read it even if you modify every line. My question then would be this: would the graphics and UI and sound and game design of my painting software (which has games) become GNU GPL as well, or would it just be the code? Wikipedia says I'm safe, but... softwareengineering.stackexchange.com/questions/81705/…
    – Ikari
    Commented Jul 25, 2020 at 7:00
  • 1
    A license applies to everything under the license. What makes you think that copyright or licenses don't apply to non - code portions or things? You will always have to look up and find out under which conditions (if any!) you can (re)use work from others. Withholding an explicit statement inside a repository to the contrary, a license applies to everything inside a repo. Commented Jul 25, 2020 at 9:30

1 Answer 1

6

Copyright law is centered around making a copy of something and then doing things with that copy. How such a copy is made is usually not specified in the copyright laws, which makes that a "mental copy", where a work is read and then what was memorized is reproduced, can be regarded as a copy as well.

As copyright law works on actually making a copy and not just how similar two works are, if two people without knowing about each other write (nearly) identical "hello world" programs, each would own the copyrights on their own program.

All copyright licenses, including the GPL, are based in copyright law. They give you additional permissions (under certain conditions) that copyright law restricts to the owner of the copyrights. The difference between the various open-source licenses lies in the conditions they impose in return for the permissions.

The conditions that the GPL license imposes are that if even a tiny part of the software is licensed under the GPL license, then the whole application must be distributed under the terms of the GPL license, which includes that the source code must be available and that recipients get the right to make changes and distribute those.

To get to your specific questions, if you take some GPL licensed code from another project, for example GIMP, then all code in your application must have a GPL-compatible open-source license and the project as a whole (including the binaries) must be distributed under the GPL license.

The GPL does not forbid that you ask money for your software (except that you can't charge additionally for providing the source code, above what it costs you to ship the source code), but you can't forbid your customers from reselling copies at a lower price.

Generally, artwork and sound assets are independent works under copyright law, so they are licensed independently from the software. This means that if you copied GPL-licensed artwork from someone else, then the artwork has to remain under the GPL license, but you can use it and bundle it together with a non-GPL application, or vice versa.

Basically, how much of my app becomes GPL if some GPL is used in it, and how different does my code have to be for it to not be GPL? And could I alter GPL code significantly and still make it proprietary, in other words, look at what they did but write my own code differently?

If you used any GPL-licensed code from someone else, then all of your app effectively becomes GPL. For your code to be not-GPL, you must not have copied any GPL-licensed code, not even by looking at it and then reproducing it. You can look at the behaviour of a GPL-license application and then write your own code to replicate that behaviour, as long as you never access the source code.

3
  • You can charge your reasonable cost to provide the source code. You can NOT charge anything for the license.
    – gnasher729
    Commented May 10, 2021 at 23:13
  • Just note that any independent writer of the hypothetical "Hello, world!" program could have a very hard time proving their all-too-similar version isn't a copy.
    – vonbrand
    Commented May 11, 2021 at 12:58
  • @vonbrand That would also prove that copyright couldn't apply. Copyright doesn't apply to things that must be done a particular way or where engineering realities favor one exact response over others. It only protects someone's creative choice to do something one particular way out of the uncountable, objectively equally "good" ways to do that thing. Commented May 12, 2021 at 17:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.