This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Apple & Macintosh

The iPhone SDK and free software: not a match

By Nathan Willis on April 15, 2008 (7:00:00 PM)

Share    Print    Comments   

Apple's recently released a software development kit (SDK) for the iPhone, but if you were hoping to port or develop original open source software with it, the news isn't good. Code signing and nondisclosure conditions make free software a no-go.

The SDK itself is a free download, with which you can write programs and run them on a software simulator. But in order to actually release software you've written, you must enroll in the iPhone Developer Program -- a step separate from downloading the SDK, and one that requires Apple's approval.

Since its release, many in the free software and open source community have debated whether the terms of the iPhone Developer Program are compatible with common licenses such as the GPL. In a search for a definitive answer, we asked the principal parties themselves. Apple did not reply to our inquiries, but Free Software Foundation (FSF) Licensing Compliance Officer Brett Smith was happy to discuss the licensing issues in depth.

First, let's look at the SDK and the developer program that accompanies it.

To download the SDK, you must first sign up for a free Apple ID -- an existing Apple Developer Connection, .Mac, or iTunes Store account will do -- and use it to register with Apple as an iPhone Developer. The SDK by itself won't let you create applications that run on actual iPhone devices, though. To do that, you must enroll in Apple's iPhone Developer Program, for a fee starting at $99.

For the time being, Apple is not accepting all applicants. Currently only US residents age 18 and up are eligible, and Apple is selecting a limited number of applicants. Who gets approved and speculation as to why are popular discussion topics on Apple-centric Web sites.

If your application is approved, a document called the Registered iPhone Developer Agreement lays out the terms and conditions under which you can create iPhone apps. It is those conditions that conflict with free software licenses like the GPL.

Problem: code signing

The iPhone Developer Program establishes Apple as the sole provider of iPhone applications. You can choose not to charge for an app you author, but the iTunes Store is the only channel through which it can be delivered to end users and installed. Apple signs the apps it approves with a cryptographic key. Unsigned apps won't run on the iPhone.

This condition conflicts with section 6 of the GPLv3, the so-called "anti-TiVoization" provision. In particular, it prohibits Apple from distributing a GPLv3-licensed iPhone application without supplying the signing keys necessary to make modified versions of the application run, too.

Thus, you as the developer could attempt to place your code under the GPLv3, but Apple could not distribute it -- and since only Apple-signed programs will run, no one else could distribute it either.

The FSF's Smith says the fact that the author of the program (i.e., you) and the distributor of the binary (i.e., Apple) are unrelated entities makes no difference. "If a program is meant to be installed on a particular User Product, GPLv3 imposes the same requirements about providing Installation Information whether the software is directly installed on the device or conveyed separately."

Because of the GPL's viral nature, any app that is derived from other GPLv3 code must be licensed in a way that preserves GPLv3's code signing requirement. But there are still projects that have chosen to retain earlier licenses, such as GPLv2, and prior versions of the GPL did not include the code signing requirement. Thus you could in theory place your work under GPLv2, as long as it was either entirely original or derived only from code licensed under GPLv2 and earlier. 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.

As Smith explains, "partially free" software is still non-free. "The Free Software Definition is not a checklist, where software that fulfills three of the criteria is somehow 'better' than software that only meets two. The Free Software Definition lists the bare minimum rights you need to make sure that the software works for you, instead of somebody else. If you've been deprived of any single one of those rights, whether by a license, a patent, code signing, or any other means, then you've lost your freedom. You no longer control the computer; it controls you. Getting some source is a small consolation prize for losing your own autonomy."

But the aforementioned situation is only an option if Apple would allow you to release the source....

Problem: nondisclosure

Unrelated to the code signing complication is another issue that restricts your choice of licenses. The Registered iPhone Developer Agreement is a contract between the developer (you) and Apple. If you violate any of the terms and conditions of the agreement, you lose your right to use the coding utilities in the SDK and all of its information and documentation.

Section 3 of the document is a nondisclosure agreement (NDA). It defines "all information disclosed by Apple to you that relates to Apple's products, designs, business plans, business opportunities, finances, research, development, know-how, personnel, or third-party confidential information" as "Confidential Information" -- excluding specific information that is available elsewhere. You must agree not to "disclose, publish, or disseminate" any of the aforementioned Confidential Information, and not to use it "in any way, including, without limitation, for your own or any third party's benefit without the prior written approval of an authorized representative of Apple in each instance."

Those broad restrictions may be standard issue for an NDA, but they constitute a binding agreement that trumps your usual right to place a license of your choosing on your source code. As Smith puts it, "If you agree to an NDA that prohibits you from sharing your program's source, then you cannot release that program under the GPL, or incorporate any GPL-covered code in it."

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, as none of the iPhone APIs are documented elsewhere. A clearer word from Apple regarding what exactly constitutes "disclosing," "publishing," and "disseminating" would be helpful, but until the company makes such a clarification, the conservative interpretation is the safest.

You could ask Apple for permission to publish your source code, but in the absence of such permission, violating the agreement terminates your right to use the SDK and to publish your software, regardless of the license you choose.

Finally, the fact that currently only US residents age 18 and older can even sign up for the iPhone Developer Program disqualifies many free software developers right out of the gate. The US-only restriction will likely be lifted, just as the devices themselves have been rolled out country by country. But the Registered iPhone Developer Agreement is intended to serve as a binding contract, so the age restriction is certainly here to stay.

There are other restrictions on what iPhone applications are allowed to do, which some might consider barriers to free software. The limitations already discussed affect all apps, regardless of function.

Freedom!

Of course, the code signing and NDA hang-ups apply only to developers who sign up for the program. Reverse-engineer the iPhone and you can code to your heart's content. So long as you do not expose yourself to the official SDK, you can license your work however you want.

All of the third-party iPhone apps available up until now are the result of jailbreaking the devices, a pastime at least partly responsible for Apple's decision to create an iPhone SDK in the first place.

To its credit, the Apple development community seems to recognize the limitations of the iPhone SDK as they apply even to non-free software, and is writing about them.

As the iPhone SDK Era begins, it is interesting to look back at what the FSF had to say about the launch of the device itself. The FSF launched GPLv3 on the same day that Apple launched the iPhone, and used the event to address the restrictions placed on iPhone owners.

Executive Director Peter Brown described the device as "crippled, because a device that isn't under the control of its owner works against the interests of its owner." The document goes on to cite DRM locks and "TiVoization" as the principal problems.

In the months since those words were written, the TiVoization problem might have sounded abstract, but the details of the iPhone SDK make it crystal clear -- you cannot write free software for the iPhone, even if you want to.

Share    Print    Comments   

Comments

on The iPhone SDK and free software: not a match

Note: Comments are owned by the poster. We are not responsible for their content.

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 82.155.204.152] on April 15, 2008 08:43 PM
Close products and close minds. People that build and use these things are egotistic beyond belief.

The kind of abuse that this company imposes on people using it's products equals the mindless following of their customers. They live in constant denial. They have excuses for everything: from why it charges for a "free update" to why these clauses are included (it's the lawyers fault, as if the lawyers own or manage the company).

The idea that the company does these things because they're necessary to make a better product also falls flat when we see other companies producing similar products without these restrictions. It's not they are perfect people capable of making perfect products. This has nothing to do with the quality or necessity of their products. It's adverting and status. You have to have it, no matter what, everyone is using, it looks cool, fashionable... You're nobody if you don't have one. Collective hysteria.

The company creates the market, imposes the rules, and takes a cut (30%). Instead of whining or trying to figure out why they have done this or if they are going change it, you better start creating alternatives.

I repeat, create alternatives. It might not be as successful as that one, but it will stop them take enough of a market to dictate to everyone what they can or can't do.

Like everyone product they make, this is nothing special, but yet people continually do free advertising for them. Every time you bitch, you promote them. And they and their products are not something that should be promoted. Not on this site at least.

#

Re(1): The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 130.161.37.94] on April 16, 2008 09:25 AM
Of course we should not stop using stuff that works now. But we should not stop looking for better stuff, i.e., stuff that is less restricting and more open. An open-source competitor to google would be great. Imagine all the search directives not being in the hands of a single company, but in the hands of everybody, where of course proper anonymizing techniques should be used.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 64.207.50.20] on April 16, 2008 09:17 PM
What the GPLv(2 & 3) impose on developers that choose to use it is more restrictive then what Apple is placing on the iPhone developers. If you truly are interested in FREELY available software, release it under the BSD license through Apple and supply the code on your own site so others can develop with it! It seems you are more interested on politics then SW.

The egotistic view is yours! That your view is right for everybody and everything! If you don't want to develop for the iPhone, Don't! nobody is making you or anybody else! Develop under Android!

