Our intention in using this license is to promote the development of copyleft games which ensures that players have the freedoms to play, contribute to, and share the games with others. Below is an explanation of what this means for game authors.
What is Copyleft?
The PySoy engine is a copyrighted software product. Like most copyrighted works, it may not be used, modified, or redistributed without a license.
This is where the GNU AGPLv3 comes in; it is the license which permits PySoy to be used, modified, and redistributed. It also allows you to create, distribute, and even sell PySoy-based games. By downloading a copy of PySoy or a PySoy-based game you receive these explicit rights.
There are no royalties, licensing fees, or other monetary requirements for using PySoy. When you create games based on PySoy that entire game must also be available under the GNU AGPLv3. This means everyone who plays it in the cloud is entitled to receive a copy of your full source code along with the rights to change, modify, redistribute, and host it so long as they also comply with the GNU AGPLv3.
This is what the term "copyleft" means; we're inverting the copyright paradigm to promote collaborative artistic works. Share and share alike.
What about art and music?
The GNU AGPLv3 clearly defines the scope of the license in section 5c:
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
We consider an entire game to constitute one work, and thus "the whole of the work, and all it's parts" means that every part of a PySoy-based game must be under the GNU AGPLv3. It does not matter if it's distributed in a single file or multiple files, "regardless of how they are packaged", all parts of the game must be licensed under the GNU AGPLv3.
When your PySoy-based software includes the ability to present external media to the user, such as the case of a video or music player, where the media has no special configuration or orientation specific to the PySoy, copyright law (and thus the GNU AGPLv3) does not extend to that arbitrarily loaded media.
Third party media, such as "clip art" textures and "free" sound effects, may only be used in PySoy-based games if the license on that work is compatible with the GNU AGPLv3. In cases where the content is neither public domain or an GNU AGPL compatible license the author of that work may be contacted to request it also be available under the GNU AGPLv3. Many artists who release their work under a Creative Commons license are very willing to work with game designers to tailor their work for inclusion in a game and provide the source material to comply with the license.
What about the GNU GPL?
We have chosen the GNU AGPLv3 over the GNU GPLv3 in light of our promotion of PySoy as a cloud game engine, where games can be played on a server without downloading them first. The AGPLv3 is designed to provide the added protection for such applications.
Software licensed under "GPLv2 or later" can be upgraded to GNU GPLv3, and GNU GPLv3 licensed software can be upgraded to the GNU AGPLv3 under section 13 of that license:
13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
Thus while a PySoy based game must be GNU AGPLv3, as by nature it's a combined work, it may utilize other software (libraries, media, etc) licensed under any GNU GPLv3 compatible license since the GNU GPLv3 is upgradable to GNU AGPLv3.
How do I license my game?
Just as the PySoy source code embeds the GNU AGPLv3 template at the top and in the credits property, you may (and should) do the same. All your game's media files, in case they are somehow obtained separately, should also be tagged for the GNU AGPLv3 (.soy exporters do this automatically). You should also include a copy of the GNU AGPLv3 LICENSE file with your game.
Each PySoy-based game should also include, through the game's splash, title, or menu, a clear statement that it is based on PySoy and licensed under the GNU AGPLv3. PySoy includes the splash functions for doing this. Requirements for this are detailed in section 5d:
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
What if I paid for it?
Certain binary packages or bundles including PySoy may be sold by us or others. This is completely legitimate under the terms of the GNU AGPLv3 so long as the terms of the license are followed when doing so;
6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: [...] 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. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
When you buy a commercial PySoy package you are paying for the convenience of not having to compile the software on your own. Whereas most GNU/Linux distributions include all of our dependencies packaged and maintained by volunteers, many of these packages are not available in binary form for Windows and OSX and can take a good deal of time to download each component separately, compile it, and arrange it in the filesystem so it can be found by the other components. All of the scripts and tools used to build PySoy, all its dependencies, and any other utilities or games its bundled with are required to be available under the GNU AGPLv3.
The license also permits redistribution in either source or binary form, so once one binary package is compiled or purchased it can be redistributed to others. We only ask that our trademark is respected when distributing modified versions to avoid confusion.
We will never sell PySoy under an alternative license or offer license exceptions.
How can I make money?
We all know the proprietary software model; produce software then charge money for others to use it. Some people buy it, others receive illegal copies from those who purchased it, and the producer hopes there is enough of the prior to make it worth his time. A good deal of "anti-piracy" measures involve adding value to purchased copies; attractive packaging, added support, priority access to updates, etc.
This can work for copyleft software as well, except we don't call it piracy since copying is legally permitted. The same value-added tricks to encourage purchase applies. However, the concept of games as a "product", something static that you buy, consume, then discard, is disfavorable to us. We can do much better with "gaming as a service".
Remember: software freedom is the best "selling point" you could ever have. The proprietary game market is flooded, copyleft game are low supply and in an ever-growing demand, it doesn't take a business guru to see where the money's to be made.