GPLv2 is especially problematic for apps available via the Apple App Store and Windows Marketplace, but you have alternatives

App stores are all the rage these days, with companies vying to release their software ahead of competitors. Not surprisingly, open source components are being used to speed development of these applications. But companies need to ensure their open source usage fits within the requirements of both the app stores and open source component licenses -- or risk removal from these outlets (and not just Apple's).

Another issue to consider is that the terms of service at the most popular app store -- the Apple App Store -- is incompatible with the GPLv2 license. Companies considering using GPLv2 components in their App Store-destined application should think twice, unless the incompatibility is resolved. Until the GPLv2 and App Store incompatibility is remedied, I encourage you to seek legal counsel before using GPLv2 code in your App Store-destined applications.

What's the issue? The GPLv2 license doesn't allow someone to impose further restrictions on the code than outlined in the original licensor agreement. The GPLv2 also doesn't allow restrictions on usage. On the other hand, the Apple App Store terms of service prohibits usage as defined in the list of rules: If an activity does not appear on the list, a user is not allowed to employ the App Store application in that way.

In effect, in the context of a GPLv2 license, an Apple App Store item that abides by Apple's terms of service is deemed to be restricting usage and imposing further limitation on usage rights than were envisioned by the original licensor of the open source code.

Far from being an abstract example, this situation is precisely why the popular VLC media player was removed from the App Store.

Although Apple does not explicitly prevent applications from using GPLv2 licenses (the de facto prohibition comes from the conflict with Apple's terms), Microsoft made waves when it was revealed that the Windows Marketplace did not allow apps to use copyleft licenses such as GPLv2. Considering the situation that companies face when developing for the Apple App Store, you can understand why Microsoft thought it easier to disallow the use of GPLv2 altogether.