Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I wrote a small multiplatform app and I am considering publishing the osx version in apple store. I've licensed the app under a GPLv3 license.

I sort of like the GPLv3 license but I also like the easiness of apple store. I'm worried about the GPL's "freedom to distribute a copy" requirement - which seems to be incompatible with apple store policies (I think there is a line that states that downloads are for personal use only).

Is this a valid concern? Can I meet the requirements of the GPL by distributing the osx binary at the same place as the source, since I can't do it in the apple store? Or is this forbidden by the apple store policy (it seems to require that apple store software be downloadable only from apple store)?

edit

By apple store I mean mac app store (gpl is not compatible with iPhone's app store).

edit 2

I add a good clarification to the accepted answer from the comments by Abhi Beckert:

So, if you wrote all the code yourself then you do whatever you want including releasing it on the Mac/iPhone App Stores. If you didn't write all the code, then you need permission from anyone who ever wrote even one line. All of the GPL apps which have been pulled, were pulled because one (or more) of the developers demanded that it be taken down. Once that happens, Apple must pull it, or they'd face criminal charges

And in practice: remove all mercurial changesets that are not yours and make the program work after that (or ask for approval from the person who wrote the changeset).

share|improve this question
3  
Do you include any third-party code in your app? If it's all your code, then it should be possible to simply dual-license your code: one for App Store, one for everything else. – Dean Harding Mar 30 '11 at 22:29
    
Your other solution is to pick a license that better suits your needs. If you really want to give people unrestricted use of your source code and app (a noble goal IMO!), there are licenses that are more conducive to that (BSD, MIT, etc). (note: I'm not trying to start a license war; I'm just saying if whatever license you picks makes things more difficult for you, pick a different license) – Bryan Oakley Dec 2 '11 at 12:11
    
Even GPLv2 would be better. GPLv3 specifically says I need the ability to make changes and install them; therefore, I'd need whatever key it is that would allow me to install a modification on my iPhone. – David Thornley Dec 19 '11 at 15:40
    
@BryanOakley Yes, I agree that in this freeSources-vs-apple case another license would be the simple solution, but then this question and comments would not exists: "Can I sell compiled MIT-licenced-code in apple store? Yes, case closed." Also, I am partly pissed off from apple policy and thus GPL (If Steve Jobs can hear this, "Software should be free, you *******"). My software would be free in appstore, if you wonder the "selling"-aspect. – Juha Dec 20 '11 at 19:19
    
@DavidThornley: by appStore I meant the mac app store. Iphone is not compatible with any GPL licenses. This is if you are not the only author of the code. – Juha Dec 20 '11 at 19:21
up vote 9 down vote accepted

If you own 100% of the code in your application, (like in the iRail example you linked to) then you can dual-license the code: one for AppStore and one for everybody else.

If you don't own 100% of the (i.e. you make use of GPL third-party libraries) then you also need to get permission of those copyright-holders, and you need to get a new license from them before you can put it on the AppStore.

Note that not all open source licenses have the same restrictions as the GPL. I believe BSD, MIT and some other licenses would be compatible. (but IANAL)

share|improve this answer

No for GPLv2 - see news articles re VLC and App Store and I would assume GPLv3 makes it even more so unless all contributors agree to use a different license to put it in the App Store

Brett Smith, Licensing Compliance Engineer, Free Software Foundation has given his views on the videolan mailing list,unfortunate the list has gone but quoted here

In a note to the VLC membership list, Brett Smith, FSF Licensing Compliance Engineer, wrote that because "Apple 'only' allows you to do the activities in the list of Usage Rules, if an activity does not appear in this list, you're not allowed to do it at all."

share|improve this answer
    
How about this one (iRail)? bonsansnom.wordpress.com/2011/01/08/… "Good news! We are still on the appstore although we use the GPL." The programmer claims that he still owns the rights to the code even it is GPLed and thus can put it to apple store. – Juha Mar 30 '11 at 22:42
    
IANAL - but read all of the FSF's views 0 and as the iRail article says "...by adding it to the appstore we gave Apple the exception to put it online by ignoring the third freedom." So is it pure GPL? – Mark Mar 30 '11 at 22:49
2  
As I mentioned in my answer, iRail own 100% of the code in their app, so they simply chose to dual-license it: one for App Store, and one for everybody else. – Dean Harding Mar 30 '11 at 22:54
    
Hmm, ok. In the case that app store is the only distribution channel then there is a contradiction... but now that I have googled, there are a lot of apps that are GPLed and in apple store. So, for now, it should be ok to put the binaries there and sources somewhere else. Also I found this: apple.stackexchange.com/questions/6109/… – Juha Mar 30 '11 at 22:59
2  
@Juha GPL's terms and conditions do not apply to the people who originally wrote the code. They only apply to those who take the code and use it. So, if you wrote all the code yourself then you do whatever you want including releasing it on the Mac/iPhone App Stores. If you didn't write all the code, then you need permission from anyone who ever wrote even one line. All of the GPL apps which have been pulled, were pulled because one (or more) of the developers demanded that it be taken down. Once that happens, Apple must pull it, or they'd face criminal charges. – Abhi Beckert Dec 1 '11 at 4:12

If you are the copyright holder, you can do whatever you like.

As far as Apple is concerned, they require that you agree to their default license (which allows me, as the end user, to download the app onto multiple devices, for example). On the other hand, you can also have your own license. Both licenses apply. A license gives the user permission to do things beyond what plain copyright law allows, so as an end user in your case I would be allowed to do whatever Apple's default license allows, plus whatever GPL v.3 allows.

As far as open source fanatics are concerned who have no copyright to your code or parts of it, nobody cares.

If you have other copyright holders to GPL licensed code, what matters is not whether it is legal or not, what matters is that they can send a DMCA notice to Apple, and Apple will take down your application. If a copyright holder says they don't want their code on the App Store, then it gets removed. Whether the copyright holder has the right to make this demand or not, Apple doesn't care.

Note that when people download from the App Store, they don't pay for the software, they pay for the license (that's what Apple says). On the other hand, various GPL licenses allow you to charge for the software as much as you like, to charge for source code as much as it costs you, but not to charge anything for the license. Both combined it seems you cannot sell GPL licensed software for money on the App Store, only if it is free. Again, it only matters if someone complains. And if it is completely your own code, you are free to do whatever you want.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.