iPhone SDK and Free Software Don't Match
kookjr writes "Are you planning to develop software for the iPhone? If you want to develop Free Software, Linux.com (Shares corp overlord w/ Slashdot) has a good review of the conflicts between Apple's Registered iPhone Developer Agreement and licenses like the GPL. This is important for people who may not read all the agreements they click Agree to."
companies are issuing SDKs and don't tell you what license is actually compatible in a common sense, non-legalese way?
:)
It seems only logical that this should fall in the 'system requirements' type category of the install documentation...
Sure, when you start your car there is no beeping alarm and a warning sign to use ONLY unleaded gas, but then they go to extra efforts to warn you at the gas fill spot, and make the neck of the gas fill tube so that only unleaded fuel and siphon hoses will fit.
This license thing is like letting you believe you can pour diesel fuel right on in the tank, no worries.
I like car analogies
Support NYCountryLawyer RIAA vs People
I thought we already knew that the iPhone SDK license might be unfriendly to free software. It shouldn't really surprise anyone should it?
/. crowd as a whole probably does so far more than most demographics.
People should really read what they agree to but of course they don't most of the time. Of course, the
If I had mod points, you would get them. GPLv2 software is perfectly fine on the iPhone, it's only GPLv3 software.
Because there's a lot of GPL software out there, and people are going to want to run it on their devices. If a device cannot legally run GPL software, that's a really good reason not to get that device.
You're right that the GPL doesn't strive for great compatibility with other license. It strives to be the most free. Sometimes that causes problems with proprietary systems. It's not the GPLs fault that it can't be compatible with licenses that remove your freedoms.
Give me Classic Slashdot or give me death!
Why can't we license software we write anyway we choose?
If I've written a software which, by default, I already own the copyright to, why can't I choose which license to release it under? You might be using other software under a different license to support your own. But having that 3rd party software restrict which license you can choose seems absolutely ridiculous and unnecessary. Please, someone enlighten me why this happens
Developers: We can use your help.
- Code signing - this conflicts with GPLv3's "anti-Tivoization" clause. As others posted, both sides will see this as a feature, not a bug.
- It's not "free". This is true; much as you cannot download the Tivo source code and have it compile and work on your Tivo, you cannot just download available source code and run it on your iPhone. This goes back to the signing issues above.
- NDA provisions. I'm willing to bet this is purely during the beta period. All of Apple's other tools, documentation, etc are freely available, and I expect this will continue once it is released. After all, signing up for this program gives access to beta software (the iPhone firmware 2.0), and Apple similarly restricts access to OS X and other beta software. Once it's final, these restrictions are lifted.
Ultimately, this all boils down to code signing and what you think of it. The problems presented by this are fairly specific to GPLv3; anyone is free to distribute their code under (for example) the MIT/BSD license, or even GPLv2.As for GPLv3 it's far from widespread, and with prominent projects such as the Linux kernel avoiding it, I'm not sure how much traction it will gain over GPLv2. Much like Windows Vista has to compete with XP, GPLv3 has to compete with GPLv2.
I don't know what kind of crack I was on, but I suspect it was decaf.
[The GPL] strives to be the most free.
Not quite. It strives to stay free. Most people consider BSD-licensed code to be more free than GPL-licensed code, simply because there are fewer restrictions.
I'm not commenting on whether "being more free" or "staying free" is "better" (whatever that might mean in this context), simply that there's a difference.
"If you think the problem is bad now, just wait until we've solved it." --- Arthur Kasspe
I think you misspelled "BSD" or "MIT"...
Integrate Keynote and LaTeX
I keep getting asked if I'll port SimCity (Micropolis) to the iPhone.
Now I know the answer: NO! Because it's licensed under GPL 3.
It's a lot easier to port software to the Windows CE on the PocketPC, anyway. And then I can give it away for free, instead of charging for it and forking over money to Apple.
-Don
Take a look and feel free: http://www.PieMenu.com
There are three points of contention:
(1) You must have your application signed before it will run on any cell phone,
(2) Your application must be delivered via the Apple iTunes store, and
(3) Your usage of the beta version of Apple's development kit subjects you to an NDA.
Well, the NDA part of the beta program struck me as a little odd, as it takes about no effort for any idiot to sign up and download the SDK for free--however, this seems to be a standard tactic by Apple for all its beta SDKs. The NDA will be gone, however, by the time the SDK is out of beta--so the whole "you must sign an NDA and that is incompatible with the GPL" thing will be gone by summer.
So what is left is the fact that you have to sign your application before it will run on the iPhone.
As someone who has written cell phone software before, I can tell you that Symbian and Windows Mobile also require application signing before allowing your programs to run on their platforms. It's very common in the cell phone industry to use certificate signing--and at $99/year, Apple is the cheapest to obtain a signing key. Further, from the sounds of it, by the time the SDK goes out of beta, anyone with $99 can get a signing key and sign as many apps as he wishes. (By contrast, for Windows Mobile you pay VeriSign $350 for 10 signing events, meaning you can only sign 10 applications or different versions of the same application. (Actually a signing event means you sign one executable.) Symbian is even more of a pain in the neck. And let's not talk about Android until real Android-based phones start showing up on the market and we learn what sort of package signing requirements the cell phone manufacturers impose on Android applications.
While I appreciate the need for authors to fill column space in order to get paid, it seems to be a little early to start complaining about GPL incompatibility and pointing the fingers solely at Apple because you're too lazy to compare and contrast with the other mobile operating systems out there.
I have great respect for the FSF and the goals they are trying to accomplish but when I see claims like, "But the result still would not qualify as free software, since no one could alter your source code and run the modified result on their phone," it irks me.
More accurately it would not meet the FSF's definition of free software. I would call freely released source code that I could load into the iphone simulator (or with $99 an iphone itself) free software. But whether or not you agree with my usage of the term isn't the point. 'Free software' is a term like 'free country.' It's part of the language and no one entity can dictate it's meaning just because it thinks that is what the term should mean.
To be clear I have no dispute with the FSF. Just as various activist groups might offer their own definitions of free countries that differ so too is it reasonable for the FSF to offer their own definition of free software and to try to convince us it is the correct one. However, journalistic pieces like the one at linux.com shouldn't assume that the FSF can define by fiat what words in our language mean. Instead they should tell us that this would not qualify as free software under the FSF definition.
If you liked this thought maybe you would find my blog nice too:
The Actual GPLv3 License says:
IANAL, but it looks to me like the only person who would be restricted from distributing GPLv3 code for the iPhone would be Apple, and even they could do so safely as long as they don't bundle it into the same transaction in which you buy the iPhone itself. You or I ought to be able to just provide a link to the source code in our app, or otherwise embed the source code in a readable fashion, and be safe from that clause while still distributing our app through iTunes.
So where's the problem Mr Smith?
"The worst tyrannies were the ones where a governance required its own logic on every embedded node." - Vernor Vinge
we can still jailbreak, and there's no reason we can't continue to develop free software with the community toolchain.
+++ATH0
By buying the iPhone in the first place, you've lost, at least in the ways the FSF cares about.
How dare you be so modest!! You conceited bastard!!
Keep in mind that while he doesn't say so explicitely, the author means "software that meets the FSF's definition of 'free'" when he says "free software" -- not merely "software released under a license that people associate with free software".
You can see this when he talks about GLPv2 -- when talking about the code-signing requirement, he acknowledges that it wouldn't hinder GLPv2, but says that still the code wouldn't be "free software".
My gut reaction is to agree that the NDA thing has a FUD feel to it, but it's hard to say. Given enough code that uses an SDK, can I construct information about the SDK? Probably. You'd probably have to be careful what you spell out in the comments, at any rate...
But here's the bigger question I have about this story -- and it reflects my general disinterest in GPLv3: Who ever claimed that the iPhone was meant to be a general-purpose computing platform?
The FSF often takes a tone that sounds extreme to me. At least when talking about software for a general-purpose computer, I can see where their coming from. But really, if I don't control every aspect of my iPhone then it controls me? So, like, my little Samsung cell phone, for which I have no ability to program at all, must be dominating me entirely!
Look at IBM and the once IBM PC. By being open with their standards and rather loose licensing with Microsft killed the IBM PC Dominate market.
Well, the truth is a bit more complicated than that. IBM's opening up of the PC caused the PC market to expand overall, and IBM clearly benefited from the expansion of PCs. However, IBM made some big missteps along the way that caused its own offerings to gradually lose market share.
1) IBM was beaten to the punch by Compaq on the 386. That's a big ouch. IBM PC ATs were running 286's, which, really were a failed part. Compaq was way ahead of the curve on 386s. IBM, you see, was trying to hold 386s for some more "advanced" offerings and trying to defend the rest of its product line, but Compaq had no such inhibitions.
2) IBM really blew it with the PCjr. PCjr wasn't a bad home computer, but IBM was famous for its keyboards and the chiclet keyboard threw that advantage out the window.
3) IBM really blew it with PS/2. First, IBM closed off PS/2, trying to correct what they saw was a mistake in the PC. In other words, they weren't going to let anyone else do Microchannel motherboards. However, there was a huge aftermarket already for PC cards, and none of that would work with PS/2, so, instead, people went back to the likes of Compaq and Dell.
4) IBM really, really blew it with OS/2. IBM's original SDK prices for OS/2 were out of this world, and furthermore, IBM was already trying to tie OS/2 to its PS/2, frightening developers away with the promise of writing for only a hardware platform that nobody wanted.
The bottom line is, had IBM said that OS/2 would be open, and had shared PS/2 hardware specs with third parties and opened the platform up, quite likely, whatever bus we would be using would be called Microchannel Express, rather than PCI Express, and we would quite likely be running OS/2, rather than Windows.
The moral of the story is, when building hardware, open-ness matters. The more your hardware is open, the more people can connect to it, having partners making clones speeds the adoption of your technology, and it places you much more firmly in the driver's seat. Sure, Apple might look good by making IPhones as closed appliances, but you can bet that when Microsoft finally gets its act together, and rallies around a dozen hardware vendors along a common platform, then Apple is going to get smoked, just as it was when, well, PCs slaughtered Apple the first time around.
This is my sig.
No they're not - they're merely packaging it for distribution, and that package includes a signature.
.rar to .zip would be 'modification' and require source code distribution, which is clearly ludicrous.
By your interpretation changing a package from
A great deal of effort also went into writing GPLv3 in such a way that it would be incompatible with Tivo. The iPhone is another closed-hardware system, so the anti-Tivo provisions in GPLv3 insure incompatibility by design.A great amount of effort went into writing GPLv3 in such a way that it would be compatible with Apache License v2.0 and other Free licenses.
No - the GPL removes the freedom of others to license their own code independently of yours. It basically says 'GPL your own code as well or STFU'.
That's why it comes into conflict with so many other licenses.
LGPL isn't so bad, because it keeps itself to itself.
There are other hardware manufacturers. So if you don't like the terms required to support the iPhone, then help out the GPL compatible alternatives instead (eg. Nokia N810)..
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
You know much against my better judgement I'm starting to like Apple. Tempting the Linux crowd into giving up their principles for a pretty UI is just so delightfully evil.
Maybe I should post on Make blog on DIY tattoo removal that involves brewing up TATP ingredients for people like Cory.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Summary of the article: "Only GPLv3 is Free Software. Anything without an anti-TiVoization clause is unfree. Also, dual licensing does not exist."
Yes, I can seriously argue that. Especially because it isn't that you can't remove the freedoms of others, it's that you must grant a set of freedoms to others. The work that goes into a derived work does not have some platonic natural state of being free for all others to use, it is imposed by the source GPL work.
The 13th amendment DOES make you less free in some aspects. You are not free to own slaves. Less freedom. That's the end of it. Now, it makes any potential slave much, MUCH more free in some other aspects (and I get that in this analogy, everybody is a slave -- but also in this analogy the slaves can have slaves, so it still holds), and it is overall a good thing, but "good" and "free" are not synonyms. Just because the 13th amendment is absolutely a good thing doesn't mean that it isn't a restriction of your freedoms.
The only restrictions on GPL code is that you can't impose restrictions on anyone else. Can you seriously argue that you're less free because you cannot remove the freedoms of others?
I most certainly can argue that. As an example, BSD-licensed code has fewer restrictions than GPL: I could take some BSD-licensed code and use it in my own commercial application. I don't need to release my application under any particular license, I simply need to honour the terms of the BSD license, which (broadly) boils down to attribution. To clarify: with BSD, I have the freedom to do this; with GPL, I do not.
Now, I happen to think that the GPL license is a better and more ethical license than BSD, because it encourages (well, enforces) free-ness for derived works. I release code under the GPL because I want my hard work to stay free. I do this knowing that I am actually denying others the 'freedom' to close up the code into a derived work. Those who release code under a BSD-like license feel differently.
More 'free' or less 'free' is a different argument to 'good' or 'bad', or 'ethical' or 'unethical'. Good/bad and ethical/unethical are largely subjective matters. However, you can quite simply enumerate the things that you are free to do, or not, for a particular license. GPL is more restrictive than BSD in that regard. Whether GPL is 'better' than BSD is subjective.
"If you think the problem is bad now, just wait until we've solved it." --- Arthur Kasspe
The Total FUD: It only affects SOME Free liscences. Even if the APIs are confidential, this does NOT stop BSD code, but only viral liscences like GPL.
The GPL quite clearly says that the OS can be under whatever license it wants to be. GPL'ed software runs on SunOS, Solaris, Windows, AIX, Symbian, and lots of other systems with weird licenses. GPL software does not infect software that isn't derived from it in some way.
The problem here is that Apple is trying to be viral and infect software that they did not develop. The GPLv3 just says that it won't allow itself to be infected by viral corporate licenses.
I've owned about a dozen Macs over the years. I'm so pissed of about Apple's recent bullshit that I'm not going to buy another Apple product until they change or hell freezes over.
Well, imagine that the iPhone SDK was released under the GPL (notably, NOT the LGPL). If this were the case, all of the programs written with the iPhone SDK would be required to be licensed with the GPL.
By using the SDK, you are relying on someone else's work to produce your software. Apple just happens to want to license the right to use their work in such a way that it prohibits you from using it in the way you want to. Don't like it? Choose a different phone. Work on the OpenMoko. Reverse-engineer and write your own version of the iPhone SDK and figure out how to hack the hardware so that it respects your keys instead of Apple's.
This is exactly the same argument that GPL advocates (including myself) use - if you don't like the author's terms, don't use the author's software. Just because Apple's the author in this case doesn't mean they have any less right to dictate their terms.
I've seen a lot of tech demos. I've seen alot of prototypes. And yet, the iPhone for all of its closed terrible-ness is the most advanced piece of technology I've ever seen- and it gets better... I own one. Its in my hand. I use it every day. This isn't something we drool over and fantasize about owning some day, this is extremely attainable.
The point is that while I am a FSF and EFF supporter, GPL still doesn't deliver with jaw-dropping results. Apple does. The open movement was created largely in response to advanced technology being kept out-of-reach of average consumers ($5000/seat UNIX comes to mind) largely out of ignorance on the part of the companies developing the software.
Today, we have Apple solidly delivering to the consumer what many are calling *the* next platform, and the GPL community is throwing stones. Meanwhile Android has failed to be more than 'cute' and certainly nothing to write home about.
Finally, the GPL community needs to gain perspective. Would it be nice to have a few GPL projects one iPhone? Sure. Will I miss their absence? Not a chance. This is *not* a desktop, this is a digital prosthetic. If the FSF is hoping to pressure Apple to change policy, stop now. Instead look at changing GPL to accommodate a company that is (in its own way) delivering on the goals that FSF was created to accomplish.
I'd make that "almost certainly FUD."
Their reasoning is pretty paranoid, not to mention the way the article is written it's very misleading. The NDA says you can't release information that is not available elsewhere. The SDK documentation is available to non-$99 paying developers (like me) so the information is available without signing the NDA.
Talking about the registered developer program and then switching gears to talk about the NDA is a nice little bit of circumstantial association.
It's probably the most widely-used UNIX too, because the ones exceeding it that aren't typically "sold" (e.g. Linux) also aren't officially certified to be UNIX®.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz