Apple - Is it possible to have GPL software in the Mac App Store?
If you mean taking software that you do not hold copyright to, and which you are only allowed to use and copy because it was licensed under the GNU GPL, then no.
The FSF spells it out here: section 6 of the GPL says "You may not impose any further restrictions on the recipients' exercise of the rights granted herein", and the Mac App Store Terms of Service explicitly add other restrictions.
The Software Freedom Law Center's legal representative confirmed this: the App Store agreements, on all platforms, are incompatible with the GNU GPL.
Apple seems to be disallowing GPL programs in the App Store as a matter of policy, but if you managed to sneak one through, then the author of the program could go after you for violating their copyright.
A completely different case is where you hold the copyright to a piece of software. In that case, you are welcome to distribute it under more than one license. (For example, Firefox was for a while licensed under the MPL, GPL, and LGPL. MySQL is licensed under the GPL and also a proprietary license.) So if you sell a program through the Mac App Store, you can also release it under the GPL -- assuming you are allowed to do each of these things independently.
(If you wanted to use somebody else's GNU GPL-licensed code in one of the App Stores, you could write to the copyright holder and see if they're willing to sell you an alternative license to their software. They're under absolutely no obligation to do this, of course.)
VLC ran into trouble (I think) because copyright for the software was held by many different people, and the whole program was only allowed to be distributed under the GPL. Some programs sidestep such issues by requiring contributors to assign copyright to them, but most don't.
I think the primary sticking point with the iOS App Store was the fact that even if you had the source code it wasn't possible to modify and redistribute an application to iOS devices without agreeing to Apple's iOS App Store terms, as that is the only way to get apps on the device.
The same is not true, however, with the Mac App Store - you could easily provide the source that people can use to modify and distribute the application outside of the Mac App Store, so I think there is no problem with GPL'd apps in the Mac App Store.
We have a GPL project which we'd like to distribute on the MAS. In my (non-lawyer) opinion it's probably OK to distribute on the MAS, but we may not take the risk with our project. It's a decade old project with none of the early developers involved anymore, so we need to be careful about perfectly following the GPL.
I think the primary sticking point with the iOS App Store was the fact that even if you had the source code it wasn't possible to modify and redistribute an application to iOS devices without agreeing to Apple's iOS App Store terms, as that is the only way to get apps on the device.
If you have Xcode, or if your device is jail broken, then you do not have to agree to the iOS App Store terms to distribute and install open source software. How does this not satisfy the GPL?
I realise you have to agree to a license to install Xcode, and many users are unwilling to jail break their device (I wont do it). But GPL doesn't require your software to be installable by everyone who downloads it. How is that any different from, say, distributing software that only runs on windows, which cannot be used by linux users unless they purchase a windows pc and agree to the included EULA?
The same is not true, however, with the Mac App Store - you could easily provide the source that people can use to modify and distribute the application outside of the Mac App Store, so I think there is no problem with GPL'd apps in the Mac App Store.
What exactly would the requirements be? Do you have to distribute both binary and source code outside the app store, or is just source code enough? Seems like you should be able to have a binary-only distribution on the app store, and a code-only distribution on your website (eg: google code).
Avoiding a second binary distribution would be nice, our team doesn't do binary releases as often as we should — simply because of all the work involved.
This mess is one more reason to change to MIT or BSD, a process we had already begun for other reasons, and are soon to complete. We should be fixing bugs, not discussing the legal restrictions dictating precisely how we give our work to the whole world.