LWN.net Logo

Quotes of the week

Quotes of the week

Posted Mar 25, 2012 12:38 UTC (Sun) by khim (subscriber, #9252)
In reply to: Quotes of the week by robert_s
Parent article: Quotes of the week

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.


(Log in to post comments)

Quotes of the week

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

> 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]

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]

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]

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]

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]

> 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]

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]

> 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 (✭ supporter ✭, #313) [Link]

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

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