Personally, Apple makes products that are very well integrated and it's their reputation on the line if the shlt doesn't work!
OSS is, with only a few well organized exceptions (apache, emacs, KDE...) crap! I've used it for many years and I cannot tell you how many apps I started to use that I though were great, but had to give up on because the author(s) did not finish (polish) the last 5% of their application.

#

Re(1): The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 189.79.81.55] on April 19, 2008 04:29 AM
Open source software is, with few exceptions, amateur software.

#

Re(2): The iPhone SDK and free software: not a match

Posted by: Joe Barr on April 19, 2008 12:44 PM
I agree completely, if you are using the truest sense of the word amateur, having been written for love rather than gold.

It's also better software than almost all the crap that professionals turn out because instead of decaying and rotting, it improves over time.

You don't have to look any further than Microsoft to see the truth of this.

#

Re(3): The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 189.79.88.162] on April 21, 2008 06:20 PM
So are you basically saying that Microsoft's software didn't improve over time? Have you ever compared Microsoft Office 2007, Exchange 2007, SQL Server 2008, Windows Server 2008 with previous versions?

Your statement is completely misinformed. Proprietary software from companies like Adobe, Microsoft, Sun, Apple, Corel, Oracle, CA, Autodesk, and many others, moves the world.

OSS, on the other hand, is generally inferior. You don't have to look any further than Linux or OpenOffice.org to see the truth of this. The latest versions of the Linux kernel are becoming more and more buggy over time.

OpenOffice.org, the famous opensource office suite, is at best a very bad joke. It is slow, unstable and much more limited than Microsoft Office or even WordPerfect Office. This is the real sense of amateur software.

There are, however, a few exceptions as I said before. There is quality opensource software like PHP, Perl, PostgreSQL, Scilab, TeX, BSD, OpenVPN, Squid, and many others.

#

People make their own sandboxes, and you have to live with that

Posted by: Anonymous [ip: 66.122.195.143] on April 17, 2008 12:21 AM
I have an iPhone, and I don't own a Mac. I'm sorry, but I can't develop on a platform where my primary applications (ASIC, many GPL2 libraries) don't either exist, have compatibility problems and where I have to pay enormous costs for things like video card upgrades (which aren't available most of the time).

I do have to say, if you don't like the terms of the Apple license you don't have to develop for it. You should know by now given Steve Jobs history that he wants all aspects of control of not only what his company does but what people do with his company. There is no doubt that controlling all aspects of design, methodology, and distribution allows for better integration, but of course it must also be more restrictive. This is of course because more tightly integrated products make more money as Apple has shown.

Undoubtedly restricting the iPhone distribution of applications to their store allows Apple a level control that other companies would love to be able to enforce, assuming their product was that wanted. However, this is viewed by many people and typically developers or entities that want more flexibility to change or distribute to meet their own practical needs as too restrictive. I think this is where Apple eventually does get into trouble, where people want to change the ground rules set up by Apple. In the end, it is the innovators dilemma especially when the day arrives where you don't have hot product. The moment things get stale, you have to ensure lock in of course Apple has done rather well in this department with iTunes music store restrictions, at least more so in the beginning than now.

I don't personally care for Apple from a developer point of view because I don't know what goes on in their minds with regards to roadmaps, future support for platforms (read Enterprise), and cost of their products. However, they do find a part of the market and wish to execute to the highest level they can, which of course they want to make money off of and if you don't like it, you are free to develop your own.

-Alan

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 198.63.16.200] on April 17, 2008 01:58 PM
Who f*cking cares?

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 72.224.73.163] on April 15, 2008 09:03 PM
Google's Android platform certainly looks a little more free software friendly, at least if you don't mind programming in the little Java sandbox they give you... and assuming Sprint and Google's other partners don't decide to Tivoize it, which seems likely to me.

But at least their license is GPL-compatible.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 123.113.28.193] on April 16, 2008 12:26 AM
I am reading this article on bed in the morning by iPhone.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 142.59.95.199] on April 16, 2008 04:39 PM
A better article title would be 'The iPhone SDK and GPLv3, not a match'

#

The iPhone SDK and free software: not a match...YET

Posted by: Anonymous [ip: 69.230.208.94] on April 16, 2008 04:43 PM
Once competition comes along, there will likely be a day where Open Sourced GPLv3 might be allowed.

We can envision an "iNewton" coming down the pike in the near future, and Apple will have to decide whether to allow users to load anything onto it, just like a MacBook...or not. Limiting what users could put on a UMPC, handheld or MiniMacBook (whatever it will be called) might NOT be in Apple's best interest.

Only time will tell. I would want to load anything I want or need on a sub-notebook, or I likely wouldn't plunk down the cash. Why? The only reason for me to have a mini-mobile device is to run the same things I already run on my MBPro in both OSX & WinXP, etc.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 76.176.12.156] on April 16, 2008 04:47 PM
This "anti-tivoization" clause does not appear to be necessary to meet the referenced definition of "free software". The source code is the software, full stop. When I release a program under GPL(v2, the only version I currently will consider) I am granting to the user a right to use, distribute or modify that same code, for use in whatever way they want, as long as they honor the right of others to do the same with any derived works they may create.
I do not tell them what hardware they may and may not run that software on.
If I write a library that I use in an iphone application ( assuming that the NDA issue is not involved ), and release that library under GPL(v2), there is nothing preventing another from taking that library and using it in another system, or as the basis for another program. (Given the viral aspect, I may need to use the LGPL, but that is not th issue).
It is a conceit of the GPLV3 that somehow a software license can dictate the use of my hardware. This is a dangerous route since it diminishes the emphasis on the code as the software.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.199.159.92] on April 16, 2008 05:19 PM
Also, it would still be considered free software. Its stupid to say its not free software because you have to pay for tools to compile it and use it.

If buying the tools needed to compile the code and make it usable means its not free software, then anything that requires Visual Studio or XCode to compile can not possibly be free software either.

You'll have to excuse Apple for requiring someone of legal age to sign up for a binding contract as well, I can't imagine why they'd do that with pre-release software ... Its too bad the simple way around it is to have a parent sign up on your behalf, which is legal.

Stop being such haters and just get over it.

The iPhone isn't all that, but for F*#% sake pull your head out of your

You could also easily work around the publishing of the softare source without breaking the apple NDA with simple wrapper functions.

#

Forget GPLv2, also

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 05:28 PM
Apple's license PROHIBITS you from sharing the source code that you wrote yourself, and yet people say that the GPL is restrictive!!! Wow.

GPLv2 is not acceptable under the Apple license, either. The contract says that you cannot distribute iPhone software without Apple's permission. GPLv2 says that you cannot place additional distribution restrictions on distribution of the code.

I will be more interested in the iPhone when they don't tell me what I can do with MY code. I have my choice of software licenses for code that I write, and I would not choose to release under a license that gives others (Apple) more rights to my code than it gives me.

#

Re: Forget GPLv2, also

Posted by: Anonymous [ip: 24.199.159.92] on April 16, 2008 06:46 PM
They don't tell you what you can do with your code. They can't, its your code. They do tell you what they can do with their libraries, just like GPL and LGPL do for other peoples applications/libraries.

You can release your iPhone code day in and day out. You can distribute your source code all you want. What you can not do is put it on the App Store and distribute it to iPhone users without their express permission. Big difference there. You can distribute the source code to your application all you want, but if someone wants it on their phone and they aren't a developer, it has to go through the App Store, which just for reference, is only the compiled binary. If its YOUR code, you can certainly allow YOURSELF an EXCEMPTION to the license YOU picked in order to distribute the binaries via the AppStore. You are taking away your own rights in your own mind with a license you decided to use with rules that don't exist in the license. The license applies to other people who get your source code, you can offer it under as many licensing agreements as you want, ITS YOURS to do with what you want. You can give it to me under GPL but to Apple for distribution via AppStore with their rules. All it means is that I technically can't distributed a modified version of your code via AppStore because the GPL prohibits it, because you decided on a license that is incompatible. But thats not even the case.

I don't even see where the incompatibility exists. You put the binary on the AppStore, and the source on your website. Problem solved. If someone wants to modify the source and recompile it, NOTHING stops them other than not having the tools, which ... they can sign up for and get if they want to. If you think GPL is incompatible, you should probably contact someone with slightly better reading comprehension skills to help you pick a license that you can understand.

