|
|
Subscribe / Log in / New account

Quotes of the week

Quotes of the week

Posted Mar 23, 2012 14:14 UTC (Fri) by khim (subscriber, #9252)
In reply to: Quotes of the week by anselm
Parent article: Quotes of the week

It would certainly be a good thing to have more cross-distribution standardisation for the benefit of third-party app developers but experience with the LSB effort tells us not to set our hopes too high.

LSB was and is hopeless because it does not give well-rounded set of APIs. It does not explain how to add your application to “start menu” or show a notification message. As I've already explained it's still does not include audio API! And even if your application belongs to a tiny subset of applications which are buildable with LSB… Sure, you can create LSB-certified .rpm, but what's the next step? “Joe Average” (who will happily install anything to see the dancing pigs) is not yet on Linux and existing users are trained not to install random .rpm's from unknown source. LSB was and is waste of resources. It can probably be fixed, but I fear by now it's too late: desktop developers have abandoned UNIX (and Linux) long, long, long ago.

Finally, I would like the whining to stop and to hear some actual constructive suggestions.

Well, the high-level list is easy:

  • Admit that there are a problem.
  • Separate technical and non-technical obstacles.
  • Start removing obstacles one by one.

But then you need detailed follow-up. Something like this:

Problem: distributions don't have a fixed release schedule thus it's not possible to introduce new ABIs (demanded by application developers) on timely basis.
Solution: eliminate distributions from the equation. Provide self-contained packages for popular ones (they will probably use kernel and, may be, glibc, but nothing else).

Problem: your new scheme will not be used by developers unless you promise millions of users and users will not install it if you'll not give them thousands of applications.
Solution: embrace some existing “App Store”. Apple's App Store does not look feasible, but both Android's Google Play Shop and Chrome Web Store look promising. First one will mostly give you phone and tablet oriented apps (which is probably not a good thing for desktop Linux, but even so games will be welcome), second one will give you mostly webapps (but, again, games will be welcome) and will be much easier to adopt, but it's much smaller then Android's one. Both solution come with sandbox, which is a requirement as Ingo explained.

Problem: applications designed for Android and/or Chrome look and feel “alien” on a Linux desktop.
Solution: add Linux-specific extensions which will give developers the chance to better integrate with Linux desktop.

The recipe, in principle, is well-known, but for some reason is not followed. All the efforts try to enforce strict rules on developers before they have any developers and before they have any leverage over said developers! This will just not work for obvious reasons. Linux desktop had window of opportunity 10-15 years back when it was probably possible to create such an ecosystem (when Unix workstations were common and a lot of desktop developers had UNIX experience), but it was wasted because of “all the software must be in your repository” attitude. That's why I suggest using Google Play Store and/or Chrome Web Store to jumpstart the efforts.


to post comments

Quotes of the week

Posted Mar 24, 2012 12:45 UTC (Sat) by anselm (subscriber, #2796) [Link] (26 responses)

Linux desktop had window of opportunity 10-15 years back when it was probably possible to create such an ecosystem (when Unix workstations were common and a lot of desktop developers had UNIX experience), but it was wasted because of “all the software must be in your repository” attitude.

The problem at the time was that there was no widely accepted »look and feel« for Unix/Linux desktop applications (there was CDE/Motif, of course, but the development side of that wasn't freely available). The KDE project was the first credible attempt to provide a free desktop environment, but then of course the GNOME people absolutely had to come up with their own system because they positively could not stand the idea of a desktop environment based on C++ and Qt. From a standardisation POV it would have been great if that could have been avoided but that is unfortunately not the way the FLOSS community works.

As far as the distributions are concerned, it is understandable why a distribution (e.g., Debian) puts a big emphasis on its own repositories. After all, users must trust packages they install with root privileges since most packages contain installation scripts that are executed as root. Hence the idea of pre-vetted package maintainers who are the only ones allowed to put stuff into a distribution's repository, and the idea of encouraging distribution users to rely on the distribution's repository as far as possible. By and large the distributions have done a reasonable job of not spreading packages with malicious code in installation scripts, which would be much more difficult to avoid if users were encouraged install any old package that they found on the Internet. A centralised »app store« for third-party Linux desktop apps would have to aspire to the same level of trust that most distributions enjoy today.

Possibly the first thing a cross-distribution scheme for third-party desktop applications should sort out is how to install applications without giving root privileges to untrusted code. Desktop applications usually don't need to place files in /etc or integrate themselves into the boot sequence, so presumably do not actually require root for installation. The Android approach of giving each application its own UID/GID sounds reasonable here. During package installation the distribution would pick a UID/GID and provide a third-party app with a directory below /opt belonging to that UID/GID where it could install itself. There would have to be a way of making new apps show up in the relevant menus (or even /usr/local/bin) but that could be arranged without giving the package in question the ability to execute arbitrary stuff as root. An application could also bring along its own known-working versions of libraries and use LD_LIBRARY_PATH to arrange for them to be loaded (possibly with a way to prefer installed system libraries if these were appropriate), but there would have to be some standardisation to avoid a situation where each app came with its own full version of KDE or GNOME. This could be as straightforward as requiring a particular version of KDE's and/or GNOME's basic libraries to be available (after all, GNOME stuff can run under KDE and vice-versa) and getting the KDE and GNOME people to provide ABI backward compatibility with that version.

Quotes of the week

Posted Mar 24, 2012 14:03 UTC (Sat) by khim (subscriber, #9252) [Link] (25 responses)

The Android approach of giving each application its own UID/GID sounds reasonable here.

Yes, it looks reasonable on first glance, but, unfortunately, in practice it's not enough. Linux kernel is too large and too bug-ridden. It's developers have not actually considered case where people will run potentially-hostile-code locally. Simple UID/GID separation is not robust enough. This means you need additional sandbox. There are many choices: seccomp or ptrace can be used to create adequate sandbox, NaCl offers even more robust one.

This could be as straightforward as requiring a particular version of KDE's and/or GNOME's basic libraries to be available (after all, GNOME stuff can run under KDE and vice-versa) and getting the KDE and GNOME people to provide ABI backward compatibility with that version.

Yeah, this should be possible, too. Will need some amount of upstream support, but should be doable.

If you'll think about it then you'll understand that app stores are all the rage today because they offer two things simultaneously:
1. Distributions package is created by application developer itself, and it's easy to add it to the app store (review process is [relatively] simple for Apple's AppStore and post-moderated for Google Play Store).
2. User can install random programs from the app store [relatively] safely (Apple review process promises to weed out malware while Google does the same using combination of automated process and post-moderation).

Traditional distribution model offer only #1 while distribution repos offer only #2.

It should be possible to create something like this but then you need to jumpstart it somehow (people will only use it if it'll offer something not available from regular Linux repository and developers will only bother with it when there will be enough users).

That's why I recommend not start from scratch but to reuse (and later extend) format of one of the existing stores.

P.S. Also note this magic combination existed for 10 years before Apple and Google created their offers. This is how webapps have come to prominence! The only problem with webapps was creation of them: yes, it's easy to deploy the webapp and it's easy to convince user to try one, but it's not easy to write it in the first place! That's why webapps are all the rage on desktop but “meh” on mobile. They are not needed there! And now we have this and this. What does it mean for the future of Linux desktop? Nothing good: pendulum is almost ready to go back and reverse the trend of previous decade WRT webapps. The trend which made Linux desktop somewhat viable in first place (after all if the only program you ever run is the webbrowser then you can as well use free OS to host it and save money). Think about it…

Quotes of the week

Posted Mar 24, 2012 15:12 UTC (Sat) by anselm (subscriber, #2796) [Link] (8 responses)

It should be possible to create something like this but then you need to jumpstart it somehow (people will only use it if it'll offer something not available from regular Linux repository and developers will only bother with it when there will be enough users).

The problem with this is that the present model is obviously »good enough« for the existing Linux desktop users (otherwise they would presumably be using a Mac). It has the potential to make things better for future Linux desktop users but it needs to have considerable momentum to be able to entice these people away from whatever they are using now.

It is really the third-party desktop app developers who should be pushing for something like this because they stand to save the most work – at least if they want to distribute binaries rather than source code (I don't hear the distributions complain so far). Right now any FLOSS applications that are of sufficient general interest are usually picked up and packaged by the distributions (at least the big ones such as openSUSE or Debian). So the »distribution-independent desktop app store« concept is of most interest to those applications

  • whose upstream maintainers would like to distribute binaries themselves because the applications are not interesting enough for distributions to pick up, and/or
  • which are released/updated frequently enough that there may be a noticeable difference in functionality between the most recent upstream version and that in the distribution (security issues and grave bugs will presumably be fixed in distribution versions, too, so it is really the new functionality that makes the difference), and/or
  • which are non-FLOSS, so can't straightforwardly be included in distribution repositories
Right now this is a fairly small proportion of all Linux desktop apps, and so the issue is really not about fixing a current problem but preparing the way for the future.

This of course raises the question whether we actually want a future that encourages uninteresting desktop apps (out of 500,000 apps in the iOS store, 490,000 or more are probably not all that interesting, either), non-FLOSS ones (I don't really have a problem with this but other people might) or ones that are developed really quickly, which is probably the category where the most people will be able to perceive a benefit. If third-party desktop app developers really believe that Linux distributions are hurting them by not pushing new versions of their apps out to users quickly enough, they ought to get organised behind the »distribution-independent app store« concept, together with the non-FLOSS developers and the developers of uninteresting apps. Don't expect anybody else to take the trouble.

(Also incidentally, don't count on Google taking up the slack. Google already has a perfectly viable Linux-based ecosystem – Android – and is otherwise big on moving stuff into the cloud, which is what Chrome OS appears to be all about. As far as Google is concerned, the amount of Linux required on a PC is exactly the amount that is required to support a Chrome browser that can talk to the Internet. They have nothing to gain from unifying third-party Linux desktop app deployment.)

Quotes of the week

Posted Mar 24, 2012 18:18 UTC (Sat) by khim (subscriber, #9252) [Link] (7 responses)

It is really the third-party desktop app developers who should be pushing for something like this because they stand to save the most work – at least if they want to distribute binaries rather than source code.

You forget that they have much easier alternative: just ignore UNIX/Linux mess and try to grab few more users from Windows/MacOS world. Remember the times when large companies produced desktop software for Linux? Remember the times when Linux seen AAA game titles (well, they usually were ported years later, but they were ported)? These times are gone.

Small software houses still produce some software for Linux (including games), but if Linux desktop will shrink, not grow… well, they'll leave, too.

Right now this is a fairly small proportion of all Linux desktop apps, and so the issue is really not about fixing a current problem but preparing the way for the future.

Well, kinda. Have you been on FOSS-related conferences recently? If the fact that Linux desktop is dying is not a “current problem”, then yes, it's “preparing for the future”.

As Ingo wrote:

- desktop Linux has started, in relative terms to the rest of the market, losing marketshare.

- unlike 10 years ago today there's better alternatives even for technical users - who instead of complaining loudly and pushing back against bad changes will simply leave.

- Linux desktop developers have not noticed the increasing silence of users leaving. It's hard to notice - in fact it's easy to mistake silence for approval ...

Thus Linux desktop projects don't have the capacity anymore to push the kind of changes they used to be able to push.

This is what I meant when I said "the death cries of a dying platform". It is silence.

I find it hard to believe how complacent Linux desktop developers are in the face of crisis, when even on Linux conferences there are plenty of MacBooks (and no, not all of them are using Linux - that's just a popular excuse). Well, no, they are not complacent. Not exactly. They react (new GNOME3's and Unity's UI, KDE4's social desktop features, etc) and try to make something appealing for Joe Average in the hope to attract new blood. These are noble aspirations, but without the ability to choose from bazillion applications Mr. Average will go to Apple and Microsoft instead (as I've already noted they finally have gotten their act together and are moving appstore concept to desktop).

If third-party desktop app developers really believe that Linux distributions are hurting them by not pushing new versions of their apps out to users quickly enough, they ought to get organised behind the »distribution-independent app store« concept, together with the non-FLOSS developers and the developers of uninteresting apps.

Why should they if there are much easier alternative: ignore Linux completely? That's what most of them did. Do we want to see the next Flash or the next Skype only produced for Windows and MacOS? Some desktop Linux developers will join Stallman and say “yes” - and I respect their choice, but some other still try to attract Joe Average to Linux. Without trying to do with support of third-party developers. Guys, come on: this goal is fundamentally incompatible with third-party vendors boycott of the Linux desktop.

As far as Google is concerned, the amount of Linux required on a PC is exactly the amount that is required to support a Chrome browser that can talk to the Internet.

Bingo. Note that Google is quite serious about ChromeOS. It's not clear if it'll manage to create thriving ecosystem, but at least they are trying. And since apps developed for it use well-known Linux goodies (GCC, GLibC, Qt, etc) it looks like logical successor to the traditional Linux desktop.

They have nothing to gain from unifying third-party Linux desktop app deployment.

Right. But you forget that ChromeOS is not all that popular right now. If you'll add all Linux desktop users to the list of potential users then suddenly the userbase for ChromeOS-compatible apps will grow considerably. This means that at this point of time it'll be in Google's interest to support such project. Google will definitely not start it (too much hassle, too little gain), but it may support it. If and when ChromeOS will grow beyond it's current nascent state this window of opportunity will close, too.

The history will repeat Android's story where Google created thriving FOSS ecosystem in a form of Cyanogenmon (and other similar distributions) but at the same time basically killed all the FOSS projects based on traditional Linux's stack. If people are Ok with seeing the repeat of this story on desktop, then who I am to object? It's not my choice.

Quotes of the week

Posted Mar 25, 2012 1:20 UTC (Sun) by nix (subscriber, #2304) [Link] (6 responses)

Remember the times when Linux seen AAA game titles (well, they usually were ported years later, but they were ported)? These times are gone.
I'm not getting into the general argument here, but the AAA game title ports were largely crap, and thanks largely to the Humble Indie Bundles and Ryan C. Gordon there've been more games ported to Linux in the last three or so years than ever before. (It probably helps that the developers have to make the games portable these days anyway, so they can run them on the iPad and on Android boxes.)

Quotes of the week

Posted Mar 25, 2012 8:30 UTC (Sun) by khim (subscriber, #9252) [Link] (5 responses)

And how many of these games are capable of creating buzz? Where are things like Call of Duty, GTA, Left 4 Dead, Mass Effect, Rage, or StarCraft? We are talking about Joe Average here, right?

Sure, MacOS also suffers from the same effect (and for the same reason), but at least they get something (from the list above: Left 4 Dead, Rage and StarCraft support MacOS). What do Linux users have? World of Goo? Is it enough for social creature (and we are talking about social-oriented users here: why else will they need all these social features)?

Humble Indie Bundles and Ryan C. Gordon are trying to replicate the same failed model distributions are using: some games were ported by developers but significant part was ported by a small group of people. This model does not scale. But it also shows (once again) that Linux users don't shun games - the game developers shun Linux.

And they obviously do that because ROI is poor. Instead of trying to improve ROI for the developers (by reducing investment because it's hard to increase sales too much when you have so few users) linux people talk about how that's “as much developer's as the distribution loss” and about how “it's really the third-party desktop app developers who should be pushing for a change”. But it's cheaper for any third-party developer to just create half-dozen packages for popular distributions rather then try to create the whole Linux app store!

And another note: if “community” want any control over said store it must do it itself. If some vendor will decide to build it and succeed then it'll be this vendor's game, not community's game. See Android or Steam.

Quotes of the week

Posted Mar 25, 2012 11:05 UTC (Sun) by anselm (subscriber, #2796) [Link] (4 responses)

And they obviously do that because ROI is poor. Instead of trying to improve ROI for the developers (by reducing investment because it's hard to increase sales too much when you have so few users)

The obvious way of tackling this as far as the games are concerned would not be to try the Sisyphean task of establishing a distribution-independent third-party application deployment infrastructure, but to come up with a way to run Android games on generic Linux desktops. This takes the application developers out of the loop entirely, instead of having to convince them to support one more platform (even if it is just one), and is a more feasible project by orders of magnitude, mostly because it is basically technical rather than political in nature.

linux people talk about how that's “as much developer's as the distribution loss” and about how “it's really the third-party desktop app developers who should be pushing for a change”.

The distributions really don't have much incentive to bend over backwards in this case. If anything it should be the smaller distribution projects rather than the big community-type distributions which should support an »app store« because it means that they can save manpower by not having to maintain a package for everything. On the other hand, most of the smaller distributions are really spin-offs of large distributions that can ride piggy-back on those distributions' repositories, and these already tend to have everything that is of interest in the first place (the FLOSS stuff, anyway).

But it's cheaper for any third-party developer to just create half-dozen packages for popular distributions rather then try to create the whole Linux app store!

The Linux community is notoriously bad at coming up with standardised solutions (it has brought us a dozen main-stream Linux distributions, four desktop environments, and so on), and it would be folly to rely on the community to come up with »the Linux app store« because it will never happen – at best it will be »LSB all over again« with the predictable result. Especially since you'd need buy-in from the main Linux distributions, because otherwise any effort towards an app-store-based Linux will just be seen as »yet another distribution« and not change anything at all.

It may be uncomfortable to you but if you want an environment for third-party Linux desktop apps you will have to go to the developers of those apps to figure out what they need, and it will have to be those developers who will have to see about making it actually happen. (If they're clever they'll band together to do it, and talk to the distributions, too.) This is the FLOSS tradition of »scratching one's own itch«. If the third-party developers don't feel the need to scratch then maybe they're not itching enough (yet?).

Quotes of the week

Posted Mar 25, 2012 13:07 UTC (Sun) by khim (subscriber, #9252) [Link] (3 responses)

The obvious way of tackling this as far as the games are concerned would not be to try the Sisyphean task of establishing a distribution-independent third-party application deployment infrastructure, but to come up with a way to run Android games on generic Linux desktops.

In other word: the obvious way is to follow OS/2, FreeBSD and other such platforms on the road to the irrelevancy. Besides a lot of popular Android games use binary ARM libraries and/or fancy on-phone controls thus it's not easy to bring them to Linux desktop. How will you emulate phone tilt?

The distributions really don't have much incentive to bend over backwards in this case.

If they don't want to see more non-technical users, then no, they don't need that. If they are happy to slowly lose the existing users then they can continue as before.

Especially since you'd need buy-in from the main Linux distributions, because otherwise any effort towards an app-store-based Linux will just be seen as »yet another distribution« and not change anything at all.

You don't need app-store-based Linux. App store itself can easily be installable package for the mainstream Linux distribution or a few of them.

It may be uncomfortable to you but if you want an environment for third-party Linux desktop apps you will have to go to the developers of those apps to figure out what they need

We are doing this, yes.

If they're clever they'll band together to do it,

Well, they are doing this to some degree.

and talk to the distributions, too.

Why will they want that? Distributions are obstacles, you don't talk with obstacles, you sidestep and/or remove them.

If the third-party developers don't feel the need to scratch then maybe they're not itching enough.

Oh, they feel the need all right. The only problem: it's even harder to convince them to do anything together. The most realistic outcome is that someone will just take Linux, remove useless components (such as GNOME, KDE, X Windows System, etc) and create app-store for that. If it'll be Google then most probably it'll be Android-based or ChromeOS-based desktop, if it'll be someone else they may pick something else. But I doubt they will spent a lot of time trying to keep the system usable in parallel with traditional Linux desktop.

I'm not sure I'd like such outcome, but looks like there are no choice. The community have spoken: refusal to make a choice is by itself a choice.

I just hope it'll not regret it later.

Quotes of the week

Posted Mar 26, 2012 11:37 UTC (Mon) by anselm (subscriber, #2796) [Link] (2 responses)

Distributions are obstacles, you don't talk with obstacles, you sidestep and/or remove them.

This would be a very stupid approach since you need the distributions to convince their users that the »app store« is a good idea. Remember that most existing Linux users are generally happy with what the distributions give them (or else they wouldn't be Linux users in the first place).

Your only hope to get people to accept the »Linux app store« is by convincing distributions to stop including stuff that users can get from the app store, and to tell their users to get that stuff from the app store instead. There is no incentive for users of a distribution to get something from the app store if the distribution already comes with the same something but well-integrated into the rest of the distribution and with the distribution's own »seal of approval«.

So you need to get distributions to buy the idea that by packaging stuff for the »app store« rather than just their own ecosystem they will save work (presumably because their users get to use stuff, that other people than them are packaging for the »app store«, that the distribution would otherwise have to package for their own users). This is going to appeal more to the smaller distributions with less manpower than the Debians and openSUSEs of the world. For these distributions, since they basically include every interesting FLOSS package already and have enough volunteers to package stuff, the selling point would probably be the convenient availability of non-FLOS software.

In any case, not working with the distributions would be quite misguided, simply because approximately every single Linux user will be using one distribution or another just to get at the app store. That distribution may well be a basic get-at-the-app-store one (Chrome OS comes to mind) but the existence of such a distribution will not make Debian or Red Hat go away. The old saw, »If you can't beat'em, join'em« applies here as well.

Quotes of the week

Posted Mar 26, 2012 14:36 UTC (Mon) by khim (subscriber, #9252) [Link] (1 responses)

Remember that most existing Linux users are generally happy with what the distributions give them (or else they wouldn't be Linux users in the first place).

Bingo! The problem: more and more of them are stopping being Linux users.

Your only hope to get people to accept the »Linux app store« is by convincing distributions to stop including stuff that users can get from the app store, and to tell their users to get that stuff from the app store instead.

Nope. Much simpler and easier way is to convince third-party developers to release goodies for your app store and not for general-purpose Linux. If you can not convince them then the whole thing will be a bust (Linux has huge problems with commercial software while FOSS is supported adequately by existing distributions). If you can then people will use your app store for the lack of choice.

For these distributions, since they basically include every interesting FLOSS package already and have enough volunteers to package stuff, the selling point would probably be the convenient availability of non-FLOS software.

Yup. If you'll convince enough third-party non-FOSS developers to participate in project then people will start using app store to get these apps. If some FOSS developers will start releasing their goodies via this scheme it'll be added bonus.

In any case, not working with the distributions would be quite misguided, simply because approximately every single Linux user will be using one distribution or another just to get at the app store.

Why are you so sure? You can just provide package for a few major distributions. You don't need to cooperate with distribution makers and play their politics for that.

That distribution may well be a basic get-at-the-app-store one (Chrome OS comes to mind) but the existence of such a distribution will not make Debian or Red Hat go away.

Right. It's not our goal to kill Debian or Red Hat. But since cooperation with them does not make our life easier…

Quotes of the week

Posted Mar 29, 2012 20:01 UTC (Thu) by oak (guest, #2786) [Link]

Strange that nobody's mentioned the stuff that nowadays seem to be requirements for bootstrapping a new app store:
* DRM so that users cannot copy the proprietary apps
* Secured devices so that DRM cannot be broken i.e. users don't get "root"
* HW support for security and keys for signed content
* Few millions (or at least hundreds of thousands) in cash to pay games houses etc put enough initial content to app store to bootstart it

Linux distros are too small fish to have the cash or connections for last, they would need to partner with manufacturers for the HW side and normal Linux users don't like DRM or not having full control of their OS at all.

So, I see iOS / Android style "app store" as highly unlikely for normal Linux desktop.

How well the Ubuntu app store is fairing?

Quotes of the week

Posted Mar 25, 2012 12:21 UTC (Sun) by robert_s (subscriber, #42402) [Link] (15 responses)

I'm amazed this "discussion" has managed to get so far without someone mentioning the fundamental difference between distro packaging and "app store" packaging.

App stores have a flat packaging model and distributions have dependencies.

App stores only appear to work because they have no concept of one package depending on another. Introduce that and the "app developers do the packaging" model _will_ fall apart.

App stores have an "us and them" system, where the system itself is not subject to package control. Distributions on the other hand package manage everything from the gimp right down to gtk, glibc and the kernel, which all need to be packaged in a consistent & sane way for anything to work properly.

There is no "us and them" in linux distributions. It just wouldn't make sense.

I would like to see an app store try to cope with the idea of a 3rd party driver.

Quotes of the week

Posted Mar 25, 2012 12:38 UTC (Sun) by khim (subscriber, #9252) [Link] (12 responses)

I'm amazed this "discussion" has managed to get so far without someone mentioning the fundamental difference between distro packaging and "app store" packaging.

Have you looked on message which started that discussion?

App stores only appear to work because they have no concept of one package depending on another. Introduce that and the "app developers do the packaging" model _will_ fall apart.

Nope. Packages bring all the dependences with them. They can even request user to install some prerequsites (in fact a lot of them do) and if there are few requirements everything works. The most popular packages can be moved from the store to the core of the system over time - this way you can always keep number of prerequisites to minimum and number of duplicated libraries on typical user's system sane.

Distributions on the other hand package manage everything from the gimp right down to gtk, glibc and the kernel,

Yes - and that's the problem.

which all need to be packaged in a consistent & sane way for anything to work properly.

No. Most packages are “leafs” (nothing depends on them) or “cut-out subtrees” (with one package - like GIMP - as the root of tree and bunch of packages which only depend on this one package). These packages don't need to be packaged in any special way (if GIMP has one set of rules, TeX another set of rules and Chrome a third set of rules then this is not a problem because the plugins for these programs are developed by different people which don't know and don't care about each other). The only requirement: they should not clobber files from other packages - and this is easy to achieve without adding these packages to the distribution and without trying to fix what's not broken.

Quotes of the week

Posted Mar 26, 2012 8:31 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (11 responses)

> No. Most packages are “leafs” (nothing depends on them) or “cut-out
> subtrees” (with one package - like GIMP - as the root of tree and bunch
> of packages which only depend on this one package). These packages don't
> need to be packaged in any special way (if GIMP has one set of rules, TeX
> another set of rules and Chrome a third set of rules then this is not a
> problem because the plugins for these programs are developed by different
> people which don't know and don't care about each other).

It's amazing how uninformed you are.

Apart from chrome (which I don't know well enough to comment on) none of your other examples are leaves and the problems you handwave away do exist today.

Quotes of the week

Posted Mar 26, 2012 9:27 UTC (Mon) by khim (subscriber, #9252) [Link] (10 responses)

Apart from chrome (which I don't know well enough to comment on) none of your other examples are leaves

They are… in a sane world. For example on Windows or MacOS. GIMP has his registry, TeX has TeXLive and Chrome has it's store. They all exist quite independently and don't really affect each other.

and the problems you handwave away do exist today.

…in Linux world. Distributions promised to do the impossible: to support applications which pick dependencies at random without thinking. And now they are chocking under the load. The Linux desktop world is crumbling because you can't depend on it: familiar applications can be changed without notice (see GNOME and KDE) or just disappear (things like the venerable XV or GnoCHM) unless user itself decides to play Atlas, too. The solution offered? Try harder, listen to user more, do more of the same. The definition of insanity is doing the same thing over and over and expecting different results - and this is exactly what linux distributions are doing.

I'm not saying that app store model is perfect or that's panacea. No. But it works better then the distributions model and as long as Linux desktop will reject it it'll have the same 1% of the market.

P.S. If you'll say that it's not a problem on Windows or MacOS but a problem on Linux because applications are created in different fashion then I'll agree: if you'll give the developer an easy way to use something s/he'll like it. S/he'll not like the fact that it's hard to actually deliver the final creation to users, but this will be later - and s/he can always try to beg overworked distributions to pick this app, too. For the app store to succeed you need to carefully cultivate ABI exposed to applications in these app stores. But this is not something impossible or unimaginable in FOSS world: GLibC and Xlib are doing this for more then ten years.

P.P.S. Rhetorical question: if Android or ChromeOS (or may be some combination of these two) will indeed conquer the desktop will the people who clamored for “the year of Linux” be happy or sad? I guess we'll see in about 5-10 years…

Quotes of the week

Posted Mar 26, 2012 11:03 UTC (Mon) by anselm (subscriber, #2796) [Link] (9 responses)

For example on Windows or MacOS. GIMP has his registry, TeX has TeXLive and Chrome has it's store. They all exist quite independently and don't really affect each other.

It turns out that there are various pieces of software that need TeX installed, or some sort of web browser. The usual Linux distributions handle this easily. Smartphones and the iPad generally don't run TeX and come with a web browser preinstalled, so the issue doesn't really come up.

How, in your opinion, would an ecosystem based on an »app store« handle this? Having each such »app« include its own copy of TeX isn't feasible as TeX tends to be somewhat large (usually way larger than whatever »app« is using it). Asking users to make sure that they also install the TeX app is a step backwards from what distributions do today and makes it difficult to claim that the »app store« is really more convenient for users. So it seems you're back to explicit dependencies.

Distributions promised to do the impossible: to support applications which pick dependencies at random without thinking. And now they are chocking under the load. The Linux desktop world is crumbling because you can't depend on it: familiar applications can be changed without notice (see GNOME and KDE) or just disappear (things like the venerable XV or GnoCHM) unless user itself decides to play Atlas, too.

This is arguably not the distributions' fault. They are doing a great job packaging things like the Linux kernel or glibc where the upstream authors do care about backwards compatibility, and they usually do allow several (major) versions of a library to coexist, which ought to take care of the ABI evolution issue if the upstream library authors do their job properly. Blame the GNOME and KDE developers for apparent incompetence or misguidedness or the XV developers for finding more interesting things to do with their lives. You can really only fault the distributions for not releasing often enough (if you insist on always having the newest stuff on the day it comes out) and not wanting to distribute stuff that they aren't entitled to distribute.

But it works better then the distributions model and as long as Linux desktop will reject it it'll have the same 1% of the market.

The »app store« model works for iOS because it is the only model there is (on Android you can install stuff from elsewhere but it is enough of a hassle for most people not to bother). Apple (and to a lesser extent, Google) don't use this because they want to make life easy for everyone but because they want to keep control over what is available and also take their cut.

As far as Linux is concerned, there is nothing wrong with the distributions model other than that there could be more ABI compatibility for the benefit of third-party app developers. LSB was supposed to sort that out but as we have seen was mostly a paper tiger.

At the risk of sounding like a broken record, the reason why an app-store model works for iOS but will probably not fly for Linux is that, unlike Apple at the time, the Linux community has no Steve Jobs figure. In the Linux community, any app-store model will need to succeed on its merits, not because some autocrat decides that an app store is how software is going to be distributed. You may argue until you are blue in the face that Linux distributions don't actually work but the fact of the matter is that, for all practical purposes, all existing Linux users run one distribution or another. These distributions set a bar that is uncomfortably high to jump over if you're an app-store-based model – because whatever their shortcomings the distributions are pretty damn good at what they are doing, namely putting useful software in the hands of their users. So the »app store« will have to offer something that distributions don't, and that will have to be (as I wrote earlier) convenient installation of uninteresting, or very new, or non-FLOSS software, i.e., stuff that distributions won't touch, and that out of the 1% of Linux users, probably only a small percentage is really interested in to begin with.

Your argument is that people who are not using Linux now will be enticed to switch to Linux based on such an app store, and it is an argument that I don't buy. I'm all in favour of more standardisation, and I think it would be great in many ways if there was an obvious »Linux« that new users could install to get started rather than the current mess of half a dozen reasonable choices, all with their different strengths and weaknesses. But I have also been around the Linux community long enough to be fairly sure that this isn't going to happen anytime soon. Linux could probably do with more of a market share on the desktop, but claiming that an »app store« for Linux will make all the difference there is cargo cult thinking – if you just flatten the grass enough and put on runway lights then the airplanes full of goodies will come to you.

Quotes of the week

Posted Mar 26, 2012 13:49 UTC (Mon) by khim (subscriber, #9252) [Link] (3 responses)

Asking users to make sure that they also install the TeX app is a step backwards from what distributions do today and makes it difficult to claim that the »app store« is really more convenient for users.

YMMV. Distribution offers easy tracking of dependencies and loong delays between release of the application and the time when you can actually use it: months for regular distributions or years if you use LTS. App store offers instant availability (few days in case of pre-moderated app store, few minutes for post-moderated one) but yes, worse tracking of dependencies. Often no tracking at all (all existing app stores today).

This is arguably not the distributions' fault. They are doing a great job packaging things like the Linux kernel or glibc where the upstream authors do care about backwards compatibility, and they usually do allow several (major) versions of a library to coexist, which ought to take care of the ABI evolution issue if the upstream library authors do their job properly. Blame the GNOME and KDE developers for apparent incompetence or misguidedness or the XV developers for finding more interesting things to do with their lives. You can really only fault the distributions for not releasing often enough (if you insist on always having the newest stuff on the day it comes out) and not wanting to distribute stuff that they aren't entitled to distribute.

With my developer hat on I may care about it or not, with my user hat on I most definitely not care. I know that on MacOS and Windows “XXX vY.Z is released” means I can go and play with it (or buy it if it's not free) while on Linux it means I can only salivate on press-release (ok, I can try to pull bunch of packages from “unstable” with a risk to ruin my whole OS).

Your argument is that people who are not using Linux now will be enticed to switch to Linux based on such an app store, and it is an argument that I don't buy.

No. My argument is the opposite: if Linux will not offer such app store then people will not switch from MacOS and Windows to Linux and existing users will leave it, too. As I've said myself: I'm Linux user so far only because I strongly dislike MacBook's keyboard, but I will probably decide that I don't dislike it that much one of these days. And I was Linux user for more then 10 years.

Quotes of the week

Posted Mar 26, 2012 14:50 UTC (Mon) by anselm (subscriber, #2796) [Link] (2 responses)

My argument is the opposite: if Linux will not offer such app store then people will not switch from MacOS and Windows to Linux and existing users will leave it, too. As I've said myself: I'm Linux user so far only because I strongly dislike MacBook's keyboard, but I will probably decide that I don't dislike it that much one of these days. And I was Linux user for more then 10 years.

I was a Linux user back when MCC-Interim was considered a cool distribution. That was when if you wanted Perl on your Linux machine, you had to compile it yourself. Perl 4, that is.

Having got that out of the way, I agree that an »app store« would be nice to have for new users if it could be made to work. However, I don't think its absence is the only thing that is keeping MacOS or Windows users from switching to Linux. These people would still be thoroughly confused as to whether to install Ubuntu, or openSUSE, or Debian, or Mint, or Chrome OS, or any of the other distributions that market themselves to new Linux users.

The single most useful thing that the Linux community could do to make Linux more attractive to new users would be to rally behind one single distribution (an existing one or a suitably assembled new one) and one single desktop environment in order to give people something they can identify with – rather than a confusing choice of roughly equivalent distributions and desktop environments that all do the same thing in subtly different ways. This incidentally would pretty much take care of the »app store« issue, too.

However, this would basically be the same as all major Christian churches getting together to present an amalgamated version of their faith in order to convince Muslims, Jews, Buddhists, etc. to convert – and about as likely to come to pass, or succeed.

Quotes of the week

Posted Mar 26, 2012 15:12 UTC (Mon) by dmarti (subscriber, #11625) [Link]

Web standards (plus NaCl for the hard parts) are _way_ closer to being an ISV-friendly platform than any of the Linux-native alternatives. Yes, the distribution still has to fill in the plumbing layers such as display and audio servers, but that's doable within the current system.

Quotes of the week

Posted Mar 26, 2012 15:38 UTC (Mon) by khim (subscriber, #9252) [Link]

Having got that out of the way, I agree that an »app store« would be nice to have for new users if it could be made to work. However, I don't think its absence is the only thing that is keeping MacOS or Windows users from switching to Linux.

Of course not! That's one of the obstacles. As Joe puts it:

Lack of the app store is one serious problem, but of course it's not the only one.

Think of these barriers as an obstacle course that people have to run before you can count them as your customers. If you start out with a field of 1000 runners, about half of them will trip on the tires; half of the survivors won't be strong enough to jump the wall; half of those survivors will fall off the rope ladder into the mud, and so on, until only 1 or 2 people actually overcome all the hurdles. With 8 or 9 barriers, everybody will have one non-negotiable deal killer.
These people would still be thoroughly confused as to whether to install Ubuntu, or openSUSE, or Debian, or Mint, or Chrome OS, or any of the other distributions that market themselves to new Linux users.

Oh, yeah. That's another deal-breaker. Joe Average installs OS exactly zero times. Most of them don't even install service packs unless they are pushed really hard on them. This approach is fundamentally incompatible with distribution's way of life where the only way to get new applications is to install new version of OS. The problem here is that you usually need the new application (or rather: you need some feature only available a new version of the applications) when you absolutely can not deal with the hassle of full-OS upgrade (when you are on tight deadline and new to actually do something with said feature).

Quotes of the week

Posted Mar 26, 2012 13:57 UTC (Mon) by dgm (subscriber, #49227) [Link] (2 responses)

> At the risk of sounding like a broken record, the reason why an app-store model works for iOS but will probably not fly for Linux is that, unlike Apple at the time, the Linux community has no Steve Jobs figure. In the Linux community, any app-store model will need to succeed on its merits, not because some autocrat decides that an app store is how software is going to be distributed.

Wait a minute. What does "will probably not fly for Linux" really mean? It means that the current community will probably not embrace the paradigm change. But Android (which is Linux, more or less) is succeeding with an app store approach. And many Linux users are also Android users, so the Linux community has already embraced, to a certain extent, the app store model. Your argument seems wrong to me.

Quotes of the week

Posted Mar 26, 2012 14:27 UTC (Mon) by anselm (subscriber, #2796) [Link] (1 responses)

Android is technically a kind of Linux system but I would argue that one precondition for being considered part of the »Linux community« is knowing that you're actually running Linux, which a large percentage of the »Android community« is unlikely to be aware of. Many other people are using Linux on other consumer electronics appliances (like FRITZ!Box routers or Sony TVs) but probably wouldn't self-identify as members of the »Linux community«, either.

The difference between Android and Linux-as-we-know-it is that, unlike traditional Linux, Android does have a central authority in the shape of Google. Google has decreed that there will be an app store for Android and that it will be the prime method of getting content (not just apps, these days) onto Android devices, and there we are. For traditional Linux, not even Linus Torvalds, who is the closest thing to a universally respected figure that the community has to offer, has that sort of clout.

(We can quibble about how it is possible, or, depending on your device, even mandatory, to use another supplier's app store in place of the Google one, but the idea is always that there is one single company in charge – whether that is Google, or Amazon, or Samsung, or what have you. We can also quibble about how it is possible to install stuff on Android devices from other places, or indeed by uploading APK files via USB, but again this is something that the vast majority of users is unlikely to be doing on a regular basis.)

Quotes of the week

Posted Apr 2, 2012 9:06 UTC (Mon) by arief (guest, #58729) [Link]

I can feel the 'desperation' tone in this discussion. I too has been finding myself less and less involved with my linux installations, on my dual boot systems, I would mostly played in Windows (for work or gaming reasons), and only rarely go to linux (for checking new things out, occassional updates).

I guess, Linux as a base system is already quite 'final' and stable, and becoming a boring system. We do need to find a way to move it forward again.

Linus has been known to make such radical changes to the world.

Why not (t)asking him to make this radical change again? You know, making a one-true-linux-distribution that will work for _everybody_ and always an exciting place to play in ;-)

Quotes of the week

Posted Mar 26, 2012 14:34 UTC (Mon) by dgm (subscriber, #49227) [Link] (1 responses)

> As far as Linux is concerned, there is nothing wrong with the distributions model other than that there could be more ABI compatibility for the benefit of third-party app developers. LSB was supposed to sort that out but as we have seen was mostly a paper tiger.

In my honest opinion, the problem is not that much ABI compatibility (even if it is) as API and ABI _confussion_. There are so many versions of everything, so many competing implementations, so many rogue libraries that are not seriously endorsed by anybody. The problem is that the pieces that make the system up are not designed, but evolved. This is great for library survival, but makes the life of the user much harder, because we have a system made of exceptions, or more exactly, a system where rules are _the_ exception.

The real problem with distributions, specially those based on Debian, is that they solve the problem of deciding what goes in by allowing _everything_ to go in. No choice is made, only minimal rules enforced, and thus the system is more complex than it needs to be. Complexity down the line (on the user side) is the price we pay for not choosing at the expert level (the distro).

I think the time has come for a different kind of distro. One that makes _good_ choices for their users, and thus, saves their users from the need to make them, exactly as Android does, and then sticks forever to those choices. Forever. For that reason, only mature libraries with a very strong commitment to compatibility could be chosen, and barring that, they would have be to be forked to preserve compatibility. So only a distro capable and willing to develop and maintain it's own APIs and ABIs could do that. It would be the antithesis of Debian. It would no longer be a mere distribution (as in a collection of packages) but a platform development organization.

I have seen steps taken into that direction. Ubuntu is currently developing more custom code than ever, but the Debian culture is somehow preventing the making of choices. Redhat has also been busy writing code for quite some time, but they lack interest in the desktop. Finally there's that GNOME OS initiative to define a set of APIs. Apparently Linux is heading into that direction, just very slowly.

Quotes of the week

Posted Mar 26, 2012 19:24 UTC (Mon) by dlang (guest, #313) [Link]

Ubuntu started with the idea that they would only offer one option for everything, but user demand has shaped this over time.

Quotes of the week

Posted Mar 26, 2012 8:28 UTC (Mon) by nim-nim (subscriber, #34454) [Link] (1 responses)

> App stores only appear to work because they have no concept of one
> package depending on another. Introduce that and the "app developers do
> the packaging" model _will_ fall apart.

It's falling apart even without this. The ancestor of all app stores is the Firefox extension system, where Mozilla washed its hand of third-party code, and extensions developers had their wish (not think about systems or deployment problems, one file for every system, yadda, yadda).

As a result, Mozilla has to devote resources to frantically QA extensions because badly written extensions by big-name proprietary houses are killing its reputation

https://blog.mozilla.com/nnethercote/2012/02/16/mcafee-is...

and the same integration pressure distributions experiment is causing it to abandon the simple version matches that people dissing distros for over-engineering typically propose

And all that for small bits of code that barely deserve the application name.

Quotes of the week

Posted Mar 26, 2012 8:59 UTC (Mon) by khim (subscriber, #9252) [Link]

The ancestor of all app stores is the Firefox extension system, where Mozilla washed its hand of third-party code, and extensions developers had their wish (not think about systems or deployment problems, one file for every system, yadda, yadda).

Mozilla decided to combine worst sides of distro-building (no stable ABI and no sandboxing) with worst sides (WRT stability: these are the best sides as far as third-party developers are concerned) if app store model (packages are created by developers themselves, there are no A&A, etc). No wonder it's falling apart! It was obvious from the very beginning that if you'll give access for the third-party code to the very guts of your system without any security checks then bad thing will happen. I'm surprised it lasted for so long.

To make appstore work you either need a review process (like Apple is doing and Microsoft is planning to do) or you need compartmentalization and quotas. We are dealing with potentially malicious code here, folks!

And all that for small bits of code that barely deserve the application name.

And which are widely requested by user. Yes, from FOSS side it look ridiculous: what are these apps doing which is not possible with FOSS? The answer is: nothing much - but they are doing this today, not in some undetermined point in the future.


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