Apple further explains why Game Boy emulator iGBA was removed from app store
macrumors.com
macrumors.com
Really just makes you think how much easier things would be if you could simply distribute Open Source apps safely on iOS. This one-two step of ad-ridden forks and who-knows-what isn't making things any easier for users. Nobody wants good software to be polluted with anti-features and redistributed by someone that isn't the maintainer.
This would be circumvented if the legitimate version was easy to get. Deceptive forks should still be removed at the store/repository's discretion, but the same goes for proprietary knock-offs like the Lastpass trojans and fake banking apps. It's less of an "Open Source" issue and more of an "App Store" one.
There are some rare exceptions to this rule, but for the most point smart phone apps are bad for the user, and built to favor the company who's provided them.
Enabling installation routes that aren't solely money-extraction machines will go a long ways towards changing things. It won't inherently stop people from abusing social media or screen time, but it might stop people from watching ads or paying money to use a PDF reader. That's a win in my book.
> Due to the licensing of emulator cores used by Delta, I have no choice but to distribute Delta under the AGPLv3 license. That being said, I explicitly give permission for anyone to use, modify, and distribute all my original code for this project in any form, with or without attribution, without fear of legal consequences — unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required.
So it sounds like Apple is going out of their way to enforce the non-standard licensing clause of some third-party developer (who until this weekend would have been considered a somewhat hostile party from Apple's perspective)? Is there any precedent for this, or is it just a convenient excuse?
> The GBA4iOS codebase is distributed under the GNU GPLv2 license. That being said, I explicitly give permission for anyone to use, modify, and distribute my original code for this project without fear of legal consequences — unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required. Dependencies remain under their original licenses.
It says it is GPL then adds additional terms—is that even allowed by the license?
> Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein [...]
So while the original author(s) could file license infringement terms against the author of the derivative software, they don't have to in order for third parties to be able to use the derivative under the terms of the GPLv2.
At least that's my read on the GPL, and it matches the expected outcome – I'm not a lawyer and I'm not aware of any court cases focusing on this particular clause.
So that "I explicitly give" is a separate license you can use the code under, the GBA4iOS license, if you will, which is for anything but the App Store.
It is more complicated in this scenario where GPL-licensed code written by other people is involved.
However, it's pretty obvious the intent whatever the wording and machinations may be.
The licensor of the derivative work can refuse to give you a licence unless you agree to some other terms (e.g., money, and/or the right to terminate the business relationship if you exercise your GPL rights), but those terms cannot directly prevent you from exercising your GPL rights, or the licensor would be in violation of the GPL.
Then that license is not GPL. As a rights holder you may license or not license your work however you want. Is there a jurisdiction where this is not the case?
If Apple allowed GPL code then the restriction wouldn't be valid, but as it is it is only a restriction to the additional permission.
From the repo:
> written permission from me is explicitly required
That does not sound like an additional permission to me.
He's including GPL-ed code, which means he must make his own code available under the GPL (without additional restrictions) as well.
Of course he can make his code (and only his code) alone also available under a more or less restrictive license, but anybody would be free to ignore all additional restrictions and just follow the GPL.
>That being said, I explicitly give permission for anyone to use, modify, and distribute all _my original code_ for this project in any form, with or without attribution, without fear of legal consequences — unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required.
so they're not doing that
The rules are simply a pragmatic response to their business goals.
> Licensing
> The GBA4iOS codebase is distributed under the GNU GPLv2 license. That being said, I explicitly give permission for anyone to use, modify, and distribute my original code for this project without fear of legal consequences — unless you plan to submit your app to Apple’s App Store, in which case written permission from me is explicitly required.
(emphasis mine)
My non-lawyerly interpretation is that both parties seem in the wrong.
I believe that is the case, yes.
The GPL has a "sticky clause" that attempts to make all code deriving from/including GPL-ed code GPL-licensed itself, without requiring the original author to be the one that enforces this:
> Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein.
I have no idea if this practically works in court, though.
Emphasis mine. The author is giving permission to use their original code but doesn't re-license anyone else's code. They're explicitly offering their own code under a dual license.
I suppose they could try to establish something like a "first/original app wins" clause to prevent distribution of builds of paid-but-GPLed iOS apps, but that feels like it would at least clash heavily with the intent of the GPL.
Makes me wonder, if App Store distributes a GPL app which doesn't link to source, is Apple obligated to distribute the source? Seems like they'd have to.
The project README says it's “distributed under the GNU GPLv2 license”, which isn't helpful, either. Under the usual reading, the GPLv2 is only compatible with the GPLv3 if the GPLv2 licensing declaration comes with the “or later” clause.
Of course I don't know if Apple even looked that far.
Analogue Pocket
Everything Game Boy and so much more.
Here's a primer on the current <$100 market: https://www.youtube.com/watch?v=6UGr42nOv54 . Above that price bracket there's options like the Retroid Pocket 4/Pro, which get into the territory of being fast enough to emulate the Gamecube/Wii/PS2.
D-Pads especially are hard to get right. You can either be way too lenient on diagonals, or way too hard to hit diagonals. I had a Chinese handheld where you couldn't consistently hit Down while holding Right. Sonic runs into the enemy because his roll attack didn't start.
Costs less then the shipping of an Analogue Pocket to the UK /Europe (when you add the import tax+fees to the excessive shipping cost) and gives a decent pocket-sized gaming nostalgia hit.
Another alternative is to upgrade a real GBA or GBA, there's IPS screen kits, replacement shells, and modern rechargeable battery packs available now. Also for less than the shipping of an Analogue Pocket, if you've got a device to upgrade.
The Analogue Pocket was unobtanium for so many years that relatively inexpensive alternatives appeared. And while FPGA gaming is great to reduce input lag or to output to a CRT, the benefits are less obvious on a small handheld.
His emulator collection "Delta" is the flagship app of AltStore, which uses Apple's Developer program to let you sideload apps without jailbreaking your iOS. It's all pretty above-board, and if Nintendo wasn't the one to take this app down, it would be a perfect fit.
Speculation (and conclusions!) all over the internet, including this site, post-emulation announcement was that Apple wouldn't allow retro game emulators, so this confirmation is pretty exciting[0].
[0] For some reason, any time someone says something like this, someone has to jump in and point out Android has allowed emulators forever. To anyone tempted to do that: so what? We aren't talking about Android.