The GPL FAQ "Does the GPL require that source code of modified versions be posted to the public?" contains this statement (emphasis by me):

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.

My question is, when is the condition release to the public met / fulfilled?

Let us assume that a website is using a modified PHP-CMS that is licensed under the gpl. Is the fact, that the website which can be reached over the internet already enough to speak of a release of the server side software?

What if only logged in users can use the CMS?

  • 4
    The GPLv3 has clarified matters a bit by introducing the term conveying instead of releasing or publishing. The license allows conveying as something that enables others to make or receive a copy of the software. Mere interaction with a program is not conveying.
    – amon
    Feb 19, 2019 at 16:30
  • Also note that it does not state when or how to make the modified source code available. IMHO, in many cases it happens upon request of a user only. This may go unnoticed for years. Feb 19, 2019 at 19:39
  • I once heard somewhere that it is sufficient to print the code on paper to fullfill the requirement to provide the code. Is that the case?
    – surfmuggle
    Feb 19, 2019 at 22:49
  • @surfmuggle That would make a decent new question; please feel free to make a new post to ask it!
    – apsillers
    Feb 19, 2019 at 23:11
  • 1
    @surmuggle GPL2 in section 3: GPL 2 is very vague ”on a medium customarily used for software interchange”. It is more clear in GPL3 section 6: “…d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge.…” Feb 23, 2019 at 9:35

1 Answer 1


Is the fact, that the website which can be reached over the internet already enough to speak of a release of the server side software?

No, it isn't, which is why the Affero GPL was developed. The AGPL extends the group of people who are entitled to have the source to include people who interact with the software over a network (see s13).

If the PHP code of this CMS is given or sold to some third-party, for example so that they can create their own website, that counts as conveyance under the regular (non-Affero) GPL (as well as under the AGPL).

What if only logged in users can use the cms?

I don't yet know of any jurisprudence or qualified advice as to what constitutes interaction remotely through a computer network. It seems clear to me that a logged-in user is interacting with it. Whether someone who enters an invalid username/password and thus fails to log in is interacting with it is an interesting question, and I don't think there's a definitive answer to it yet. My personal feeling is that it would include such non-users, but it's just my opinion.

  • 1
    I imagine you might be able to circumvent the "non-logged in user" problem by doing logins via a separate reverse proxy which is not AGPL'd - which may be desirable for reasons unrelated to copyright, see for example the BeyondCorp model. Of course, Google doesn't use AGPL'd software in the first place, so YMMV on the legal technicalities of doing this.
    – Kevin
    Feb 19, 2019 at 18:47

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.