|
|
Subscribe / Log in / New account

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Posted Jan 4, 2011 5:47 UTC (Tue) by iabervon (subscriber, #722)
Parent article: Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

The way in which I see free software as lacking an "App Store" is that distro packages are conventionally maintained by distro people, not by the app developers. To the extent that app developers do create the packages, they have to create them for particular distros and distro versions, and have to go through a bunch of distro-specific effort for each one they want to support.

I recently got the Humble Bundle. But I couldn't do this through my distro's package manager, nor could I hand my download link to my package manager and have it install them (or, in the case of Penumbra, say, "With that video card? Surely you're not serious."). Now, apps these days only tend to have dependencies that you will almost certainly have a ABI-compatible version of, due to generally good practices, reasonable abstraction, not-too-fast ABI churn, and the ability to include any necessary obscure libraries, so it's not terrible that the package manager doesn't know anything about these programs. But, still, it would be nice if there was a distro-neutral catalog of programs (or more than one, with different organizations approving them) that could be seemlessly installed on whatever distro I happened to be using.


to post comments

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Posted Jan 4, 2011 8:09 UTC (Tue) by cmccabe (guest, #60281) [Link] (2 responses)

> I recently got the Humble Bundle. But I couldn't do this through my
> distro's package manager, nor could I hand my download link to my package
> manager and have it install them (or, in the case of Penumbra, say, "With
> that video card? Surely you're not serious."). Now, apps these days only
> tend to have dependencies that you will almost certainly have a
> ABI-compatible version of, due to generally good practices, reasonable
> abstraction, not-too-fast ABI churn, and the ability to include any
> necessary obscure libraries, so it's not terrible that the package manager
> doesn't know anything about these programs. But, still, it would be nice
> if there was a distro-neutral catalog of programs (or more than one, with
> different organizations approving them) that could be seemlessly installed
> on whatever distro I happened to be using.

Well, the big issue is version mismatches. If the code you're trying to install depends on libfoo version 10, and your system has version 11 installed, things may not work. You could argue that distributions should allow you to install all possible versions of the library, but that is an unrealistic amount of work for the distribution to take on. You could argue that the developers should spend some time to get their product to work with the distribution, but apparently they didn't.

In practice, what systems like Apple's iOS and Android do is that they have some central organization that effectively blesses a few versions of the libraries. It's like a dictator telling the developers that "you may use versions 10 or 15, but never any other ones." Then developers write their code so that it can handle one of the supported API levels.

The alternative is bundled libraries. A lot has been said about the evils of bundled libraries: the memory bloat, the unpatched security holes, and so on. It's probably fair to call this "the Windows way." We're all familiar with the 50-meg chunk of mystery meat crammed into an .exe that you double click on.

At the end of the day, all the different systems involve tradeoffs in terms of user freedom, technical quality, and convenience. I think Linux's current system is good for power users, good for office setups, servers, and so on. Systems like Android and possibly ChromeOS will take Linux to the masses, but only by making tradeoffs that you or I probably wouldn't want to make on our desktop machines.

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Posted Jan 4, 2011 17:20 UTC (Tue) by iabervon (subscriber, #722) [Link] (1 responses)

Historically, and from a technical perspective, that's the case. In practice, however, it's not presently an issue; applications depend on soname 10 of a library, and the library makes sure that any soname 10 version will work (aside, of course, from being slow or buggy), and all the distros have soname 10 versions. Of course, this only applies to things like libc, libstdc++, X/GL libraries, alsa, and SDL; there are other things where the ABI is still more in flux, but these can be bundled (and probably might as well be). Effectively, only versions 10 and 15 exist, with these versions getting compatible improvements over time; version 11 calls itself 10, and is simply not going to have problems version 10 wouldn't have had and be considered an acceptable library for the system to use. That is, people do manage to distribute their software for Linux outside of distro channels currently with a minimum of fuss.

Obviously, having a cross-distro app catalog with package manager integration doesn't add any technical problems with dependencies that just getting those apps individually wouldn't have, and getting apps individually does seem to work at present.

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Posted Jan 5, 2011 2:21 UTC (Wed) by cmccabe (guest, #60281) [Link]

The convention on Linux is that libfoo.a.b.c has a library interface version of 'a', which is backwards compatible with 'b' previous versions, and has a revision number of 'c'.

So in other words, if you have libfoo.1.1.0, it will be compatible with libfoo.0.0.0. libfoo.2.0.0, on the other hand, will not be compatible with either of these.

Compiling and install apps manually works fine as long as the libraries you need haven't made any backwards-incompatible changes recently. I guess you could come up with a self-installing binary of some kind that came with bundled libraries, but only installed them if there was no compatible version on the host system. I don't know if that would be welcomed or not. A lot of the time what you install with a self-installing binaries is proprietary software, and the maintainers don't have much interest in ensuring that it continues to work after they stop releasing updates. (This is quite reasonable on their part, economically speaking.)

Free Software: the road to a Universal bundle, a powerful app store, and world domination (Free Software Magazine)

Posted Jan 5, 2011 3:13 UTC (Wed) by rich0 (guest, #55509) [Link]

Most open source programs have such a distro-neutral package format.

You download/extract a tarball, then type ./configure, and then make (or make install with a suitable destination like /usr/local). Worst case you need to install a few dependencies.

Most distros also provide for tagging the files as part of a package so that they can be managed.

It seems like app stores mainly serve to make it easier to reach a linux audience with proprietary software. I doubt that many open source linux distros have much interest in facilitating this. The big exception are firms like Red Hat, and of course everybody selling serious linux software already targets them anyway.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds