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
It seems Apple haters are coming out of the wood work just to attack poor defenseless Apple! Apple does things they way they do them because they work. And the proof of that is illustrated perfectly in how cool and popular Apple stuff is... and by extension, anyone who uses Apple stuff is also cool and popular. So why can't people stop reading all these legal issues and get back to fun and sunshine!
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 you want to develop Free Software, Linux.com (Shares corp overlord w/ Slsahdot )..."
/. editors can't even spell their own name? Somebody should give them a pointy hat and make them go sit in the corner for a bit ;)
Wow,
The Not FUD: The iPhone is incompatible with GPLv3.
If you ask Apple, thats a feature.
If you ask the Free Software Foundation, thats a feature.
The Maby FUD: Is code which uses the iPhone APIs confidential information under the NDA? No answer yet.
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.
Test your net with Netalyzr
That the GPL and simular licenense are the only way for you to make free software.
It is just to bad there arn't other licenses out there were we can make free software.
Oh Wait their are, So if I want to make Free Software for the iPhone I just don't make it GPL...
I Sware you guys are so fixated on the GPL and not about Free Software, RMS could alter the GPL in ways that prevent you making programing to do particular functions that he thinks is bad, and you will smile think about it and justify it as for the greater good.
The GPL isn't the only way to do free software some licenses are more Open then the GPL is or others are just as Open but different. Or on the most extream use you could make your own!
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Looks like they were just talking about the GPLv3.
The BSD license is 'free' too and should be compatible with the iPhone SDK, no? (especially considering the iPhone SDK is made up of a lot of BSD licensed code)
Enough said really, why should everything strive to be GPL compatible? I've often wondered this in the past when has its license suddenly decreed to be 'GPL incompatible' to a great outcry here on Slashdot, when at the same time the GPL itself doesn't strive for great compatibility with others.
This seems to conflict with GPL 3, but it's a stretch to say that it conflicts with v2. If I distribute code that uses an API, am I disclosing the API? IANAL so I guess someone could make that argument. I'm glad apple will be pushed to clarify this, but it's probably ok. Is Apple trying to make sure nobody ports an iphone app to the andriod ?
--- http://davidnehme.blogspot.com
With Apple's history of preventing anyone from building hardware/software without paying licensing fees, is this at all surprising? They loosened the grip a little bit in the early 90's, but clinched right up once they started to lose a bit more of the market share. Now they have shown that their locked down system will keep (improve) their share. Why would they change? Apple and Microsoft really are quite similar in this, the main difference being that Apple actually makes good, innovative products on platforms for which only they can build (sell) the hardware. Apple keeping a tight reign on licensing is just SOP.
Would you like some chips with that?
www.purevolume.com/martyd
Heck I just want a phone, period! A device to make calls, store my contacts and a calendar maybe. But these days, what one sees are these bloated gadgets that have proven [to me], to be more hindering than helpful. Is it possible to buy a new cell phone without the bloat these days?
I thought the whole IDEA of the GPL was to not be as big of assholes as companies where with their licensing? No NOW we have people acting for the GPL EXACTLY like companies where with their licensing too and this false idea that if its not GPL its not free even though everyone knows thats a load of tin-foil hat bullshit...
Sometimes people with good intentions can be their own worse enemy.
"Slashdot, where telling the truth is overrated but lying is insightful."
The submitter spelled the name of the site wrong. The Slashdot editor didn't catch the mistake.
How is pointing that out Off-Topic? At the very least, it should be Funny or Over-rated (since spelling corrections usually fall into one of these two camps.
Tag article: slsahdot, and continue with the relevant conversation. :)
Support the 30 Hour Work Week!!!
Actually, GPLv2 MAY BE incompatible, if the answer is "code which uses the iPhone APIs contains confidential information". In that case, you could only distribute the code to other registered developers, not everyone, which means Berkeley liscence is fine but GPL is not.
Also, apple's method of distribution MAY BE GPLv2 incompatible, because Apple might not want to also be responsible for distributing the source code and some GPLv2 authors may not like derivitive works where a different party distributes the source code compared to the binary (because the developer could always host the code if its not confidential), and the GPLv2 as written says it is the binary distributer's responsibility to distribute the source code.
We don't know yet, but if the distribution is not GPLv2 friendly:
If you ask the Free Software Foundation, that would be a feature.
If you ask Apple, that would be a feature.
Test your net with Netalyzr
This is signing up for the SDK... I'd hope you'd know what you're getting into when you agree to DEVELOP an application for the platform.
Also this isn't about free software, it's about GPLv3 software. There are many license agreements for open source... there's BSD, there's GPLv2, there's GPLv3, there's the Apple's agreement... they all have different views of what things mean. GPLv3 is the most "preachy" in that it's as much religion and Stallman dogma as it is an agreement, and not everyone who is in business thinks it makes sense.
- 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.
I think you misspelled "BSD" or "MIT"...
Integrate Keynote and LaTeX
I don't see the GPL as a good thing, I see it as a very bad thing, so if the iPhone SDK isn't compatible with it it's a no brainer. For all who do care about GPL and wants to have its babies, buy another mobile device. Vote with your money! If you want a LinuxPhone, go build one, the source is GPL.
Mmmmm, "Dancing for Nerds. Spicy food you pay for twice."
My work here is dung.
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.
There is an easy fix, don't write software for Apple's Marketing 'technology'.
Instead write your code for an OSS phone or/and port it to Windows Mobile, there are far more Windows Mobile phones than iPhones, so you even get a bigger market.
In addition to more features, without restrictions, as you can write ANYTHING for the other platforms with no Big Brother approval from Nokia, Microsoft, etc.
Other cellphone companies and Microsoft made ONE mistake with their Mobile OSes, they didn't market the media features to the general public, even though people have been using them for MP3/WMA/WMV/MPEG4 for YEARS now, with the same level of features and more than the freaking iPhone. (Even my old 715 Motorola from 2004 has more media features than a freaking iPhone - it even has an 8GB storage device that was available back in 2004)
Isn't it time we actually stand up to Apple and the Apple Marketing machine. Apple isn't about technology or even good quality product or innovation anymore, they are the best Technology marketing company in the world. (And oddly their marketing team uses methods other marketing companies won't even use as they are considered dangerous because of the cult level of induction.)
Ok, now for fanboi/fangurls to mark my post down because the truth is scary...
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:
You do not has it.
+++ATH0
There's an alternative to the iPod Touch, anyway: the Nokia N810 Internet Tablet. It's about the same size as the Touch but has a slide-out mini keyboard. It runs a pared-down Linux called Maemo. I just got one of these instead of a Touch because I wanted the keyboard, and I wanted a truly open platform (and I didn't want it to be a phone; it isn't).
Capsule review: the hardware design is brilliant. The software, though, is still rather rough. I'd love it if some of these people who are so eager to write code for the Touch, but are turned off by the SDK licensing (and the fact that Apple wants to control app distribution) would come over to the N810 instead. The N810 has real potential, much of which remains unrealized as yet.
Your god may be dead, but mine aren't!
time for some good hackers to start searching for giveaway strings in the code...
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
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
That doesn't actually seem to happen. There is a sad dearth of free software on PPC.
+++ATH0
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.
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....
This is blatantly false. You most certainly DO NOT have to sign an application for it to run in Symbian or Windows Mobile. The device will prompt you that the application you are installing is not signe, sure, but that does not stop you from installing the application at all. Sure, if you are a commercial entity you would want to sign your app to get rid of the "ugly dialog". But there are thousands of free Windows Mobile and Symbian apps that are unsigned, many of which are EXTREMELY popular.
The fact that an iPhone requires an application to be signed before it can even be installed and run is totally different from how Windows Mobile and Symbian operate.
Publicly releasing source code that uses the iPhone APIs as documented in the SDK and Developer Program could easily fall under the definition of "disclosing," "publishing," or "disseminating" Confidential Information,
Since the SDK is availible to people for who haven't signed an NDA, this seems like a rather unlikely interpretation of this.
If you're _really_ worried about this you can develop without becoming a registered developer and convince someone who is to sign your program. This definitely won't work for GPLV3 stuff, but other free licenses should be OK.
Maybe I'm misunderstanding something. Is there some set of information that you get when you're a registered developer?
The link in the story is a bit misleading:
"Developers have access to the iPhone's sensors, its location capabilities, the OpenGL graphics engine..."
http://blog.wired.com/monkeybites/2008/03/apple-delivers.html
Actually, the OpenGL isn't actually implemented on the emulator, and given that they aren't giving out certificates to most of us, that makes it quite impossible to write any Opengl apps.
Having said that, you have to consider that this sdk is in beta
Doesn't it seem likely that we will, even before the end of 2008, see the iPhone development community bifurcate into these distinct markets:
A. The official, Apple-sactioned iTunes App Store where all the stars of the Mac shareware market will be plying their signed wares.
B. The unofficial, but now SDK-powered extension of the current iPhone toolchain development community. You have to jailbreak, you have to copy apps manually, but there's no signing required, and GPL3 thrives.
Further, I would ask: Is this really a problem at all?
Your mind is clear / The things that you fear / Will fade with how much you / Believe what you hear
The description of the "anti-tivoization" provision is that Apple, the destributor, provide the necessary information for installing altered software distributed with it. Apple does provide it - modify the source code, pay your $99, and you can install your modified source code on any iPhone you wish. Note that the description says "information" not "for free". Even if it didn't, is the free software world going to end for the payment of $99? Seems a bit measly doesn't it!
The above poster is absolutely correct as well - "confidential information" is not information that anyone can get by filling in a web form.
Relax fake developers - your fake free software is fine.
And Sony's prices for PS2 devkits were out of this world.
How could Sony get away with closing its PS2 where IBM could not with its PS/2?
Summary of the article: "Only GPLv3 is Free Software. Anything without an anti-TiVoization clause is unfree. Also, dual licensing does not exist."
Once again, the Apple monopoly rears it's ugly head... only to be french kissed by the FOSS community.
"Product with Apple logo, I just can't quit you".
I've worked with Brew, and it's very similar: any idiot can download and play with the SDK, but to run an app on a real device, even if only for testing, you need to jump through hoops to get licenses. Which is just about impossible to do if you're not with a company. As a result, there is zero hobbyist use of Brew. A shame; you can do cool stuff with it.
I've downloaded the iPhone SDK and played with it. I can think of a number of applications I'd like to write for my iPod Touch, and hope some day Apple will accept me as a developer so I can do so. Or come up with some other way to make it possible. It seems counter-productive to hype the SDK, but then clamp down so hard on actually being able to do anything with it.
...laura
Does it have to run on the original platform in order to be free software? Others can still modify your source code, and if they have access to the API, can run it on the iPhone. Otherwise, they could port it to another architecture.
The wording of the NDA does not prevent one from distributing the source code.
The NDA clear states "information disclosed by Apple to you", emphasis added. One's source code does not fall into that definition.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
Ok, someone tell me why it is that I keep seeing people say "the GPL is not viral" then articles from FLOSS oriented publications, such as this one, that talk about the "viral nature of the GPL"?
Either it is viral, or it is not. And, to me, it is looking pretty viral.
There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
How do you feel about inappropriate hyperbole when making a comparison?
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.
"And lets not talk about the one platform that completely destroys my attempt at misdirection by being the antithesis of everything Apple represents."
The one thing you're conveniently leaving out... Windows and Symbian let you self-sign for on-device testing. You won't hear me defend the Verisign certificate racket, but that $99 (or $299) annual fee is to simply be in the developer program.
Oh, and you forgot about BlackBerry. It's a one-time fee to establish your identity, and then you can sign to your heart's content.
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.
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.
No, if you become an ADC member there is always an NDA, so that Apple doesn't have to be careful if they release anything new. Now obviously you can distribute source code under GPL if it _doesn't_ contain anything that is itself under NDA, and you can't distribute it (under GPL or otherwise) if it _does_ contain things under NDA.
Given that in real life there is oodles of Objective C Mac source code posted in the wild, then it should be fine to similarly post iPhone source code.
If you think about it, logically there is no problem because you'll have to register with Apple to actually do anything with source you download. So they would not care about you distributing source code, especially once the whole SDK is out of beta. It's only the beta status that is making things questionable now.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
"This is important for people who may not read all the agreements they click Agree to."
;-)
Actually, I'd say it's not at all important to people who don't read license agreements...
To satisfy the intent of the GPL, as explained in the preamble to the GPL, it has to be possible for users to use the source code to modify their own devices.
On the other hand, the FSF long accepted the necessity of having to buy hardware that was out of reach of individuals to run software that was GPL licensed. Much of the FSF's own software, including GCC and Hurd, required extremely high end hardware. And there has been plenty of open source software that requires a proprietary (and expensive) development environment.
So long as Apple does not impose restrictions on who can join the program and get a key, I don't think that this really violates the expressed intent of the GPL as described in its preamble. I'm sure RMS would disagree, but if so he should have expressed himself more clearing 20 years ago. $99 is not a great amount of money for someone who can afford an iPhone and a Mac running Leopard.
So while this violates GPLv3, it doesn't violate GPLv2, and GPLv3 doesn't actually infect independent modules: code distributed under "GPL2 or later" is dual-licensed, not GPL3-licensed.
Also, software that is written portably, so it can run on the iPhone or other OSX-derived platforms, is not even subject to the restrictions of the GPLv3 unless you distribute it in binary format for the iPhone. And, frankly, many OSX software authors really need a swift kick in the pants on the subject of writing portable code: there was code that would ONLY run on Leopard being shipped before Leopard was final... that makes Linux 'all the world's Red Hat' coders look positively scrupulous!
Plus, there's more licenses under the sun than GPLv2 and GPLv3.
A lot of that stuff is really old and just will not run on Windows Mobile 6 (or even WM5). The console is an excellent example of this.
I have been hoping for a UNIX environment on Windows Mobile devices for ages and it just won't come despite CE being more POSIX-compliant than NT/2K/XP/Vista.
+++ATH0
GPL is not just incompatible with iPhone. (L)GPL is also incompatible with proprietary development environments on game consoles such as PlayStation 3, Wii etc (except for PS3 Linux obviously).
Just use the Zlib license and feel flattered if people consider using your software. Even if they don't give credit. Even if they don't contribute back.
Some will contribute back or give credit voluntary, even through they are not required by the license.
You can publish your source code, just avoid re-distributing proprietary technology.
Last time I checked the GPL (v2) isn't even compatible with the GPL (v3). Who fucking cares? If you release the source code it's open source.