Today I would like to ask you a question about open-source licensing.

My idea is to build a server community in a multiplayer game where you are can use scripting languages (like PAWN, Lua, Squirrel, etc.), allow people to contribute to the source code, however prevent people from using the source to open their own servers.

Is it possible to open a non-profit (game) project where the source code is free and open to contribution, however prohibiting re-distribution, or in other words using the source code to open a clone project?

  • What would open source be without forks?
    – beatngu13
    Mar 4 '18 at 20:07
  • Depends on the context, especially if the world around this project is very competitive. I would love to allow people to help and contribute to the project, but disallow them to open their own project by cloning the code and take a complete different path.
    – GiamPy
    Mar 4 '18 at 20:08
  • 3
    This would not be Open Source by any commonly accepted definition. It doesn't mean you can't do it, but it's not Open Source. Mar 4 '18 at 20:21
  • 3
    I would call it "your specific software license, with your chosen terms." "Open source" implies redistribution; if users can contribute to your code, but they can't use the code they wrote in context with the rest of your code, that's not "open source." Mar 4 '18 at 20:29
  • 3
    Why would I give you my work for free if I wasn’t able to turn around and use yours for free?
    – RubberDuck
    Mar 4 '18 at 21:43

If you are investing efforts in a product and if there's potentially big money at stake you should consult a lawyer or a qualified legal advisor in your jurisdiction. You can't rely on some forums for getting advice on such a complex matter than intellectual property.

Nevertheless here some general thoughts that could help you to take into account the broader context:

  • in principle, if you are the author of a software, you can license it as you want (there could be some restrictions if you're in a country that allows software patents).
  • if you disclose your sources on a service like github, some minimal requirements may be imposed, such as the right for other users to fork the project.
  • contributions that are included in your code are not owned by you, but you get a license on them. So, if redistribution is forbidden, it is not clear if such restriction could apply to you as well. This is a delicate point in the license agreement.
  • some libraries that you may use could have licenses that are incompatible with your restrictions.
  • an alternative to your approach could be to opt for a dual license, i.e either free open source redistribution requirement, or a closed source commercial license.
  • What do you think instead about making open-source only X percent of the code, but not 100%? Would that be possible? This would implicitly prohibit people to use the code to build their own servers, as well as allowing them to use it for their own purposes, but different compared to what I am interested in prohibiting.
    – GiamPy
    Mar 4 '18 at 20:28
  • 3
    @GiamPy: You can put those terms into your license, if you want to. You just can't call it "open source," because that's not what it is. Mar 4 '18 at 20:31
  • How do you call it then? "Project X license"?
    – GiamPy
    Mar 4 '18 at 20:32
  • 1
    "Project X license" does not have the words "open source" in it, so yes, you could call it that. Mar 4 '18 at 20:33
  • 1
    @RobertHarvey you certainly can do that and still consider it open source. The proprietary parts just need to remain closed and operate as a plug-in to the FLOSS portion. Chromium == FLOSS. Chrome == proprietary chromium plugin(s). VS Code is similar. Much of the software is open, but a small portion (mostly branding) is closed.
    – RubberDuck
    Mar 4 '18 at 21:47

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