Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Cellphones Open Source Software News

Open Source Licensing and the App Store Model 251

snydeq writes "Savio Rodrigues sheds light on the limitations open source software faces in app stores, a problem that will only increase as the app store model proliferates. 'In effect, in the context of a GPLv2 license, an Apple App Store item that abides by Apple's terms of service is deemed to be restricting usage and imposing further limitation on usage rights than were envisioned by the original licensor of the open source code,' Rodrigues writes. 'Far from being an abstract example, this situation is precisely why the popular VLC media player was removed from the App Store.' Microsoft, for its part, disallows the use of GPLv2 altogether. 'With the vast amount of GPLv2 code available for use, the incompatibility between the App Store's (and Windows Marketplace's) terms of service on one hand and GPLv2 on the other is a problem in need of a fix.'"
This discussion has been archived. No new comments can be posted.

Open Source Licensing and the App Store Model

Comments Filter:
  • Apple's Xcode is included in the Mac App Store. It includes GPLed stuff like GCC. Can this be a problem like VLC?

    Or are the rules for the Mac App Store different from those of the iOS App Store?

    • by larry bagina ( 561269 ) on Saturday March 12, 2011 @08:58PM (#35468170) Journal
      VLC wasn't a problem until a single contributor (and nokia employee) complained to Apple to have it removed.

      Apple makes their gcc/etc source code available [apple.com] and the app store version of the gcc binary doesn't have any DRM and can be copied/modified so the FSF shouldn't have any reason to complain.

      • VLC wasn't a problem until a single contributor (and nokia employee) complained to Apple to have it removed.

        Apple makes their gcc/etc source code available [apple.com] and the app store version of the gcc binary doesn't have any DRM and can be copied/modified so the FSF shouldn't have any reason to complain.

        No need to mention DRM, since DRM does not inherently conflict with GPLv2. The problem with GPLv2 and app stores is with the terms of services of the app stores.

        • DRM does inherently conflict with the GPL. DRM is specifically about preventing users from exercising some of the rights that the GPL provides. As in it's there to prevent you from copying the code. Now, I suppose that you could recompile the software without the DRM, but that's really reaching.

          • Yes, but you could be sneaky about it. Say you provide the source code for the DRM-laden GPLd program and allows everyone to freely modify and distribute it, so people are free to take out the DRM and recompile. But you actually distribute it as a part of a locked device, running from a ROM chip. Nothing short of a hard mod would, then, allow you to bypass the DRM protection on that particular device. Still the code itself is perfectly free.
          • I create a video player that reads a video file and a decryption key, Neither of these things are part of the video player's code base.
            I sell you a piece of hardware which includes: 1) The video player software burned into some write-once chip 2) The complete source code for that software.

            You have the source-code, and you can compile it yourself in such a way that you can view any keys involved. But you can't* modify the device I sold you (the device itself isn't covered by any license or law requiring it

    • Xcode is distributed by Apple itself, so they place no additional burden (with respect to providing source code on request etc) by putting it in the app store.

    • Re:What about Xcode? (Score:5, Interesting)

      by Trolan ( 42526 ) on Saturday March 12, 2011 @09:02PM (#35468186) Homepage

      The problem that had been noted with VLC was that you had to go to a 'third party' site for the source, and you couldn't build the actual app and install it without additional hurdles. In this case the Xcode application itself isn't GPLd, LLVM (the default C/C++/Obj-C compiler) is similar to the BSD license, and any GPL source elements are available from Apple (http://opensource.apple.com/).

      Xcode4 is kind of an odd duck in that it doesn't conform specifically to OSX AppStore guidelines (installs outside of /Applications, isn't a single .app file, etc)

      • The problem that had been noted with VLC was that you had to go to a 'third party' site for the source, and you couldn't build the actual app and install it without additional hurdles.

        No, none of those were the problem with VLC. The problem with VLC was that the terms of service of the App Store, which users must agree to in order to be allowed to download and install the app, conflict with GPLv2.

      • Although LLVM now ships with XCode, a combination of LLVM and GCC is still the default compiler for new iPhone projects. LLVM for the whole compile chain is an option but not the default.

    • by sco08y ( 615665 )

      Apple's Xcode is included in the Mac App Store. It includes GPLed stuff like GCC. Can this be a problem like VLC?

      Or are the rules for the Mac App Store different from those of the iOS App Store?

      Completely different. The Mac App Store is simply another way of getting software on your Mac. On iOS, the App Store is the only way of getting software.

      • Completely different. The Mac App Store is simply another way of getting software on your Mac. On iOS, the App Store is the only way of getting software.

        That is untrue. The first way is jailbreaking; but lets ignore that for the moment.

        The second way is compiling and installing yourself. Which is something you would be able to do with the developer tools, which you would need anyway once you get access to the source.

        Anyone who can make use of the source can also get a build onto the device, in two differe

        • by Microlith ( 54737 ) on Sunday March 13, 2011 @12:31AM (#35469014)

          The first way is jailbreaking; but lets ignore that for the moment.

          Yes, lets. Because it forces you to violate an EULA you agree to when you start using the device. You shouldn't be forced to violate a contract (of any kind) to be free to do as you wish.

          The second way is compiling and installing yourself. Which is something you would be able to do with the developer tools, which you would need anyway once you get access to the source.

          The developer tools themselves do not allow you to load them. You must pay the yearly $99 fee to load them on your phone, and even then it is a limited "beta" signature that will eventually expire (90 days, I believe.) So even then Apple is placing restrictions on your use of the software.

          Anyone who can make use of the source can also get a build onto the device, in two different but equally effective ways.

          I hardly call forcing people to violate an EULA, and forcing them to pay $99 to load software they compile themselves on a device they own "effective" or even remotely reasonable.

    • The Mac store I suspect has different rules than the iOS store. After all the Mac store has loads of IDEs but there are none on the iOS.

      Lugaru HD is on the Mac App store which is a game whose source is released under the GPL.
  • Limited problem. (Score:4, Interesting)

    by Microlith ( 54737 ) on Saturday March 12, 2011 @08:48PM (#35468112)

    First, this article is a pitch for OpenLogic's software.

    The problem has a limited number of causes:

    • Apple's App Store forces users to agree to a ToS that applies extra restrictions on the software delivered that is explicitly prohibited by the GPL.
    • The devices provide no means whatsoever for a user to load software on the device without going through the App Store.

    Were the second case not true, this wouldn't be an issue. If the first case were not true, this would probably not be an issue either. Both cases being true make Open Source (or rather, Free Software) unwelcome on both Microsoft and Apple's mobile platforms, which is exactly how they want it.

    • by nuggz ( 69912 )

      The question really is why does Apple force a ToS that prohibit the use of GPL code.

      The second question is if the benefit of GPL and other free code is strong enough to make these closed platforms uncompetative.
      In some cases it will be better to simply use the GPL code and not realase on platforms that don't allow GPL code.

      • by Microlith ( 54737 ) on Saturday March 12, 2011 @09:08PM (#35468224)

        he question really is why does Apple force a ToS that prohibit the use of GPL code.

        It's a side effect of their desire to lay terms and conditions on the users of the App Store. The Apple philosophy seems to be control, regardless of what side-effects it has.

        This feeds into the desire for a solid experience, but I think it's become a ridiculous and punitive obsession.

        The second question is if the benefit of GPL and other free code is strong enough to make these closed platforms uncompetative.

        People are trying, of course. But no vendor seems to have the wherewithal to create a truly good experience, or try and generate the hype necessary to counter Apple. And Apple could undermine that by allowing end-users to load software freely without the App Store.

        And I don't at all count Google as the savior here, since going with them basically means you're throwing the existing world of open source and Free Software on a bonfire (which is expected, when you're conforming to design decisions made for what was supposed to be closed source software.)

        • Re: (Score:2, Insightful)

          And I don't at all count Google as the savior here, since going with them basically means you're throwing the existing world of open source and Free Software on a bonfire (which is expected, when you're conforming to design decisions made for what was supposed to be closed source software.)

          I don't know... Android is clearly not the supreme platform for open source software, but it's still the best of all the viable alternatives. And if it wins in the marketplace then we're on much stronger footing because getting a fully-open solution working which is compatible with the dominant platform is much easier when the dominant platform is mostly open and Linux-based.

          • I though you could build a fully open source Android? The Cyanogen wiki says it is GPL and Apache licensed (which I assume means that some bits are GPL and others are Apache).

            • I though you could build a fully open source Android? The Cyanogen wiki says it is GPL and Apache licensed (which I assume means that some bits are GPL and others are Apache).

              Right, but that's not what you get on your phone when you go to Verizon and ask them for a Droid, because Motorola has made changes (presumably to the Apache licensed bits) which they don't publish, and have everything set up to prevent you from changing things as you like.

              I think what I'd really like to see is something like the Nexus line, but available on all carriers and capable of running apt-get and anything else in the GNU userland.

          • getting a fully-open solution working which is compatible with the dominant platform

            The problem is that there is nothing existing in the open source world that is compatible with Android... except Android. It was never meant to be compatible, it was meant to be proprietary.

            • OK, but so what? Android is just the UI and some libraries, it's still Linux underneath and it's all open source. You don't really have to re-implement anything -- if you need some library from desktop Linux that isn't in Android, you don't have to rewrite it, you just have to statically link it. There is obviously some work to be done to e.g. get gtk and qt working with the Android UI, but they already work with OS X and win32 and I'll eat my hat if they can't reuse a large majority of the OS-dependent cod

      • by hduff ( 570443 )

        The question really is why does Apple force a ToS that prohibit the use of GPL code.

        Because they are free to choose whatever ToS they desire for whatever reason they desire. It's their app store, their platform and their customers voting with their wallets.

        The second question is if the benefit of GPL and other free code is strong enough to make these closed platforms uncompetative.
        In some cases it will be better to simply use the GPL code and not realase on platforms that don't allow GPL code.

        No. The ToS presents an artificial barrier that favors apps that abide by their ToS. Since there is a profit incentive to be a successful app and no profit incentive to be a ideologically pure app, I suspect that the ToS-compliant apps and their platforms will survive nicely (lot's of people don't care about FOSS ideology) and GPL apps will never be allowed to compete in those official app stores.

    • If the source were included (or included as an option) in the download, would that resolve the issue? Most people would not include the optional extra, but providing it could resolve the issue.

      • If the source were included (or included as an option) in the download, would that resolve the issue?

        Inclusion of the source code would not resolve the issue, because it still places restrictions on how the App can be used. Not that it would help, since the user can't rebuild/load it anyway without violating the Apple EULA.

      • by SETIGuy ( 33768 )
        It's likely that Apple's distribution of X-code with GPLv2 components is illegal if the AppStore terms of service restrict redistribution of the downloaded software. If those terms exist, it doesn't matter if source code were included, because the person downloading Xcode would be restricted from redistributing in either source or binary form. Simple as that. For distribution to be stopped, one of the GCC copyright holders would need to complain.
    • The second case is not true. There are two methods to load software outside the App store. Note GPL does not require tools or equipment used to be free.
      • First - jailbreak the phone. Then your world is opened. And it is legal to do. There are risks the user assumes for this, but that is normal.
      • Second - Get a developer license. Pay Apple $99 a year to develop software for the iPhone. Build the App from scratch, or well lets just say if you're a legit developer and your device is flaged for developer use, cert
  • Maybe the Free Software Foundation and Apple needs to sit down together, so we open source developers can find out where they stand.

    Myself, I have no issue paying for open source, especially when it helps the developers, but it would be nice to be able to have open source software on the app store. What do companies like Apple have to fear?

  • by LodCrappo ( 705968 ) on Saturday March 12, 2011 @09:02PM (#35468192)

    Problem fixed.

    • You recommended not buying any computing appliance with lockdown comparable to an iPod touch, iPhone, or iPad. But say I want to buy a device for playing video games, in genres other than FPS or RTS, on the living room TV with a housemate or visiting friends. Microsoft's device has lockdown comparable to Apple's. Nintendo's device and Sony's device have even more restrictive lockdown, and any jailbreaks that do exist will evaporate in the next system software update. What make and model would you recommend

      • If there was a massive existing library of excellent, best of breed open source games which worked fine on your console but were not allowed by the manufacturer for licensing reasons, I could see people being upset about it.

      • A) You can still buy an Android phone even if you buy a Wii.
        B) They have a device called a "PC" which is mostly open and runs a lot of video games.

        • But say I want to buy a device for playing video games, in genres other than FPS or RTS, on the living room TV with a housemate or visiting friends.

          You can still buy an Android phone even if you buy a Wii.

          Android-powered phones are single-player. Sure, some newer Android-powered devices have TV output, but I'm not aware of anything in the Android API allowing gamepad input; if there is something, it's well HID-den. Even if a game supports WLAN play, is the host expected to buy phones and copies of each game for players 2, 3, and 4 to use?

          They have a device called a "PC" which is mostly open and runs a lot of video games.

          I'm aware of this. But most developers of PC games appear to be under the impression that the PC is single-player, ignoring the possibility of four gamepads and an HDTV moni

          • Even if a game supports WLAN play, is the host expected to buy phones and copies of each game for players 2, 3, and 4 to use?

            Of course not. Each player can supply their own device and copy of the game like any other LAN party.

            That's actually a pretty good idea: Using a touchscreen phone as a game controller and then hooking one of the phones up to a TV, with multiplayer over 802.11. I hope that catches on.

            But most developers of PC games appear to be under the impression that the PC is single-player, ignoring the possibility of four gamepads and an HDTV monitor.

            That's because it mostly is, or at least the usual model is that each player has their own PC. But what's wrong with that? It's easier than ever because modern laptops are fast enough to play almost all PC games, so you don't ev

    • Problem fixed.

      Number of replies to this story: 88 (as of 10:45 PM ET, March 12)

      4.5 Million Tablets Were Sold in Q3 2010; 4.2 Million Were iPads [allthingsd.com]

      You do the math.

    • Problem fixed.

      Or just take advantage of the large amount of non-copyleft yet open source code available. Then you don't have to take an option off the table entirely, ironically. People who work hard on their projects and want to restrict distribution in accordance with the ideals of the GPL should (and do) have that choice; there is plenty of free stuff (and more) available to those who choose not to be so rigid.

      • I don't see how forgoing all copyleft software is solving the problem mentioned in this story (since this story is specifically about the problem with using that software), regardless of if you use other software or not.

        OTOH, if you stick to devices which don't impose restrictions on the software you can run, you do in fact solve the problem, if only for yourself.

  • Why would FOSS developers care whether users who buy into company A's platform can use the software?

    Isn't this something the people who bought company A's stuff should be talking to company A about, since the users are the ones at a disadvantage and company A's restrictive model is the reason?

    • Why would FOSS developers care whether users who buy into company A's platform can use the software?

      Because Company A is making the arbitrary decision that users should not be allowed to use FOSS, and banking on them not caring because they don't know.

      • I get that, I agree with you... but.. why would FOSS care what company A does or if it's users can use FOSS? What does FOSS have to gain here?

      • by PhilHibbs ( 4537 )

        It's not arbitrary. Apple have locked down their devices, and for (IMO) good reasons. The GPL forbids distribution of locked down derivatives, so it isn't Apple's doing, it's the GPL's. Same for Microsoft.

        • by aristotle-dude ( 626586 ) on Saturday March 12, 2011 @11:14PM (#35468708)

          It's not arbitrary. Apple have locked down their devices, and for (IMO) good reasons. The GPL forbids distribution of locked down derivatives, so it isn't Apple's doing, it's the GPL's. Same for Microsoft.

          Citation needed. Give us the specific clause int he GPL Version 2 that states exactly that. Put up or shut up. The GPL Version 2 is a "source" license. Version 3 tries to go beyond that and specify what you can and cannot do with the binary. I'm not sure if those are enforceable but the author can always resort to copyright to block distribution.

        • Apple have locked down their devices, and for (IMO) good reasons.

          Two things:

          1) They have locked down their user's devices, not their devices.
          2) They do so for the sole reason of forcing you under their control and services under their control. It provides no security whatsoever.

  • Not incompatible (Score:4, Insightful)

    by mysidia ( 191772 ) on Saturday March 12, 2011 @09:36PM (#35468324)

    the incompatibility between the App Store's (and Windows Marketplace's) terms of service on one hand and GPLv2 on the other is a problem in need of a fix.'"

    No, the app store model does not need a fix, because it's not inherently incompatible. Source code can still be provided, with download instructions.

    What's in need of a fix are the fact that phones are locked down to prevent the user from modifying and installing any application they want, without crypto signing and the manufacturer's approval.

    App store providers can fix it if they insert a clause in their license terms requiring the user be allowed to modify, compile, and install any application they want on their own, without requiring any crypto signatures.

    Without the "cannot install your own app restrictions"; the app store is just a convenient installation program. Many GPL software applications use proprietary installers, such as InstallShield or MSI based installers, without source code provided to the installer; without GPL-violating DRM on the phone, the app store is just a fancy installer program that can install files directly from an URL or remote location.

    • by Wrath0fb0b ( 302444 ) on Saturday March 12, 2011 @10:13PM (#35468514)

      What's in need of a fix are the fact that phones are locked down to prevent the user from modifying and installing any application they want, without crypto signing and the manufacturer's approval.

      The GPLv2 does not require that devices honor modifications, only that the user is free to download the source and the binary and modify and redistribute them. That was the entire lesson of TiVo and the motivation for GPLv3.

      I would have thought that a reasonable way to solve this would be for a GPLv2 application distributed in the App Store to have a link to a web page where you can download the source and the binary. There would be a sort of philosophical question, given that you can't access the copy that's on your phone but I don't think the GPLv2 requires such pedantic exactitude. So long as you can get a copy of the source used to build that binary, I think the license is met.

      And, of course, if you don't want software that you write to be used in such a fashion, use the GPLv3. I don't find anything wrong with that at all -- the author ought to decide based on what he or she feels is right.

      http://en.wikipedia.org/wiki/Tivoization [wikipedia.org]

      • I would have thought that a reasonable way to solve this would be for a GPLv2 application distributed in the App Store to have a link to a web page where you can download the source and the binary.

        Finally someone with some sense.

        What I would were I building a GPL app would provide a link to the source and one of many innumerable pirate sites that strip the DRM from a binary. Then it wouldn't even be a pedantic thing, you'd be giving access to an open version of the binary.

        Heck, technically the actual "bina

      • I would have thought that a reasonable way to solve this would be for a GPLv2 application distributed in the App Store to have a link to a web page where you can download the source and the binary.

        You're almost there. The problem here is that, when user downloads an app from the App Store, Apple is acting as a distributor, and thus GPL terms apply to them. And here's what it has to say on providing source code:

        3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

        a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
        b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
        c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) ...
        If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

        So, even if a GPLv2 an app submitted to the Store includes a link to the source, or an offer to distribute the source on demand made by the original author, Apple cannot merely delegate that link/offer because they redistribute apps commercially (even if the app itself is free, the author still

      • Distributing source code that can be compiled into a functioning program you mean?
        That's the entire point.

        Until phones allow you to compile and run the compiled software (not sure which do and which don't, I assume iPhone doesn't) or there is another way to compile for it with said source code, no, it isn't following the intention (maybe the license as written, uncertain) of GPLv2.

    • by Kenja ( 541830 )
      Lets see. Check the check box allowing third party app sources. There! I cracked the complex lock down system!

      Course thats for Android phones...
    • by sco08y ( 615665 )


      the incompatibility between the App Store's (and Windows Marketplace's) terms of service on one hand and GPLv2 on the other is a problem in need of a fix.'"

      No, the app store model does not need a fix, because it's not inherently incompatible. Source code can still be provided, with download instructions.

      What's in need of a fix are the fact that phones are locked down to prevent the user from modifying and installing any application they want, without crypto signing and the manufacturer's approval.

      App store providers can fix it if they insert a clause in their license terms requiring the user be allowed to modify, compile, and install any application they want
      on their own, without requiring any crypto signatures.

      So, anyone can sign up to be an iOS developer [apple.com] for $99 a year, and then test their modified version [apple.com] to their heart's content. They can then do ad hoc distribution [apple.com] to 100 others. That's iOS development in a nutshell.

      I'm trying to see how Apple could relax those restrictions without iOS being slammed with malware. If anyone other than Apple can sign an app for general use, iOS will be slammed. If you can sign an app for only your account, it's hardly better than the current situation.

      The only realistic way of

      • by sco08y ( 615665 )

        The only realistic way of beating malware is white-listing, and the App Store model is the only realistic way to do white-listing.

        Having said that, you could have an oligarchy of white-listers instead of the Apple monarchy. But that's like certificate authorities: all I know when I visit foocorp.com is that it really is the site of Foo Corp. and that they really did shell out $50 for a business license.

      • by Dwonis ( 52652 ) *

        The only realistic way of beating malware is white-listing

        No, you just have to design an operating system where beating malware is actually a design goal, rather than an afterthought.

      • So, anyone can sign up to be an iOS developer for $99 a year, and then test their modified version to their heart's content. They can then do ad hoc distribution to 100 others. That's iOS development in a nutshell.

        That's just putting up an arbitrary wall to accessing the platform, and the ad-hoc distributions are time limited.

        I'm trying to see how Apple could relax those restrictions without iOS being slammed with malware.

        By making the ability to load unsigned packages a touch more difficult to enable by de

  • The issue is not GPLv2 because its wording is silent on the issues that people are claiming incompatibility. GPLv3 is incompatible because it has explicit language which is unfriendly towards commercial use so it can prevent third parties from publishing in the Appstore. Neither GPLv2 or GPLv3 trump the copyright of the author or authors. When all authors agree to distribute on the app store, then there is no problem. The problem arrises when one of the contributors disagrees and exerts their copyright to b

    • That's bullshit. While the GPL does not prevent authors from putting it into the Appstore, if Apple can't comply with the GPL terms, Apple can't redistribute the programs. The license to redistribute the code or software is derived from the GPL, not from the party that owns the copyright. Since they presumably chose to offer it under the terms of the GPL.

      4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

      This bit here is what's causing the trouble. Apple adds ToS to purchases through the Apple store which covers anything that's sold through

    • by SETIGuy ( 33768 )
      Actually that is an unresolved legal question. Suppose I write an app and offer it through the App Store licensed as GPLv2 and with the download provide appropriate license, copyright and download information. If I haven't modified the license, it states that the user may distribute the downloaded binary provided they offer to provide source. The App Store terms of service say he may not do so. Suppose he somehow cracks and distributes it and Apple goes after him. And he counter sues both me and Apple
  • Is the iOS app store compatible with other open source licenses? I am curious, because I was working on a project I was planning to port to iOS. Maybe I'll have to stick to Android, if I can't find an open-source way to license it for iPhone.
    • Actually it's not even incompatible with the GPL as some are claiming, if you read the licenses.

      But if you don't want to get into the GPL think many iOS libraries use a variant of the BSD or Apache licenses which are more liberal about use in commercial products without releasing source.

      • Actually, I was planning to make it free.

        Maybe I mis-read what the others were saying. Is that the real problem here? Commercial (for-profit) distribution with added restrictions?
  • Really have people in the open source community not realized this yet? App stores like Apple are not setup to distribute software or sharing code or ideas. it's about making money. Period! If apple has to choose between a sub par app that will sell for $5.00 over a similar app that is open source and free they will accept the lesser product because they can make money. It has happened in the past so don't expect it to change.

    Besides with these apps stores are a dead end for open source products. People
  • So the answer is to throw out our carefully evolved OSS licences to comply with de jour app store policy? Fuck that.

Every nonzero finite dimensional inner product space has an orthonormal basis. It makes sense, when you don't think about it.

Working...