Still, it hopefully won't be an issue here, and this is still a really awesome thing to do.
Still, it hopefully won't be an issue here, and this is still a really awesome thing to do.
This works even if your code is GPL. Even though the terms Apple imposes on those who obtain software from the App Store are against the GPL, that doesn't matter in this case, because Apple isn't relying on GPL for permission to distribute. They are relying on the license you give them as part of submitting the app.
In other words, when you put GPL code THAT YOU OWN on the App Store, you are actually dual licensing it--GPL for the world, and a special license for Apple.
The problem arises when you do NOT own all the code in your app. Then you need to make sure that the owners of the code that isn't yours give Apple permission to make and distribute copies of their code.
This is what brought down VLC. The people that made the app owned some of the code, but not all of it. They were only able to dual license the code that they owned. One of the owners of some of that other code was not willing to dual license it. He was only willing to distribute under GPL.
As far as I know, Apple presumes that the submitter of an app has all the licensing details worked out. They only pull an app if someone with standing complains.
Putting that all together for the Insurgent Games code:
1. Their repositories include library code that they do not own. I looked at a few of these, and they seemed to be under permissive licenses, so they should be no problem if you wish to use them in a game.
2. The Insurgent Games code that they own is under GPL. Like any other code that you don't own, if you use it in your app and try to put it on the App Store, you need to arrange for a license that allows Apple to distribute.
Presumably Insurgent Games does not have a philosophical objection to the App Store, so if you just went ahead and used their code in your game there's probably a decent chance they would not object. However, it would be best to clarify this with them.
If they do intend to allow people to use their code in apps on the App Store it would have been better for them to use GPL with an exception for this rather than straight GPL. If they do NOT want to allow this they should add a note in the README saying so.
3. Keep the above in mind if you build a game using some of the Insurgent Games code, but bring in outside GPL code. You'll need to make sure the owner of that outside code is OK with App Store distribution if you are going to distribute your app that way.
This game is licensed under the GNU General Public License (see gpl.txt). As the copyright owner, I hereby give anyone permission to re-license my GPL code under a non-GPL license for the purpose of distributing it in the iOS App Store or the Android Market.
So people are welcome to fork my project and still publish in the App Store without even having to contact me.
Would you be willing to write up a retrospective? You guys have made quite a few games, so hearing your experiences in development and what worked/didn't from the business side would be interesting.
Anyway, thanks for sharing.
I too would like to know your experiences as far as the business side is concerned.
So I just me giving my permission before anyone has to ask, but only for the purpose of App Store distribution. They're not allowed to re-license my code as proprietary for any other purpose.