We (as in a bunch of friends) are creating a text-based RPG online game. For sake of simplicity let's end it at that. We want to build it using open-source tools and technologies and we are fine with that. We were thinking about using MIT licence at the start. BUT.Is there any way we can (kinda) assure that someone won't just grab the code, deploy on their server and stick a different name on it instead of contributing back to our project?How to enforce (or promote) helping with the main project instead of splitting it (and the playerbase) into thousand little forks?Any legal/licence advice? Or someone with practical insight/experience?
How to protect a web game with open-sourced code?
licensing;license recommendation
If your concern is that others may modify your code and...don't license their modified client-side code under a free/open license, anddon't even publish their changes to the server-side code...then you want to publish your code under the Affero GPL (AGPL). A copyleft license like the GPL will take care of the first point, since the downstream author would be distributing a modified work, and the GPL requires modified works to remain licensed under the GPL. The second point is not covered by the GPL alone, though, since the GPL only covers distribution, and running private server-side code doesn't involve distribution to the users. The AGPL contains a requirement that if the software is modified and made available through a network, then the modified source code must be made available to the users of the software.The AGPL will allow you to get access to the server-side content of forked versions. However, if your real concern is that such forks will still attract users away from your game, even if you have access to their forked source code, then you need to reflect a little more about the difference between your software and your service. For instance, the software that powers the popular discussion site reddit.com is publicly available under an open source license. Anyone is free to make their own Reddit-like site with minimal effort, but reddit.com has such a huge community that the clone site isn't likely to do well if it doesn't have any substantial advantages over the original.The same goes for your game: multiplayer games are fun because of the other people you play with. If you do a good job building a strong community of players, then when a fork pops up, it will need some amazing improvements to make me abandon your existing player community in favor of this new game. (Plus, if your code is AGPL-licensed, you can pull in those changes as well, since the fork will be required to publish its source.)