
IANAL, but my reading of GPLv2 is that Apple violates the GPL by publishing apps compiled under GPL licenses (v2 or v3).
Apple requires that all applications on its platform are signed with a private key as part of their DRM system. The actual "object code" the end user receives is encrypted with this key (and a small bit of its own special DRM sauce, from what I hear). Therefore, under the GPL, Apple would be required to provide the key used to make this encrypted copy of the application, and the source to any other inlined (not linked) DRM code (that is, everything that constitutes part of the "source code" of Apple's 'derivative work' based on the GPL'ed app submitted by the developer). From the GPLv2:
For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
And to the commenters screaming "it's ok because it's GPLv2!", this would NOT require the "tivoization clause" covered by version 3 of the GPL (the requirement to provide "Installation Information" for a "User Product", because the applications in question are not part of the original User Product being sold in the first place, and so they wouldn't be covered.
The "operating system exception" (the one that provided the GPlv2 loophole for Tivo) doesn't cover the private key in an iPhone app, because the private key for a specific published app does not constitute any of "the major components (compiler, kernel, and so on) of the operating system on which the executable runs".
Seems to me that a quick Cease and Desist letter to Apple from one of the original software's authors for failing to provide source to the encrypted object code would be all that's needed to settle the debate. Of course, Apple would probably err on the side of caution and pull the app anyway, rather than mess around with potentially defending themselves in court for a GPL violation on behalf of a lone developer.
Thanks for the comments, and yeah I should have mentioned that we're focusing on games specifically for now. The site is still very beta so we're still trying to figure out the best parts to focus on building and improving.
I think my biggest beef with all of the 'app stores' out there is that they already existed in one form or another.
Well, sure, but in a much lesser form. There have always been sites that can put up a bunch of Java games for sale, but I wouldn't consider those sites to be the same class of store that Apple first introduced, and that all of the upcoming 'app store competition' will offer. The huge difference is the level of integration with the device and with the user. You maintain an account with the App Store where you can manage all of your purchases, downloads and payment information, rather than just perform a one-time download of a file off a website. You also have a customized catalog application on the phone itself that makes it much more convenient to find and download new applications. Apple also included a very usable developer SDK which really paved the way for small, independent developers to start making applications themselves.
Finally, there's the huge task of creating an easy to use system through which developers can submit and publish their own paid applications, and receive a split of the proceeds. Setting this up is actually the biggest challenge in my opinion, as well as one of the biggest draws that will bring publishers to these new stores (and I assume that this is why Google took so long to open up the Android store to paid applications).
If these features are not present in the upcoming competition then it wouldn't be fair to even put them in the same category, since this is precisely what distinguishes these new efforts from the existing third-party application portal sites that have already been around for years. If all we're going to see from these is just more of the same sort of pre-App Store mobile application portals, then that would definitely be a step backward.
If you think it's limited to J2ME 'phones then have a look at AndAppStore.com who've been offering Android apps for months and aren't Google affiliated in any way.
Java != J2ME. The Android platform is most certainly also Java-based, even though it's a little different from Sun's CLDC/MIDP/J2ME platform, and third-party app stores can definitely support those devices as well, as we also have plans to down the road.
"The Computer made me do it."