GPL Enforcement in Apple's App Store
fsf.org
fsf.org
http://www.drobospace.com/forums/showthread.php?tid=935&...
I'm not a fan of bashing Apple at every occasion, but a shakedown of phone software licensing would not hurt — it would actually clarify the situation (both for iPhone OS and Android) and perhaps force companies to change the terms of service somewhat.
UPDATE: I double-checked and since my last request they actually posted an E-mail address where you can supposedly request the code. I did request the code and I'm waiting to see what happens.
Also, for those who think this is fanaticism: I'm doing this, because the DroboShare is unreliable and lost my data by corrupting the entire Drobo volume. I need the code, because I want to check whether Drobo actually improved the Linux HFS+ code or not (I suspect not).
http://support.datarobotics.com/app/answers/detail/a_id/434
Seems you can request the code by e-mail. No idea why they'd like to know your company affiliation though.
Marketing.
If someone would like to see more FSF actions, I would suggest they donate to the FSF, volunteer time to the FSF or release code under the GPL.
Donation page: https://my.fsf.org/donate
For the same reason, I am against assigning copyrights to the FSF. I would like to be sure that once someone takes over from Richard Stallman, FSF under new leadership will not be able to do things to my code that I wouldn't want done.
I belive they can't really do anything unless they own the copyright, as they do with GNU Go. The Linux HFS+ code is probably owned by whoever wrote it for example.
http://www.technewsworld.com/story/43996.html
(article written from a 'how much can you get away violating the GPL' - not my feelings but it make, the FSF is who comes after you).
For reference, a copy of the GPL V2: http://www.gnu.org/licenses/gpl-2.0.html
Section 6:6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
http://www.eff.org/deeplinks/2010/03/iphone-developer-progra...
After reading that, my best guess for the GPL violation would be Section 7.2, which "makes it clear that any applications developed using Apple's SDK may only be publicly distributed through the App Store."
But the worst part for Apple, I would think, is the review. Even though it's not their fault that some developer submitted an infringing application, they approved it. IANAL, though, so I don't know exactly what Apple is on the hook for. My guess would be that Apple will pull the application and blame the developer, but I don't know where it'll go from there. It really seems like they're more interested in Apple than the developer, after all.
The GPL applies to anyone who distributes a GPL product. Apple is the distributor.
Analogously to this case, if my local store doesn't refrigerate its milk properly, I don't sue the dairy farmer. Apple's App Store is a store in exactly the same sense.
If your grocery store fails to refrigerate otherwise perfectly good milk, the analogy to the App Store would be that Apple injected GPL code into the app.
No, if Nabisco violates a copyright agreement with the box design of some cookies, and your grocery store sells them (unknowingly), the grocery store is not at fault.
Car manufacturer : producer. Car dealership : distributor.
Software developer : producer. Apple App Store : distributor.
This sort of "if you touch GPL in any way" reading isn't a very positive one for copyright in general, and I think it'd be a pretty bad faith argument to make. I think, then, that the FSF's argument must be a more nuanced one; but like pierrefar I can't quite suss out what, exactly, they object to.
The App Store obvious violates the spirit of the GPL in about a dozen ways, but it's unclear to me how the app store violates the letter of the GPL.
Furthermore, the App store license forbids end-users from redistributing binaries, which again, is a cut and dry violation of the GPL, since it not only says the opposite, but that you must allow them to distribute binaries and source. This isn't an "if you touch GPL in any way" problem. It's a "if you give someone something under the GPL, you must follow the GPL."
Apple is not a dumb pipe. They are hosting the software.
Why do you need to do this? I'm trying to honestly engage with the ideas presented here, and what's clear to you isn't clear at all to me. Why do you assume I'm operating in bad faith?
Apple is not a dumb pipe. They are hosting the software.
Clearly, and clearly it's an important difference. But I'm not so sure where the legal line is drawn.
What about SourceForge? They have a EULA, right? Have they carefully written one that's compatible with the GPL? Or what about language package hosts like RubyGems, PyPI, or CPAN? Do they need to be careful about any terms and conditions to avoid violating GPL'd apps placed on their repositories?
I'm not a lawyer -- are you? -- and I certainly don't claim to be an expert here. But even if you think I'm an idiot the fact is I actually know quite a good deal about copyright and software licensing, and I still don't see what the FSF's particular legal argument is. And I do want to understand their argument, especially as it applies to other types of "app stores" that might distribute open source code on behalf of other users.
As for what the FSF is arguing, it is that iTunes has a blanket license that limits how many devices you can use the app on, which is pretty much against the part of the GPL that says you can't restrict the license further, or add any additional clauses.
Further, Apple may be required to host the source themselves as intermediary distributors of GPL software (by which I mean make available to additional customers beyond the original authors' reach, not act as a shipping company -- i.e. they are resellers).
I don't think the original author's actually violate the GPL, they provide the source to Apple... and they probably don't restrict the license at all.
The DMCA relationship you're thinking of is the "safe harbor" provision for ISPs that respond in a proscribed manner to copyright infringement notifications.
Wikipedia link (which is, sadly, very poorly edited right now): http://en.wikipedia.org/wiki/Common_carrier#Telecommunicatio...
I think that it's been pretty well established by the EFF/FSF/etc that the GPL is largely incompatible with the AppStore, so really, it's the author who should be on the hook for this.
The relevant sections of the App Store ToS: (http://www.apple.com/legal/itunes/appstore/us/terms.html)
There are two (2) categories of Products offered through the Service, as follows: (i) those Products that have been developed, and are licensed to you, by Apple (the “Apple Products”); and (ii) those Products that have been developed, and are licensed to you, by a third party developer (the “Third Party Products”).
The Application Provider of each Third Party Product is solely responsible for that Third Party Product, the content therein, any warranties to the extent that such warranties have not been disclaimed, and any claims that you or any other party may have relating to that Third Party Product or your use of that Third Party Product. You acknowledge that you are purchasing the license to each Third Party Product from the Application Provider of that Third Party Product; Apple is acting as agent for the Application Provider in providing each such Third Party Product to you; Apple is not a party to the license between you and the Application Provider with respect to that Third Party Product; and Apple is not responsible for that Third Party Product, the content therein, or any warranties or claims that you or any other party may have relating to that Third Party Product or your use of that Third Party Product.
Apple could grant everyone the right to redistribute any GPL'ed apps, but it wouldn't make any practical difference because who could I distribute the app to?
Anyone with a jailbroken phone, right?
The Android developer distribution agreement says (http://www.android.com/us/developer-distribution-agreement.h...):
5.4 You grant to the user a non-exclusive, worldwide, and perpetual license to
perform, display, and use the Product on the Device. If you choose, you may
include a separate end user license agreement (EULA) in your Product that
will govern the user’s rights to the Product in lieu of the previous sentence.
So it sounds like Google doesn't add any new terms to apps besides whatever the app authors themselves say, so GPL apps are fine.You can write and trade GPL software on proprietary platforms, even platforms other people may never have access to - as long as you aren't contractually restricting them from re-using the code.
The section 7.2 clause in the SDK agreement seems troubling, but it also seems unenforceable. Not only have lots of people blatantly chosen to ignore this provision (see Wordpress), it doesn't seem like it would hold up under copyright law (but I'm not a lawyer).
What’s Apple to lose if a user or developer of an open-source GPL’d application mistakenly pushes said application to the App Store? That is, until another a copyright holder or another developer calls foul.
I’m interested to see how this plays out between the FSF and Apple. Some murky territory we’re getting into regarding Apple regulation on licensing & copyright claims.
It goes like this: the developer enters into two separate agreements.
One is with the open source community, as he is re-using code licensed under the GPL. Any modifications and new code that links to that open source code, he must re-publish in source code.
Two, is the agreement with Apple to use the SDK and its APIs. Apple places restrictions on what you can say about the APIs (namely, that you can't say much at all:-).
If the developer modifies GPL code and mixes it with confidential APIs from Apple, he is stuck. He can either publish the source, and Apple can go after him, or he can keep the source confidential, and the authors of the Open Source code can go after him since he is using their code without a license (copyright infringment).
That's it. Apple is not particularly liable for what developers do. Of course, in practice, Apple being the company with big pockets, if I was trying to make a billion dollars from such a case, I'd sue Apple, not the poor Russian developer in their basement.
At best, the contract can be used to show that Apple acted in good faith, and thus limiting the damages to be paid to the owner (here, the FSF). But since the FSF doesn't usually demand damages, that is not relevant for this case.
The DMCA safe harbor provision (which protects sites like Hacker News) will not protect Apple either unless the application is free. In which case Apple should respond to a DMCA takedown notice.
Of course, maybe the FSF is getting all upset about the fact that not just anyone can download code onto an iPhone., only those in the Apple Developer Program? Except I personally find that situation as similar to needing to have a piece of hardware to use software designed for that hardware. If I use GPL code that I have modified such that it will only run on a PS3, I'm not obliged to furnish users with a PS3...
(^ Not that profiting from it is a conflict with the GPL, it just reinforces their status as a distributor.)
Oh, and just a note - if the application in question is free, then Apple doesn't profit from it at all.
("It's driven by the GNU Go 3.6 engine")
I ran into a similar issue with a GNU Backgammon app. The publisher (who wasn't charging for the app) put up the source (https://svn.leozide.com/pocketbg/) after being asked but now that I'm looking at it, it doesn't appear to get linked to obviously on the site (I haven't checked inside the app).
Is FSF suggesting that it's not enough for the developer to distribute the source code, and Apple must also distribute the source code of any 3rd party applications (which use GPL code) distributed via the App Store?
GPL v2 doesn't contain the anti-tivoization clause that v3 does, so that can't be the problem. I don't know what else they could claim, it would be nice if they could clarify the specific violations.
Since GNU Go is under the GPL, they're saying: you can't distribute it under Apple's "Licensed Application End User License Agreement", because that isn't a license the original author applied to the software, and the GPL prohibits you from piling on a new license.
This no-new-license-terms section of the GPL is to keep people from subverting the GPL by tacking on new terms to GPL'd software, which I believe includes EULAs. So, unless you're the original author and copyright holder (in which case you can always add whatever terms you want), you can't tell end users something like: "it's GPL, but here are more rules you have to follow if you want a copy [click yes to agree to these terms]". Since the App Store basically does that---it has an EULA that you have to agree to before you can get a copy of GNU Go---it falls afoul of that provision.
In practice it's more making a point, because Apple probably cannot really enforce any of the additional terms against users of a copy of GNU Go, and it's not clear they'd care about doing so. But it violates the FSF's principle that end-users should be able to modify the very copy of the software they receive, because it tacks on terms that amount to, "you cannot reverse-engineer or decompile this copy of GNU Go", which clearly isn't a condition the FSF itself, as the GNU Go copyright holder, would've added.
A workaround, if Apple cared enough, would be to exempt open-source apps from the EULA terms, because the terms are really mainly aimed at stopping reverse engineering, and there's no point in stopping reverse-engineering of apps which are already open source. (Android's app store avoids this problem entirely by not applying any default EULA, and leaving it entirely up to the app author which EULA, if any, they want to ship.)
This is, hands-down, the clearest plain English explanation I’ve heard regarding the combination of GPL and App Store EULA.
Nothing is preventing that.
That's what a lot of GPL advocates are missing here. The GPL doesn't specify how things are supposed to get done, only that they do get done.
The GPL boils down to a couple of things: Make the source available and allow others to modify and redistribute it (as long as they follow the GPL).
Nothing about bundling the source with the app or having access to the same avenues of distribution as the original author or even the same tools.
6. Each time you redistribute the Program (or any work based on the Program),
the recipient automatically receives a license from the original licensor to
copy, distribute or modify the Program subject to these terms and conditions.
You may not impose any further restrictions on the recipients' exercise of
the rights granted herein. You are not responsible for enforcing compliance
by third parties to this License.
Apple definitely imposes "further restrictions on the recipients' exercise of the rights granted". I can't copy the game from my iPhone to my friend's iPhone. I can't even use a copy of the source without paying Apple more money for a dev license.Have they emailed the author to request that the app be pulled? That seems like the most obvious and efficient way to obtain the goal of getting the app out of the App Store.
The GPL knows that the software will be removed from the store. So they are basically killing it to support their philosophy. That's not freedom, that's just religious ideology.
If I wrote code 10 years ago under the GPL and I want to release it now on the iPhone platform, I don't want a bunch of people to come tell me what to do or what not to do with the code I wrote. I did not sign up to a cult and have to follow their rules. When I can do what I want with my copy of my code, then that is freedom.
If you don't like the license, don't use code that specifically chose to use that license. There are many alternatives to libraries out there, and as a last resort you can always write your own, original, non-GPLed code that performs a similar function.
It's also my understanding that if the situation is such that you wrote the code, then you can change the license on the code you wrote and continue with that base, however, the original code is still GPLed and would remain open.
[Updated for clarification]
it sounds to me that in many or even most circumstances, the GPL and the App store cannot mix unless Apple makes some allowances. it would be great to hear from the FSF exactly what would be required.
"However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."
From what I can tell, the person who put this app on the App Store is not the copyright holder of GNU Go. (The FSF holds copyright to most of GNU Go's code, and they'd hardly offer an app on the App Store; and if they had, they could take it down without going through this mess.)
So what we have here is someone who took someone else's code (which was made available under GPL) and then released a DRMed version of it. The FSF is saying you don't get to do that.
Because Apple is distributing they have the same responsibilities as any distributor to provide the source code and allow the code to be shared.
And making people worried about the GPL shouldn't be a priority here. The GPL isn't a free-for-all license - its a very specific license which, while granting a lot of rights, also has a lot of requirements. Anybody distributing code with such a license needs to make sure they fall in line.
If you wrote code 10 years ago under the GPL, you retain the copyright, and may distribute the code or the program how you please under whatever license you like. Other people do not hold the copyright, and may not distribute your program under licenses of their choosing. People and companies do dual-license fairly commonly, allowing the free software community to use and develop their product, while retaining the ability to license it commercially.
The FSF clearly does expect the software will be removed from the store, hence the linked communication. But they are not requiring it. This is somewhat more lenient than you might expect a commercial software vendor to be if their software was being illicitly distributed by Apple on the App Store.
Hope this helped clear things up for you.
> If I wrote code 10 years ago under the GPL ...
> ... I did not sign up to a cult and have to follow their rules. When I can do what I want with my copy of my code, then that is freedom.
If you released code under the GPL, then you released code under the GPL. This means other people can't do whatever they like with the code; instead they must follow the Gnu cult rules.
However, copyright says you can do what you want with your copy of the code, including release it under whatever licences you like.
The GPL protects the code and itself, but does not restrict the owner's right to release code under any additional other licenses (except IANAL but I don't think you can revoke a GPL license.)
They're saying that no one is allowed to sign away the user's rights by agreeing to something like the Apple Developer License, which allows the application to be distributed only through the App Store.
How can someone who doesn't own the code ever agree to that?
And if you're taking your own code, which you want to GPL, how can you GPL it while still agreeing to the Apple Developer License which says in Section 7.2 that you can't distribute the code, except via the App Store? What good would GPLing such an application do, when you wouldn't be allowed to give anyone the source or let them modify it?
You can still use it on Apple devices where Apple does not restrict the use and development of code, of course, such as their general purpose computers. But yeah, you're not free to develop for the iPad or iPhone without following Apple's rules. And Apple's rules appear to be in conflict with the GPL.
You can find further discussion of the incompatibilities here:
If you apply for, and receive, Timbuktan citizenship and the next year they pass a law you don't like, you, as one of their citizens, are subject to that law. You signed up for it.
If you released code under the GPL: yes you did sign up for this 'cult'.