I am working on a piece of server software that is licensed under the AGPL. I would like to require that all clients to it be released under a free license (GPL preferable, but I'm open to other licenses).

Is there a way to do this? Is there a standard way to do this?

  • 2
    The AGPL gives you no way to do so on it's face. Without a detailed reading, I can't be sure, but I do not believe that you can easily ADD restrictions to an AGPL work. Also, doing so would be a SERIOUSLY annoying move. Not everything in the universe is (or should be) covered under the GPL, and trying to restrict the way that people write clients for your program is the kind of thing that large monolithic corporations do, not the kind of thing that people who believe in freedom do. – Michael Kohne Sep 29 '16 at 17:01
  • 3
    The whole point of the AGPL (in my understanding) is so that they can't put up a modified server without giving up the source code (that's what makes it different than the GPL). The CLIENT is a separate program, so your server license can't really have conditions on the client. – Michael Kohne Sep 29 '16 at 17:09
  • 1
    You might try giving a really close read to the AGPL. I'm fuzzy on it, but perhaps there's a way you could apply the AGPL to your client implementation. IF that was possible, then anyone who wanted to use a derivative of that code for anything would pretty much have to give up the source. However, honestly, with a free video game, the likelyhood of anyone doing interesting things on the client and then refusing to give up the source just for the asking is approximately zero, so I'd propose not worrying about it beyond GPLing the client. – Michael Kohne Sep 29 '16 at 17:13
  • 1
    You COULD put provisions in the ToS, but why bother? It's not gaining you anything, because even if you find out someone is violating them, you don't have the legal muscle to force anything. It's not worth the bother, is what I'm saying. – Michael Kohne Sep 29 '16 at 17:16
  • 1
    @BryanOakley: I find it amusing that despite the GPL being rather short and written in plain language, people still reach nonsensical conclusions. – whatsisname Sep 29 '16 at 20:39

The short answer is no, especially not if you expect others to build the clients.

If you are building this server software with the intention of others building clients, they are communicating at arms length with each other, and are therefore seperate works and so the requirements of the AGPL do not apply to the clients.

You also could not practically impose a limitation via a Terms of Service. While you could impose a ToS to restrict connections to your particular server, you would be unable to restrict people from grabbing your source code, firing up servers of their own, and not requiring any such limitations for clients that connect.

Your best bet is to build out both the server and the client, make the client GPL licensed, and then make the client so good no one else bothers to make a different one with a different license.


Per the discussion in the comments of the question, I think the only recourse is to make a requirement in the Terms of Service for accessing the server.

The license of the server can't impose additional restrictions on the client as they are another separate piece of software. Even if it could, the AGPL provides for a way of removing those restrictions.

All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term.

Without an incentive to keep said term, it would be pretty hard to enforce.

Making it a requirement in the Terms of Service comes with its own baggage. You can't keep someone from creating a proprietary custom client and using it on their own server.

At the end of the day, likely most of this won't really matter though. Given that it is a freely licensed game, with a freely licensed "official" client, the chances that someone will not be willing to offer their code under a free license is pretty slim.

Your Answer

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

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