You can't put your code on my website without my permission. That doesn't mean you can't distribute your code, it just means you can't distributed via my website without my permission. Theres nothing in GPL that says the source has to accompany the binary, it just has to be available through an acceptable distribution method. It doesn't have to sit on the same servers. It doesn't have to be in the same country. It doesn't even have to be on the same planet. It just has to be available if someone requests it in some form or another. Which, can for example be that you have to call me on the phone and ask me to mail you a CD, for which I can charge you a reasonable rate for the process of duplicating the CD and mailing it.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 62.17.164.250] on April 16, 2008 05:28 PM
Being both, a Windows & Open source programmer for quite a while now, I find Apples attitude towards developers is precisely the reason why 99.99% of developers do not program for the Mac. Rather than investing in marketing hype, Apple could do better by inviting developers to their stagnant OS that is devoid of even the most basic applications. In contrast MS's solid developer support & the Linux folks are such a joy to work with. The iphone is doomed to fail, personally I prefer WM6 on a phone & look forward to Googles Android.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 128.211.176.174] on April 16, 2008 05:56 PM
I could understand calling Mac OS stagnant back in 2000, but how can you really say that now unless you've not been paying attention. You can hate their attitude towards developers but the OS is anything but stagnant

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 192.168.1.63] on April 16, 2008 09:44 PM
Right... the iPhone is doomed. You want to notify the millions of iPhone users that they bought a doomed device?

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 05:43 PM
Good lord do we have to listen to the stupid 'GPL sucks' whiners again? If you don't like the GPL, don't play in their sandbox. There is plenty of BSD code out there to keep you happy. The GPL people tend to keep pretty quiet about how stupid they think the BSD license is, one would expect the BSD people to reciprocate.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 64.207.50.20] on April 16, 2008 09:28 PM
You've got to be kidding? right?

#

The iPhone SDK and free software: not a miss

Posted by: Anonymous [ip: 66.74.157.130] on April 16, 2008 05:45 PM
I thought Microsoft was supposed to be the one to sling FUD around? There's a difference between a signed application and source code. There's also a difference between calls to an non-open API and the API itself.

If you can't work out the import of the above statement for yourself, have your mommy explain it to you. But in case she's not around: Apple might not be responsible for distributing the code of an application it distributes with the author's permission, but there's noting in the agreement that says the author can't.

C"mon. You can do better than that.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 06:00 PM
Read that agreement again. Yes they do assert distribution rights over your source code.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 207.134.48.191] on April 16, 2008 06:02 PM
This article is completly invalid. Misleading.
There is no such thing like an iPhone authorized free application that is GPLv3-licensed.
Not charging a dime for a product desn't mean that it is opened, closed or anything in between.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 06:10 PM
Let me clarify what I said: Apple says that you may not release ANY information that they consider to be confidential, in ANY way. It is IMPOSSIBLE to code up an application without incorporating their proprietary information within the code. For example, source code will reveal API function calls, return values, error codes, etc. Even comments in the code explaining what is happening will reveal proprietary information. The source code to a comprehensive iPhone application alone may reveal enough proprietary information for others to be able to write iPhone apps without agreeing to Apple's license. This is precisely what they are trying to avoid.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 67.188.158.217] on April 16, 2008 06:16 PM
You are correct in your assertion, but the NDA has an 'escape' clause. If the disclosed information is available, elsewhere, publicly, it is no longer protected by the terms of the NDA. That you can get at the SDK with just an Apple ID creates an argument in my mind that Apple is de facto releasing the SDK's API information publicly. That places it outside the protections of the NDA.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 98.207.253.51] on April 16, 2008 06:36 PM


Proprietary information is not a synonym for confidential information. Revealing proprietary information is fine as long as it is not confidential.
The API documentation is available if you just sign up as a developer. Longer term the developer documentation may be even more accessible.


If as a developer Apple hands you an alpha/beta product and explicitly labels it confidential then is a different story. However, long term does
anyone really expect that the API document won't be open to access. Perhaps not anonymous access, but open access is not confidential.
This excessively narrow reading of the context would prohibit anyone from writing books on developing iPhone apps. Does that really sound
like a sane thing that Apple wants to happen? No.

#

Then they should have started last August.

Posted by: Anonymous [ip: 17.202.40.209] on April 17, 2008 06:39 AM
"The source code to a comprehensive iPhone application alone may reveal enough proprietary information for others to be able to write iPhone apps without agreeing to Apple's license. This is precisely what they are trying to avoid."

