What exactly do I have to distribute to comply with GPL license?

I’m programming a game and am considering using some code released under the GPL license. I realize this means I will have to make the source code available and that won’t necessarily be a problem even though I’ll be selling the game, as long as I’m correct about the following few points (which I’m hoping someone can confirm).

Am I right in thinking that I will still have the copyright to any graphics or audio I created, and I won’t be required to distribute them for free or under the GPL license?

Also, what about other external files that do not directly contain the GPL licensed code, specifically, in my case, separate files containing number arrays: would I also be required to distribute those?

I’m also assuming people won’t be able to sell copies of the game. Is that right?

2

Assuming GNU GPLv3:

  1. Am I right in thinking that I will still have the copyright to any graphics or audio I created, and I won’t be required to distribute them for free or under the GPL license?

Yes, that’s correct. Such a work is called an aggregate by the GPL. See the GPL FAQ:

An “aggregate” consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are non-free or GPL-incompatible. The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that each program’s individual license would grant them.

  1. Also, what about other external files that do not directly contain the GPL licensed code, specifically, in my case, separate files containing number arrays: would I also be required to distribute those?

Are they linked into the executable or binary files? Then yes, you’ll have to distribute the source code.

  1. I’m also assuming people won’t be able to sell copies of the game. Is that right?

That’s incorrect. See section 4 (Conveying Verbatim Copies):

You may convey verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.

You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.


You would probably benefit from first reading the license in its entirety and its FAQ and then asking or searching for any remaining questions you may have.

4

This is my personal understanding, I am not a lawyer:

You will have copyright over everything you make, of course, but not over the entire work as it contains the 3rd party library, over which the author of that has copyright. So the question is what you need to do to distribute the entirety.

Graphics and images are not part of the source and don’t have to be under the GPL, I’d say. For instance when Doom’s source was released, you still needed a copy of the original game to be able to run the full game (or use 3rd-party textures, WADs, etc). Link: ftp://ftp.idsoftware.com/idstuff/source/doomsrc.txt

For the separate files containing number arrays: the key thing is that the source code you provide under the GPL must contain all the parts that combine to make a useable program. If a user can compile all your source and point his custom version to the data files he has, that may be enough, but if the data files are really source files and you need them to create a working executeable, then no. If they are data files then that makes them very similar to the graphics, I’d say.

People will definitely be allowed to sell all the GPL parts, as long as they give their customers all GPL rights again. They can also put all the code on Github if they want, or do anything else that the GPL allows them to do.

Roughly speaking, if your program has components that you are using under the GPL license, and it is a derived work (so nobody else would have the source code), then you have two choices:

You either distribute your program together with the complete source code, and allow anyone to use the source code under the GPL license; if you distribute that way you have no further obligations.

Or you distribute your program without source code, and you give the source code to anybody who asks for it charging no more than your reasonable cost, and you also allow anyone to use the source code under the GPL license. The second case is less convenient because you have a continuing obligation to do work for other people (distributing the source code), and everybody in the world can ask for the source code, not just people receiving the program from you.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *