If I develop a game in Xamarin Studio using Monogame and want to release it for iOS and Android which uses Xamarin can I do so for free? Do I need to attribute anyone?
From Xamarin's side of things:
If you are an individual working on your own applications to sell or for any other purpose, you may use the software to develop and test those applications.
From MonoGame's side of things, the Microsoft Public License is a rather permissive license. You are, as permitted by all FOSS licenses, free to use and redistribute the software (section 2). Section 3 places some conditions on these rights, of which the following are relevant to you:
(A) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.
So don't go saying that you are MonoGame or using their logo.
(C) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.
Since you will be distributing part of MonoGame with your game, you would be best advised to include a copy of the
LICENSE.txt file from their repository, which includes their copyright notice. Also, don't go into any of their source files and remove copyright notices from them. Maybe the library prints out a copyright notice every time it's initialized; don't remove that.
(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.
- You are not required to publish the source of an executable you create based on MsPL code, so if you don't want to make your game open-source, you're free to do that
- The license does not impose itself on things that merely link to the software.
If you were copying source code from the project into your game, that would be a different story, but as it stands you need only distribute MonoGame under the MsPL.
- Don't use MonoGame's name or logos
- Include a copy of their
- You can license code that you own and your program as a whole under almost any terms you choose, but MonoGame must remain under the MsPL if you distribute it.
The combined copyright notice would be something like:
Game files (c) StackNinja and licensed under [whatever license you choose]
MonoGame (c) the MonoGame team and licensed under the Microsoft Public License".
However, you should not distribute your game under the GNU General Public License; as the two are incompatible. You are free to do so as the copyright holder, but if you did, recipients would face a conflict of restrictions. The GPL demands they redistribute the entire source of the program under its terms, but the MsPL demands that the source of the MonoGame libraries be distributed under the MsPL. The only way they could comply would be not to redistribute your game at all, thus losing an important freedom.