The app store model in iOS, Android, Mac OS X Lion, and Windows 8 is not the same as the Linux distro repository model. The app store is centrally curated but the individual app developer is responsible for creating the application package and uploading it. The app store doesn't do any repackaging or dependency management, so you can install any app without worrying about dependencies from elsewhere.
This is hugely different to the Linux model - see Ingo Molnar's posting on Google Plus recently for more about this.
Posted Mar 31, 2012 14:54 UTC (Sat) by krake (subscriber, #55996)
[Link]
One problem with these "apple" stores is that they are designed for vendors with tiny portfolios.
Any vendor with a non trivial portfolio has components that are shared between its applications, some applications like office or creativity suites are specifically designed that way.
I can understand that those store services stay away from global dependencies sharable between vendors, but vendor internal dependencies would be handled by the vendor itself.
Free is too expensive (Economist)
Posted Apr 2, 2012 11:26 UTC (Mon) by sorpigal (subscriber, #36106)
[Link]
> The app store model in iOS, Android, Mac OS X Lion, and Windows 8 is not the same as the Linux distro repository model
It's only different in policy not technology.
I could create an source for Debian and a web site where third parties could upload packages. I'd just say "By policy you may not depend on any package" or perhaps "on any package not present in release foo." Anyone who adds this apt source can go to his package manager and get third party apps, any third party who wants to can go to my web site and upload his apps. There's no dependency management because the packages simply don't request any. The only thing missing is a mechanism for paying for the apps.
Free is too expensive (Economist)
Posted Apr 2, 2012 15:04 UTC (Mon) by Cyberax (✭ supporter ✭, #52523)
[Link]
There's no guarantee that your app will continue to work year from now. For example, I can depend on 'libblah' package which packages version 2.71 of this library. Next year this package might switch to the next incompatible 3.141 version of this library.
Free is too expensive (Economist)
Posted Apr 2, 2012 16:55 UTC (Mon) by cortana (subscriber, #24596)
[Link]
One would hope that, after the switch, the SONAME of libblah would be bumped to indicate this. The distro can then continue to provide the original libblah.so.0 indefinitely. Of course, this is the ideal, and it's not always adhered to strictly, but Debian is pretty good at spotting these kinds of problems and hitting upstream with the cluebat when they screw up.
Free is too expensive (Economist)
Posted Apr 2, 2012 17:19 UTC (Mon) by dark (subscriber, #8483)
[Link]
Yeah but that's not a good situation. The compatible version of the library is now unmaintained, orphaned. Is anyone making security fixes for it? More and more maintenance work will fall on the distributions, instead of being done in the project that's focused on the library. And some projects bump their versions several times a year, so the maintenance work on the old versions can really pile up. The result is of course that nobody does it, and installing a program that needs the old versions becomes really difficult.
Free is too expensive (Economist)
Posted Apr 3, 2012 16:38 UTC (Tue) by sorpigal (subscriber, #36106)
[Link]
This is why I suggested "May not depend on any package"; that is, presume that you static link everything.
If you permit depending on some packages then this is a risk which the distribution vendor would have to be committed to preventing. Or, the third party repository maintainer might be willing to guarantee/mirror a set of packages at a certain version simply so that the apps can depend on them and only them (and then it's the app store owner's problem if the base distro makes an incompatible change).
Free is too expensive (Economist)
Posted Apr 2, 2012 15:40 UTC (Mon) by khim (subscriber, #9252)
[Link]
It's only different in policy not technology.
These are related things. Ubuntu tries to ignore the difference and as was already discussed just says: In order for your application to be distributed in the Software Centre it must be in one, self-contained directory when installed.
Sadly it does not provide any means to create such one, self-contained directory.