iPhone SDK and Free Software Don't Match 304
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."
Why is it still a case where (Score:5, Insightful)
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
Why is this a surprise? (Score:3, Insightful)
People should really read what they agree to but of course they don't most of the time. Of course, the
Re:Why is this a surprise? (Score:5, Insightful)
And if the ability of
Re:Combined FUD, Maby-FUD and Not-FUD... (Score:2, Insightful)
Re:Why is this a surprise? (Score:5, Insightful)
It might be considered a surprise considering you can release your software for free (as in beer). But you can't really release the source for free (as in speech) under a GPL.
If want to release "free" software, it's hard to believe you have to do so restrictively.
Re:Why is this a surprise? (Score:3, Insightful)
Re:Why should *everything* be GPL compatible? (Score:4, Insightful)
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.
Re:Why should *everything* be GPL compatible? (Score:2, Insightful)
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
Re:Why should *everything* be GPL compatible? (Score:4, Insightful)
Code Signing (Score:4, Insightful)
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.
Re:Why should *everything* be GPL compatible? (Score:5, Insightful)
[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.
Wrong license... (Score:3, Insightful)
I think you misspelled "BSD" or "MIT"...
No SimCity/Micropolis for iPhone (Score:5, Insightful)
I keep getting asked if I'll port SimCity (Micropolis) [google.com] to the iPhone.
Now I know the answer: NO! Because it's licensed under GPL 3 [google.com].
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
Then no cell phone is compatible. (Score:5, Insightful)
(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 [verisign.com], 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. [verisign.com] 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.
Re:Why is it still a case where (Score:3, Insightful)
There are thousands of different licenses.
Fuel compatibility is based on verifiable engineering principles.
License compatibility is based on legal opinion.
FSF Doesn't Get To Define Free Software (Score:4, Insightful)
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.
Re:Then no cell phone is compatible. (Score:3, Insightful)
GPLv3 not really a problem? (Score:3, Insightful)
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?
So far, anyway, (Score:4, Insightful)
Re:GPLv2 MAY BE incompatible... (Score:3, Insightful)
Re:Combined FUD, Maby-FUD and Not-FUD... (Score:3, Insightful)
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!
Open hardware helped, not hurt, IBM (Score:3, Insightful)
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.
Re:GPLv2 MAY BE incompatible... (Score:3, Insightful)
By your interpretation changing a package from
Re:Why should *everything* be GPL compatible? (Score:1, Insightful)
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.
Re:Why should *everything* be GPL compatible? (Score:2, Insightful)
That's why it comes into conflict with so many other licenses.
LGPL isn't so bad, because it keeps itself to itself.
Re:Why should *everything* be GPL compatible? (Score:4, Insightful)
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)..
Re:Apple haters be damned! (Score:2, Insightful)
Maybe I should post on Make [makezine.com] blog on DIY tattoo removal [tribe.net] that involves brewing up TATP ingredients [slashdot.org] for people like Cory.
FUD (Score:3, Insightful)
Re:Why should *everything* be GPL compatible? (Score:4, Insightful)
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.
Re:Why is it still a case where (Score:2, Insightful)
No. If you don't like the terms, don't use the kit.
If you are too lazy to get an understanding of the terms, that is your fault, so don't use the kit.
Re:Then no cell phone is compatible. (Score:3, Insightful)
True, but neither does it make it wrong. You have to consider the ramifications.
App signing is to protect users, but not necessarily you in particular. Apple is concerned about the average user, not the modder.
You're assuming that is the only cost to Apple and that the ability to do this will not be a problem for normal users. So here's the situation from Apple's perspective. They want iPhones to be stable and resistant to malware. A whitelist is an extreme way to do this, but not necessarily unneeded. If they provide an easy way to opt out and run unsigned apps, will mainstream applications be unsigned an require this? Will users become accustomed to clicking past the warning, just like they do on Windows now? Will malware thus find its way onto a large portion of iPhones as a result?
From Apple's perspective, this is a real concern. Further, malware ridden phones are a problem to more than the individual user. Users will certianly still call Apple's support, especially if this becomes common. Does Apple refuse to provide support for a potentially significant number of iPhones? Can they screen these out in advance so they don't have to waste employee time and phone bills determining which phones are running unsigned apps? Will malware running on iPhones even if the user clicked "OK" damage Apple's brand? Will it damage the reputation of the iPhone? Will the press not bother running "scary" articles about the danger of malware on your phone, if that malware was installed by a user who opted to run unsigned apps? These are all valid considerations.
MS has repeatedly played the blame game. They've made security decisions that result in more systems being compromised, but being able to point the finger at the user for having clicked "OK" for the hundredth time. That is certainly less than ideal and leads to a very poor culture for real security in future development.
Maybe you're not Apple's target market. Maybe you'd be happier with a different phone.
Now don't get me wrong. I don't own an iPhone and may never do so. If Android turns out to be a more free and open, but still usable and secure alternative, it may be preferable to both you and I. think an outright, user un-editable whitelist is a very serious restriction. I'd much rather see some middle ground, where users can run unsigned applications, but by default they are severely sandboxed and restricted. Heck, a locked down JVM would be a fine start. I'm just not sure the cost this entails to Apple makes it a worthwhile business case for them. For a general purpose computer, I'd find this completely unacceptable. For a phone, well for now I'm not too upset. Going forward, I think users will require more options and a middle ground will win in the marketplace (or would in a truly free market). We'll have to see how things play out.
Re:Why should *everything* be GPL compatible? (Score:3, Insightful)
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.
Re:Why is it still a case where (Score:2, Insightful)
If you want to know if their kit, license, restrictions, etc. are compatible with the license you want to use, then it is up to you to figure that out.
Re:So far, anyway, (Score:5, Insightful)
Apple's license is viral, not the GPL (Score:4, Insightful)
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.
Re:Then no cell phone is compatible. (Score:3, Insightful)
But it does pave the way for Apple to blackbox test it, for Apple or others to view the code or certify it, and most importantly for the source of software to be confirmed. I seriously doubt there will be much malware on the iPhone and for a change it may well be tied to a person who can be thrown in jail or sued by users.
A quick smell test is all that is needed to identify most malware today. It is certainly enough to identify a worm, which is one of the real issues. Basically, no drive by installations because the iPhone can detect if the software changes. It reduces malware to only programs with a social engineering component that users intentionally install. Even then, it will onyl be active until it is detected/identified at which point Apple can stop downloads and possibly disable it remotely.
That may be true in the long run, but in the short term this knocks out several of the most proliferate types of malware, reducing the problem to just trojans and allowing for the authors of those to be prosecuted. Even with a MAC or other ACL type subsystem the signing component is still needed to see if an app is the exact version it claims and if it is from the people who claim to have created it.
Crashing them is not the major issue. There is little profit in that. The real concern is data theft and misuse of network resources for spamming, DDoS and Shiva forbid, automated voice calling spam.
I doubt they're making much profit on this. It is probably just trying to pay for itself, and is certinaly cheaper than signing offers from other vendors. If this was a cash grab, why allow unlimited signing from a key? They could easily have gone for 10 or 25 signings per key and been on par with other phone signing schemes.
I can see you don't fully understand how a signing system is one of the four major components of next generation anti-malware systems. You can read up on it, or just take my word for it. They incorporated signing into OS X for the same reason, even though it is currently optional and free. It paves the way going forward for greylisting combined with ACLs combined with weighted security data feeds.
Signing is not supposed to be an end user feature. Security is and this may well enable Apple to make security a non-issue for the vast majority of their phone users, as it is for most Mac users today. It sells them a lot of PCs and they have technology plans to keep it that way. With the iPhone they just got a chance to make sure there will be no backwards compatibility problems as well. We'll see how it goes. They may pull it off and they may not, but "no malware problems" may sell them a lot more phones than "some OSS and self created programs don't run." Maybe it won't. I hope the market is allowed to decide.
Re:Why is it still a case where (Score:3, Insightful)
What? No, I'm not missing that at all. The OP asked why companies aren't clearly stating what licenses are compatible. The responder gave an answer amounting to saying that would be hard for the company. I explained why, if the company wanted to, it would be quite easy to do a good enough job to be useful (even if less than perfect). Given that they aren't doing it, and that it would be easy, one must conclude that there is some other reason -- like them not caring about other licenses than their own.
Then again, I suppose I could just throw my hands in the air and give the companies a free pass for not being helpful because it would be too difficult for them. But, I choose to instead point out why what they're doing is not just laziness but rather being actively greedy. It's remarkably hard to change things if you're unwilling to speak up about the problems, and instead just give up hope on anyone else improving their behavior.
Sure, I shouldn't count on them doing the right thing, nor do I expect them too -- but that's no excuse for me, you, or the original responder to give them a free pass because doing the right thing would be "hard." Especially when it wouldn't even be hard at all.
Re:Why should *everything* be GPL compatible? (Score:2, Insightful)
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.
iPhone delivers on the GPL's purpose for being (Score:3, Insightful)
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.
Re:Combined FUD, Maby-FUD and Not-FUD... (Score:3, Insightful)
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.
Re:Why is this a surprise? (Score:5, Insightful)
There's nothing stopping me from releasing it under the GPL with an exception addendum [wikipedia.org] to account for the iPhone code signing requirements. So if you modify my app and distribute it, you still have to comply with the GPL except for distributing a code signing key to make it work on real hardware.
Re:Apple haters be damned! (Score:3, Insightful)
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®.