Hacker News new | past | comments | ask | show | jobs | submit login

Other way around - the app store does not allow distributing the source along with the app. So, strictly speaking, publishing GPL software in the App Store is in violation of the GPL.

If you - as a rights holder - are okay with having the source downloadable at another location, you can definitely publish GPL software using the App Store. Case in point: Battle for Wesnoth.

You do not have to distribute the source code of a GPL application with the binary. You merely have to make it available. For example, I have an Ubuntu Linux install CD with lots of GPL binaries and no source. It's perfectly legal for that binary-only CD to be distributed.

AFAIR from the VLC case, software distributed on the AppStore has extra restrictions on the user (You can only use it for personal reasons, you can only install (use?) it on 5 (or so) machines, etc.) GPL software cannot be distributed under these extra clauses.

If you are the sole programmer & copyright holder, then you are free to relicence/release your work under some other licence that is OK with these.

However if you are incorporating other GPL software (like in the VLC case) then you do not hold the copyright on that software, so the person who does have copyright on it is letting you distribute the software so long as you agree to certain terms. You cannot distribute someone else's GPL software on the Apple App Store because you would not be meeting the GPL requirements of "do not place any other restrictions on the software".

I delibrately phrased it as "Apple doesn't allow GPL" because this is not a technical problem, but a legal/contractual/business problem. Apple could choose to allow GPL. They do not. Microsoft, who called the GPL cancer, allow GPL Apps on Windows.

Okay, thanks for the detailed explanation and the reasoning behind that sentence. Yes, Apple did not take any special action to support GPL in the app store.

Personally, I find it surprising that Apple, which leveraged open source to a huge effect and took stewardship of some high-profile OS projects (webkit, llvm/clang, CUPS), but allows other companies to position themselves as "open source friendly" alternatives. Especially as one of those companies is Microsoft.

Apple did not take any special action to support GPL in the app store.

You do not need to take any special action with any operating system to get it to support the GPL. What Apple have done is done special action (lots of EULA/contracts/etc.) that explicitly disallow the GPL.

The reason (I think) Apple are explicitly disallowing the GPL is because it would be incompatible with the DRM type systems that Apple use. It's more a case of 'If Apple distribute GPL software on their App Store, they might have to give away the DRM keys and allow anyone to run any programme on their iPhone'. That situation is something Apple don't want.

GPL programmes are still allowed on OSX obviously, and I think some of Microsoft's mobile and/or app store thingie explicitly ban GPL as well.

Yes, you do (sometimes) have to take special action to support the GPL. For example, Ruby recently changed its license to allow the bundling of readline 6 with MRI. This was a distribution problem as well.

Show me the places where Apple EULA "explicitly" disallows the GPL (and not just includes things that are incompatible with the GPL). There certainly is GPLed Software in the app store, even with a notice included (see Battle of Wesnoth). If it was explicitly forbidden, that would not happen.

My interpretation is that Apple just doesn't care. The want Apple-signed code on their devices and if your license doesn't allow signed code, they won't help you. This by itself is sad and I would very much hope for that to be different, but not "explicitly disallowing".

I think MS were the ones that explicitly mentioned the GPL.

Apple do not explicitly mention it, however they have chosen to add extra restrictions to their licence, which goes above and beyond a normal "Download software from this web host". Explicit clauses that make the GPL incompatible are the same as "explicitly banning GPL apps".

The GPL is a massively popular licence, I believe Apple would have considered it. They appear to have rejected it.

You merely have to make it available.

Also, you don't have to make it available forever, I think the GPL says you only have to do it for 3 years. So you don't have to worry about someone in 50 years demanding some source code.

Does the App Store explicitly disallow bundling the source code inside the app? What if you added a .zip with the source into the app, and on app startup you copy the .zip out of the Application directory into the app's Document folder, which is accessible via iTunes (as long as you set the appropriate flag in the app descriptor plist to enable document sharing)

Bundling of source code with binaries is not required under the GPL. You can have it on your website. However the App Store EULA etc. are incompatible with the GPL (cf. http://news.ycombinator.com/item?id=3489115)

Interestingly, there seems to be an exception for open source licenses in http://www.apple.com/legal/itunes/appstore/dev/stdeula/ (I assume this is the relevant appstore eula); look at the end of:

"You may not copy (except as expressly permitted by this license and the Usage Rules), decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, or create derivative works of the Licensed Application, any updates, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of any open sourced components included with the Licensed Application)"

I assume this is what makes the LGPL okay to use? (LGPL explicitly requires allowing reverse engineering of the entire application, even the non-LGPL parts)

(I don't know much about iOS development, so will take your word that this is the standard licence that software on the AppStore goes to the customer under)

There are numerous parts of that licence that are incompatible with the GPL and other Free Software/Open Source licences:


This license does not allow You to use the Licensed Application on any iPod touch or iPhone that You do not own or control, and You may not distribute or make the Licensed Application available over a network where it could be used by multiple devices at the same time. You may not rent, lease, lend, sell, redistribute or sublicense the Licensed Application.

If $COMPANY (e.g. Canonical gives me a Linux kernel) gives me a piece of GPL software, I am allowed to install that on numerous devices, I am allowed to sell that software myself and keep all the money myself, I am allowed to install that software on my friend's computer. All of these actions are prohibited by that Apple Licence, and hence in order for Apple to give/sell me a GPL programme they would have to change that.

Apple have chosen to get around this situation by not giving me any GPL licenced software.

I don't think so. But as always, someone has to try and get it through app store review.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact