14

While reading through the GPL FAQ I found some relevant points to the question, however it is still unclear to me if this fully applies to a public gameserver.

I'll try to keep it short:

There is a gameserver A, fully available, including source code, published under the GPL. There is a modified gameserver B, based on server A, not available as binary nor as source code. Maintainer of modified server B however does grant access to his modified server as a public service, i.e. to play the game, obviously.

From the GPL FAQ:

Does the GPL require that source code of modified versions be posted to the public?

The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.

But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in certain ways, and not in other ways; but the decision of whether to release it is up to you.

So to me it is not obvious what does apply here.

On one hand the "modified version" is clearly "release[d] to the public in some way" to the "program's users" (i.e. the players), however on the other hand it is kept as an "internal" tool.

As I understand it, "internal" in this context suggests, that the software can be used without publishing, if the public has nothing to do with the software itself.

But the server, and the providing of the public service in this case is not just part of something unrelated but the very core and reason of existance of the whole public project.

migrated from programmers.stackexchange.com Sep 10 '15 at 19:08

This question came from our site for professionals, academics, and students working within the systems development life cycle.

  • 2
    Read also about the AGPL, and ask your lawyer. But the simplest way is to comply with the spirit of GPL and publish under GPL license your modified program source code. – Basile Starynkevitch Sep 10 '15 at 5:02
18

On one hand the "modified version" is clearly "release[d] to the public in some way" to the "program's users" (i.e. the players), however on the other hand it is kept as an "internal" tool.

This is not correct.

Exposing the server, public or private, is not considered distribution according to the terms of the GPL and so the requirements of the GPL do not come into play. The only way it would, for a GPL licensed server would be if players downloaded the server software and ran instances of the server on their own computers.

There is a similar license, the GNU Affero General Public License, which mandates exposing the software via Remote Network Interaction to require the recipient of the software to also provide the source to the users. The way you think the GPL works, is basically how the AGPL works instead.

This is also covered in the GNU FAQ: http://www.gnu.org/licenses/gpl-faq.en.html#UnreleasedMods

  • 5
    @AndresF: The GPL is not unclear about this, it very specifically defines what distribution is. The AGPL didn't get created because the GPL was unclear, it was created in response to a new model of what a user of a software was. – whatsisname Sep 10 '15 at 15:04
  • 5
    this answer is just plain correct. – bmargulies Sep 10 '15 at 19:54
  • 1
    @ArtOfWarfare whether you use this logic or not, it is nevertheless true. It sounds like you don't like that; that's fine, but it is still true. The AGPL was created specifically to close that preceived gap. – Martijn Sep 13 '15 at 14:17
  • 1
    For example, the Linux kernel is GPL licensed. You are allowed to modify the kernel and install it on your own servers without making those modifications public. Your Linux server can be publicly accessible by millions of people every day, with people "using" your server but that's not a distribution. If you share your modifications with somebody so they can use it on their server, then you're required to do so under GPL. This has been well established for decades and is an intentional part of the license. If you don't like it, then don't release your code under GPL. – Abhi Beckert Sep 21 '15 at 1:10
  • 1
    I don't see what could be ambiguous in that FAQ answer, when you read it from start to finish. "Would be legitimate to require" in the context of that FAQ answer clearly means from the standpoint of someone writing or choosing a license. – Dan Getz Jan 16 '16 at 21:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy