Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

iPhone SDK and Free Software Don't Match

Posted by CmdrTaco on Wed Apr 16, 2008 10:26 AM
from the hey-now-wait-a-minute dept.
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."
+ -
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by zappepcs (820751) on Wednesday April 16 2008, @10:29AM (#23091198) Journal
    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 :)
    • Re: (Score:3, Insightful)

      There are a handful of different popular vehicle fuels.

      There are thousands of different licenses.

      Fuel compatibility is based on verifiable engineering principles.

      License compatibility is based on legal opinion.
      • by DECS (891519) on Wednesday April 16 2008, @07:39PM (#23098298) Homepage Journal
        Because leaded gas would destroy the catalytic converter in newer cars.

        Old cars used lead in fuel to lubricate engine parts. Lead is toxic. In addition to removing lead, newer cars added catalytic converters to burn off tailpipe toxins. If you run leaded gas through them, it contaminates the catalysts.

        So to prevent people who didn't know better from thinking they could run "regular" gas through their newer cars without destroying a ~$300 part and dumping out more pollution, they make it difficult to do so with a smaller filler hose and port.

        That shares little in common with the idea of using GPL software in the iPhone. First of all, there's no damage: anyone can adapt FOSS libraries or develop new code under a free license and use this to deliver iPhone programs. Their open source code can be distributed for others to adapt; the only difference is that in order for someone to actually deploy an adapted version of that code, that new developer would need to be in the iPhone dev program so they could sign and distribute it.

        Apple uses both GPL and BSD licensed software on the iPhone, and makes their source available from its website. Why can't other software developers do the same?

        Perhaps I'm missing something, but even the GPL doesn't force developers to guarantee that their code will never be used on a secured platform that requires code signing. iPhone development offers no barriers to open source ideologies. It's only the official AppStore distribution of completed software that requires some approval from Apple. It seems pretty clear that there will always be some software that requires modifying the iPhone's firmware to distribute non-signed, unofficial software, so even that is hardly relevant.

        What's the controversy here? Seems to be much grasping at straws by the ignorant diggtard crowd that likes to bewail the "Apple monopoly." Of course, the problem is that Apple competes against lots of other products in the market. There are lots of MP3 players, media software, and smartphones; there are no commercial PC operating systems to choose from, and even the free volunteer options are hard to find available on a new PC that doesn't already include a Windows license. That's the difference between the Windows monopoly and the competition of iTunes, the iPod, and the iPhone.

        iPhone 2.0 SDK: How Signing Certificates Work [roughlydrafted.com]
  • by erroneus (253617) on Wednesday April 16 2008, @10:29AM (#23091202) Homepage
    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!
    • by sm62704 (957197) on Wednesday April 16 2008, @10:54AM (#23091684) Journal
      iScream! uScream! we all scream for iScream!

      Uh, 'scuse me while iRead this iSummons from Apple's iLawyer. Who isn't so iCool or iPopular. But nothing's as iCool as iScream!

      Did iMention that iGot an iOperation [slashdot.org] last week?

      iKid, iKid! ok iGo now.
    • by Yvan256 (722131) on Wednesday April 16 2008, @03:26PM (#23095282) Homepage Journal
      Sunshine? WTF dude, this is slashdot. We're all supposed to be hiding in the basement!
        • by drerwk (695572) on Wednesday April 16 2008, @12:38PM (#23093200) Homepage

          A lot of the *NIX core is there and rather functional...

          FYI - all of UNIX is now there.

          Leopard is an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads. Since Leopard can compile and run all your existing UNIX code, you can deploy it in environments that demand full conformance â" complete with hooks to maintain compatibility with existing software.

          Though my favorite quote is

          The most widely-sold UNIX operating system, Mac OS X version 10.5 Leopard combines a fully-conformant UNIX foundation with the richness and usability of the Macintosh interface, bringing multi-core technology and 64-bit power to the mass market.

          Sold. Get it? Sold.
  • by dreamchaser (49529) on Wednesday April 16 2008, @10:30AM (#23091218) Homepage Journal
    I thought we already knew that the iPhone SDK license might be unfriendly to free software. It shouldn't really surprise anyone should it?

    People should really read what they agree to but of course they don't most of the time. Of course, the /. crowd as a whole probably does so far more than most demographics.
    • by gEvil (beta) (945888) on Wednesday April 16 2008, @10:33AM (#23091266)
      People should really read what they agree to but of course they don't most of the time. Of course, the /. crowd as a whole probably does so far more than most demographics.

      And if the ability of /.ers to RTFA (not just this one, but any FA) is any example to go on, then it's a completely hopeless situation...
    • by EricR86 (1144023) on Wednesday April 16 2008, @10:44AM (#23091502)

      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: (Score:3, Insightful)

        I guess I am just not surprised even a little. I love their products and own a few, but I am getting to like Apple the company less and less. I've *never* liked Jobs but I recognize his effectiveness over the years and respect him for it.
        • by voidptr (609) on Wednesday April 16 2008, @05:19PM (#23096538) Homepage Journal
          The license I choose as an author is binding on everyone else, not me. It's my code, I still own the original copyright, and I can do whatever the hell I want.

          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.

    • So far, anyway, (Score:4, Insightful)

      by StarKruzr (74642) on Wednesday April 16 2008, @11:27AM (#23092190) Journal
      we can still jailbreak, and there's no reason we can't continue to develop free software with the community toolchain.
      • There is nothing preventing free software to be distrubuted from the iPhone App Store. I'm working on one to release, probably for free. The barriers are for Open Source Software, which just happens to usually be free.

        Except the term free software [wikipedia.org] is commonly used as a synonym for open source software [wikipedia.org] (or vice versa). Are you thinking of freeware [wikipedia.org]?

  • A new low (Score:5, Funny)

    by Ethanol-fueled (1125189) * on Wednesday April 16 2008, @10:33AM (#23091280) Homepage
    "...If you want to develop Free Software, Linux.com (Shares corp overlord w/ Slsahdot )..."

    Wow, /. 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 ;)
  • by nweaver (113078) on Wednesday April 16 2008, @10:35AM (#23091326) Homepage
    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.
    • by FooAtWFU (699187) on Wednesday April 16 2008, @10:43AM (#23091484) Homepage
      From TFA, it may affect the publishing of source code under any license. The BSD license isn't going to get you very far if you could be violating the Apple NDA by publishing the source code. Furthermore, even if you did / could publish it legally, it won't do anyone else much good if they can't compile it for the iPhone because they haven't paid Apple $99 and gotten the magical seal of approval.
      • by nweaver (113078) on Wednesday April 16 2008, @10:53AM (#23091666) Homepage
        You CAN distribute code under the BSD liscence, just you can only distribute to other registered developers.

        Since registering as a developer for the SDK is $0.00, and a registered devolper with a dev key is $100, AND is needed if you want to modify the code, Big Frakin Deal: you can only distribute the code to people who are able to use it, as the jailbreak dev-kits don't use the same APIs (and if they did, then you can distribute to your hearts content because its clearly no longer confidential information).
        • by mobby_6kl (668092) on Wednesday April 16 2008, @12:25PM (#23093022)
          > You CAN distribute code under the BSD liscence, just you can only distribute to other registered developers.

          Oh, ok. I think I've just solved the prostitution problem for the US using the same approach: you can pay women for sex, but only if the woman in question is your wife. Ta-da!
    • Re: (Score:3, Informative)

      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.
      There is free as in beer, and free as in speech.

      When they are talking about you can't alter it and then use it, their talking about how the software isn't free of restriction. They are not talking about its price.
    • by nguy (1207026) on Wednesday April 16 2008, @01:52PM (#23094146)
      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.
      • by nweaver (113078) on Wednesday April 16 2008, @10:49AM (#23091592) Homepage
        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.
        • by kithrup (778358) on Wednesday April 16 2008, @11:19AM (#23092022)

          The normal ADC NDA says the same thing, and that has never prevented anyone from distributing application source code. (One can argue that the third-party books which describe the API cover this -- but books always lag behind, and I've never seen anyone worried that they'll be sued by Apple for distributing their application source code before any third-party books describing the APIs they're using are out.)

          Of course, I'm neither a lawyer nor Apple (and certainly not an Apple lawyer), so I can't speak definitively... but common sense seems to say this is a red herring.

  • Enough said really, why should everything strive to be GPL compatible? I've often wondered this in the past when <Insert Random Project Here> 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.
    • by jrumney (197329) on Wednesday April 16 2008, @10:45AM (#23091512) Homepage

      when at the same time the GPL itself doesn't strive for great compatibility with others.

      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.

    • by Hatta (162192) on Wednesday April 16 2008, @10:47AM (#23091552) Journal
      Because there's a lot of GPL software out there, and people are going to want to run it on their devices. If a device cannot legally run GPL software, that's a really good reason not to get that device.

      You're right that the GPL doesn't strive for great compatibility with other license. It strives to be the most free. Sometimes that causes problems with proprietary systems. It's not the GPLs fault that it can't be compatible with licenses that remove your freedoms.
      • It strives to be the most free. Sometimes that causes problems with proprietary systems.
        I don't think it strives to be the most free. At least I don't see it that way. I think it strives to propagate freedom. And that's what sometimes conflicts with proprietary systems.
      • by daveewart (66895) on Wednesday April 16 2008, @10:58AM (#23091732)

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

          • by Your.Master (1088569) on Wednesday April 16 2008, @12:42PM (#23093242)
            Yes, I can seriously argue that. Especially because it isn't that you can't remove the freedoms of others, it's that you must grant a set of freedoms to others. The work that goes into a derived work does not have some platonic natural state of being free for all others to use, it is imposed by the source GPL work.

            The 13th amendment DOES make you less free in some aspects. You are not free to own slaves. Less freedom. That's the end of it. Now, it makes any potential slave much, MUCH more free in some other aspects (and I get that in this analogy, everybody is a slave -- but also in this analogy the slaves can have slaves, so it still holds), and it is overall a good thing, but "good" and "free" are not synonyms. Just because the 13th amendment is absolutely a good thing doesn't mean that it isn't a restriction of your freedoms.
    • by dreamchaser (49529) on Wednesday April 16 2008, @10:51AM (#23091634) Homepage Journal
      There is a big difference with an individual software package not being GPL compatible and an entire platform being so. Locking out free software may not have been Apple's actual intent but they have done so.
  • by DaveInAustin (549058) on Wednesday April 16 2008, @10:39AM (#23091422) Homepage
    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 [google.com]?
  • Code Signing (Score:4, Insightful)

    by diamondsw (685967) on Wednesday April 16 2008, @10:58AM (#23091728)
    Simply put, there are three problems:

    1. Code signing - this conflicts with GPLv3's "anti-Tivoization" clause. As others posted, both sides will see this as a feature, not a bug.
    2. 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.
    3. 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.

  • by SimHacker (180785) on Wednesday April 16 2008, @11:03AM (#23091796) Homepage Journal

    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

  • by w3woody (44457) on Wednesday April 16 2008, @11:04AM (#23091816) Homepage
    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 [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: (Score:3, Interesting)

      Though with Windows Mobile, your application can run just peachy on a Pocket PC with the exact same code without being signed at all. Can iPhone apps run unsigned on an Ipod Touch? (actual, honest question).
    • Re: (Score:3, Informative)

      To be sure, Apple is the only one that requires signing before the application can even be loaded and run. Both Symbian and Windows Mobile will run unsigned applications, but their access to phone capabilities will be restricted to some degree.
    • Re: (Score:3, Insightful)

      You can sign your own programs for Symbian. You don't have to authenticate with a certificate authority unless you have a specific reason to do so. You also don't have to use some vendor approved web store, as a simple USB connection is enough. I don't see how the situations are comparable at all.
    • by Dionysus (12737) on Wednesday April 16 2008, @11:45AM (#23092464) Homepage

      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

      Oh, please. You hear this excuse from Apple apologists every time this issue comes up. Of all the programs on my Nokia N70, only the stuff from Nokia, Opera and Adobe is signed. Gmail app is not signed. None of the games are signed. They all installed and run fine.
  • 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.
  • by RalphBNumbers (655475) on Wednesday April 16 2008, @11:26AM (#23092168)
    FSF Licensing Compliance Officer Brett Smith syas:

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


    The Actual GPLv3 License says:

    If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information.


    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?
    • Not to completely debunk your post, but Apple charges a total of $0 for Xcode (the IDE for OSX) and associated tools, and lets you do whatever the hell you want with the resulting source and binaries.