Trademark Usage Policy
Whereas the purpose of copyright law is to give monopoly control over how a creative work may be distributed to its producers, the purpose of trademark law is to protect the public from misrepresentation of a work or service.
This policy is effectively supplemented terms as permitted by AGPLv3 section 7(c) and 7(e):
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or [...] e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
As our copyright license and available source code permits anyone to make modifications and distribute variants of our software, these trademark policies are intended to ensure the quality of works marked our brand.
Within the field of entertainment software the brand "Soy" and derived marks are claimed. This includes, but is not limited to, PySoy, libsoy, and Soy clients.
The following uses require no additional approval or permission:
Redistributing source code or binary packages requires no additional permission so long as no modifications were made. This includes:
- Providing a public clone of our Mercurial repository in any form, including archived "snapshots" which are clearly marked as such
- Redistributing official, GPG-signed source tarballs
- Redistributing official, unmodified binary packages (including those sold commercially)
Packaging our software in source or binary form is permitted so long as the installed version is API and functionally equivalent to our official release.
We trust in the wisdom of packagers to determine the best way to compile and install our software for a give platform including splitting our release into separate packages (ie, -dev, -docs, -examples, etc), optional build flags (IUSE="examples"), or compiler optimizations.
We ask that packagers run our unit tests using the installed copy to ensure it was installed correctly, but we do not require packages for specific distributions pass our QA process before being released.
We do reserve the right to ask for the removal of a faulty package in order to protect our brand. For example, if the "websoy" package Guerrilla Linux is found to be built with compiler settings that cause the browser plugin to randomly crash on AMD processors we will contact the packager asking him/her to remove or rebrand it if the problem cannot be fixed in a timely manner, and we may use trademark enforcement to force the issue if necessary.
Games that use an official release of our engine may use our branding in connection with their software, including our logos on marketing material, packaging, or displayed within the software without additional approval from us.
All modifications to the source code or binaries require permission before being redistributed under our brand, notably by downstream packagers.
This is a basic quality assurance requirement to ensure the engine's API and functionality remain consistent across platforms. Our development team is open, virtually anyone is encouraged to contribute, and we welcome suggestions on how to improve our engine. It generally takes no more than a few hours for a patch to be reviewed and approved.
Please ask our approval before distributing a new Soy frontend such as a browser plugin, stand-alone client, IDE wrapper, mobile phone app, etc using our brand.
We of course encourage development of these clients, however, they are responsible for .soy file management and other critical functions which are fairly easy to break compliance with in a manner which isn't immediately obvious.
If you are interested in developing software along these lines we prefer that you get involved with our development team directly so we can help with your endeavor.
Alternative Language Bindings
PySoy is designed from the ground up as a Python-based game engine, though the C-based backend (libsoy) makes it technically possible to use most of the functionality from virtually any language.
Our brand represents the whole of our engine, notably the interaction between the Python language and non-Python Soy clients, and not just to the use of our backend library. Therefore, we do not permit the use of our "Soy" brand in connection with alternative language bindings (ie, "SoyJava?").
You may of course use branding which does not confuse the public as to its nature as a separate product in connection with alternative language bindings to libsoy.
While technically possible for an original work to be form and function compatible with Soy clients, especially given that our source code can be studied in full, we reserve our "Soy" brand to software based on our GNU AGPLv3-licensed game engine.