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?