Then they should have started last August. Now it's too late; there's already plenty of third party documentation, ass well as compilation tools and tools for loading the software on the iPhone.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 67.188.158.217] on April 16, 2008 06:14 PM
From the article, it appears that the NDA becomes an issue once you are accepted into the Registered iPhone Developer program, not before. And prior to being accepted as an official iPhone Developer, you can create an account to pull down the SDK and look at it, including the API information, prior to agreeing to any NDA.

In my mind that means the SDK is publicly available "elsewhere", i.e. disclosure to the general public. There's no need to "reverse engineer" anything, as the article suggests. Get the SDK, learn the API, write your code, release it under the appropriate GPL (whichever version you like best) and let others do with the code as they want. It's a hybrid solution, far from he best, but something to investigate

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 06:23 PM
No, the SDK is not publicly available, you had to sign up for an Apple developer account and agree to their terms and conditions (you must not have read them) before you can even get to the page where you can download the SDK. So the SDK is NOT publicly available as you say.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 98.207.253.51] on April 16, 2008 06:41 PM
> No, the SDK is not publicly available,

What?

> you had to sign up for an Apple developer account

which is free and relatively painless.

> and agree to their terms and conditions

Publicly available doesn't mean has to be available on term YOU most desire.
If you buy a copy of Mac OS X in the store you have to agree to Apple's terms and conditions. Is it not publicly available??? Surely you jest.




#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 98.207.253.51] on April 16, 2008 07:14 PM
from the article.

> 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.

This is fundamentally flawed on several dimensions.

1. GPL is not == to Free/Open Software. I know the GNU spinmeisters like that FUD but it is just that; FUD.

2. It is "free" (as in freedom) . It isn't "free" (as in beer). If that other person pays $99 they can compile and build/run the app on their phone too.
Seems like there is a misdirected whining here about having to pay for the dev tools. Often, freedom isn't free (as in beer).


> Those broad restrictions may be standard issue for an NDA, but they constitute a binding agreement that trumps your usual right to place a license of your choosing on your source code.

That is a exceedingly dubious statement. All of the items that Apple is restricting disclosure on is THEIR intellectual proprietary ( and maybe one of their partners who they want to work in conjunction with you with.) None of that is YOUR IP so don't have any "usual right to place" jack squat on that. It isn't YOURS. There is nothing in the quoted restrictions of Apple that mentions YOUR source code at all. So where is this imagined restriction?????

APIs are not "confidential information". The "I" in API is "interface". How can an interface be broadly useful if no one can openly talk about what it is. What Apple is trying to protect is the material behind the API; not the API itself. They are prehaps being a bit close to the vest while the SDK is in the formative stages, but long term it is a contrived reading of the restrictions that casts the APIs themselves as being national/corporate security secretes. Get real. Go try to look up information on the Mac OX API on Apple's website.












#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 140.247.248.82] on April 16, 2008 07:14 PM
This article is complete FUD. Code signing isn't a problem because the author can do whatever he wants with his own program, including distribute binaries through iTunes. NO license takes away the rights of the original author, even the GPLv3. iTunes distribution is done *through* Apple, not *by* Apple -- otherwise, Apple would require a separate license for proprietary programs, etc. No, distribution through iTunes is an action taken by the author, and it doesn't implicate the GPLv3 at all until when/if a licensee downloads it from iTunes.

Now, if someone other than the original author wants to distribute modified versions on iTunes, that *might* implicate the anti-TiVoization clause. Hmm. Nope. Section 6 of the GPLv3 provides that "[i]f you convey an object code work under this section in, or with, or specifically for use in, a [TiVo or iPhone or whatever], and the conveying occurs as part of a transaction in which the right of possession and use of the [TiVo or iPhone or whatever] is transferred to the recipient ... the Corresponding Source conveyed under this section must be accompanied by the Installation Information." Since iTunes-distributed iPhone apps aren't distributed as "part of [the] transaction in which the right to possession and use of the [iPhone] is transferred to the recipient," that doesn't seem to apply here.

Let's assume that I'm wrong about that, and the anti-TiVoization clause is applicable to this situation. The "Installation Information" might include the process of getting a key. Nothing in the GPL says that the installation process can't require tools which cost money. After all, computers, (some) compilers, and internet bandwidth all cost money. Where does the author here get the idea that the key can't cost money?

Even if the ATC applies, and even if the ATC requires the key to be free, nothing prevents the original author from dual-licensing his code. If the first license is the GPLv3, then the second license could be something like "You may distribute modified, non-GPLv3 binary versions of this program through the iTunes App Store, so long as you also release the full source under this same dual license, and the modified binary version conspicuously displays instructions for getting the dual-licensed source of your modified version."

But let's say, just for the sake of argument, that I'm wrong about the ATC applying, wrong about the ATC prohibiting the requirement of non-gratis tools, and wrong about the ability to dual-license with GPLv3. Even if I'm wrong about all of those things, who's to say that non-GPLv3 is unfree? GPLv2, BSD, etc. are all free software licenses.

As for the non-disclosure agreement, it remains to be seen if it'll be included in the final terms, and if it is, if it would prohibit distributing source code that makes API calls. Somehow, I doubt both of those things.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 196.218.255.124] on April 16, 2008 07:23 PM
hack Apple software in 2 minutes for dummies. :))

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 16, 2008 07:45 PM
"Contrived reading of the restrictions"

Well, let's read them, shall we?

---
BY
CLICKING “AGREE”, CHECKING THE BOX OR BY DOWNLOADING, USING OR COPYING
ANY PART OF THIS SDK, YOU ARE AGREEING ON YOUR OWN BEHALF AND/OR ON
BEHALF OF YOUR COMPANY TO THE TERMS AND CONDITIONS STATED BELOW.
IF YOU DO NOT OR CANNOT AGREE TO THE TERMS OF THIS AGREEMENT, YOU
CANNOT USE THIS SDK. DO NOT DOWNLOAD OR USE THIS SDK IN THAT CASE.

You agree not to rent, lease, lend, upload to or host on any website or server, sell, redistribute, or
sublicense the SDK, in whole or in part, or to enable others to do so. You may not use the SDK
for any purpose not expressly permitted by this Agreement.

You agree that the SDK licensed hereunder, the terms and conditions of this Agreement, and any
other non-public information that You learn about Apple’s products, designs, research,
development, know-how, or Apple’s business, finances or personnel, or non-public third party
information, in connection with this Agreement or in connection with Your use of any part of the
SDK will be deemed “Apple Confidential Information” under this Agreement.
---

Please tell me how one could possibly interpret these contractual clauses in any other way than the plain English in which they are written.

Perhaps you are willing to flirt with Apple's legal department, but I have better things to do.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 12.144.53.68] on April 16, 2008 07:51 PM
The article and the premise are complete FUD. Yes, Apple does restict the distribution of software for the iPhone. Because Apple is going to be the one to take it on the chin when and if an App that's distributed through the iTunes store screws up someone's iPhone or iPod touch. The iPod and iPhones are appliances not computers. Just ask what it's like over in Blackberry land and find out how many ill-prepared or badly written pieces of code are screwing up with thier phones.

Apple has always been a "It's our way or the highway" kind of company. Nothing however forces anyone to go play in thier sandbox. However there would be no reason for an article like this if the sandbox did not have a lot of appeal to it.

#

The iPhone delivers on the GPL's purpose.

Posted by: Anonymous [ip: 24.174.166.122] on April 16, 2008 09:00 PM
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.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 83.143.43.35] on April 16, 2008 09:15 PM
If iPhone is "most advanced piece of technology" you've ever seen (anonymous above), then maybe you should check some mobile phones and/or PDAs from two years ago. They were... well... somewhat more advanced... and less limited.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 76.221.114.209] on April 16, 2008 09:48 PM
Riiiiight ... that's why those mobile phones and PDAs completely captured the market two years ago and later on the iPhone didn't sell a few million units for a few hundred bucks each. More tellingly, that's exactly why right now you're criticizing the manufacturers of THOSE phones and PDAs for releasing their SDK's under non-GPLv3 terms while totally ignoring Apple's SDK, isn't it?
Just show me one phone/pda from two years ago that incorporates wi-fi, bluetooth, touchscreen, accelerometers AND software that properly, flawlessly integrates them in an overall very pleasant experience for the user; it has to be audio/video capable, matching the dimensions of the iPhone/iTouch (big screen, small package, lightweight) and with at least the same battery life. Here is a hint for you: you won't find a similar device in production by an Apple competitor even now, or even a couple of years from now.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 68.149.33.81] on April 16, 2008 09:55 PM
I guarantee GPL'ed code is going to wind up on the iPhone. Then we'll have to deal with the tedious "blah is violating the GPL" stories. Serious question: Has there even been a case of the GPL being enforced and having some software pulled due to license violations?

I have an iPod Touch. Was very happy with what it did out of the box. What pushed me to jailbreak? Jobs charging me $20 for "free" apps because I registered my iPod two days before the cut off date. That was it for me. Done playing nice now Mister Jobs, come again. Downgraded to 1.1.1, jailbroke, ran the installer, grabbed the apps from a repository and now have five screens of apps on my iPod. With programs like Ziphone coming out now, jailbreaking is getting more and more clever. (Custom firmwares etc...)

I just wish there was MORE stuff being developed. There are some glaring holes in the jailbreak community (MAME for instance doesn't exist as far as I'm aware). And the appstore, from what I've read, will carry a charge for iPod Touch owners. (I've heard everything from an initial $20 charge to get access, right down to $2 PER APP from the store itself.)

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 64.81.172.123] on April 16, 2008 11:08 PM
This is all 100% correct. You can't use GPL with the iPhone, and the entire Apple philosophy is opposed to the FSF's philosophy. If you are in the FSF, or agree with their goals. you should not own, use, or program for the iPhone. You can use Android or any Linux phone.

Don't be a hypocrite. If you use Linux, you are not wanted on Apple platforms, and you should not want Apple platforms.

This will make everyone who uses Macs and iPhones much happier, not having to hear your high-pitched whining. This will make you happier, since you won't have to experience the jealousy of seeing good software side-by-side with your ugly GPL junk.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 68.149.33.81] on April 16, 2008 11:24 PM
Oh, I see what you did there. I approve heartily. lol

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 17, 2008 03:03 AM
Yes, that GPL junk is used to compile every single OSX application. OSX would not exist without gcc, the GNU Compiler Collection. gcc is used to compile iPhone apps. I guess they are all junk too.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 76.243.212.95] on April 17, 2008 10:33 AM
The author's contention, supra, that you can code to your heart's content, if you reverse engineer the iPhone, is only true if you can reverse engineer the iPhone without infringing on any of Apple and/or AT&T's intellectual property (IP). Now, I can't imagine how you would reverse engineer the iPhone without infringing, unless you do what Google, Nokia, and other are attempting to do, which is to create their own smartphones from scratch. The others who have reverse engineered the iPhone, JailBreak, for example, have almost certainly infringed on either Apple or AT&T's IP, which is why they must hide in the shadows, often by operating in a foreign country that is not a signatory to the international conventions on trade and IP; can't create a business; and can't charge for their work; for, if they could be located and served with a complaint, they would be sued or, in the case of criminal infringement, prosecuted.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 148.87.1.172] on April 17, 2008 09:41 PM
> Thus, you as the developer could attempt to place your code under the GPLv3, but Apple could not
> distribute it -- and since only Apple-signed programs will run, no one else could distribute it either.

There is no impediment to Apple releasing software that's distributed under GPL3. They're not party to the license agreement. Whether or not it's in the spirit of the license, how would Apple in any way bound by the distribution license under which you issue your software?

These constant attempts to somehow make GPL3 apply to parties to which it doesn't legally apply are not helping further open-source software. In fact, they are likely creating a much more legally-defensible position from which to invalidate GPL3 licensing as a constraint.

I don't dispute the fact that the Apple agreement is in conflict with GPL3, only that Apple is in any way liable should they post a GPL3-licensed piece of software. I defy you to find any legal ruling that would in any way make Apple liable in that case.

#

What about Open Source Tool Chain

Posted by: Anonymous [ip: 72.71.205.106] on April 18, 2008 02:42 AM
It would have been nice if the article covered the open source tool chain - a free, open source cross-compiler for the iPhone, which has been used to build the hundreds of free apps that are already available on the iPhone today. I didn't see any mention of the 2 million iPhones that are already jailbroken and running free open-source software. Why not I wonder. The open source tool chain has no licensing issues like the SDK.

#

The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 24.62.148.66] on April 18, 2008 04:43 AM
"The open source tool chain has no licensing issues like the SDK."

Last I checked, GPL is not the same as public domain, and there is in fact a license that is to be followed. It's just a very different license from Apple's.

In Soviet Apple, your telephone has more rights than you do.

#

Re: The iPhone SDK and free software: not a match

Posted by: Anonymous [ip: 72.71.205.106] on April 18, 2008 01:50 PM
The GPL doesn't limit "use"... so you can USE the tool chain to build whatever you want, under whatever license you want. Whether it's GPL or not

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya