Linked by Thom Holwerda on Wed 24th Jun 2009 12:24 UTC, submitted by ralsina
OSNews, Generic OSes There are a lot of people who believe that program and application management is currently as good as it gets. Because the three major platforms - Windows, Linux, Mac OS X - all have quite differing methods of application management, advocates of these platforms are generally unwilling to admit that their methods might be flawed, leading to this weird situation where over the past, say, 20 years, we've barely seen any progress in this area. And here we are, with yet another article submitted to our backend about how, supposedly, Linux' repository method sucks or rules.
Thread beginning with comment 370243
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: 0install
by giddie on Thu 25th Jun 2009 15:00 UTC in reply to "RE: 0install"
giddie
Member since:
2008-04-29

What is this 'huge difference' and who would decide which software is 'core' and which is an 'application'. Furthermore, what if there's non-core software that's not an application?


I'm not suggesting a complete system here -- just a concept. The point I'm making is that central package management works brilliantly for installing a missing library or command-line tool. However, package managers are a pain to use for graphical user applications, which need a more distributed and flexible approach. It's simply a pain when you come across an interesting app, but have to go through the whole process of compiling + packaging just to try it out. Mac + Windows users get to just download and try it out, why not us too?

However, to answer your question -- plenty of distros already have a concept of a "core" repo. It should actually be quite possible to have a unified system that works despite of differences in the available core packages. 0install already does a good job of this.

Finally, it's important to remember a core design principle here: consider the interface before the implementation. We need to think of how users want to use their systems, and not let difficulty of implementation get in the way of good design.

Reply Parent Score: 1

RE[3]: 0install
by gustl on Thu 25th Jun 2009 17:50 in reply to "RE[2]: 0install"
gustl Member since:
2006-01-19

But that would be in the power of the people who make their program available on their website.

They can link everything in statically, so that in the end you get one big binary. They do it for Mac and Windows, why not for Linux?

Reply Parent Score: 2

RE[4]: 0install
by giddie on Fri 26th Jun 2009 10:07 in reply to "RE[3]: 0install"
giddie Member since:
2008-04-29

If you're a programmer, I'm sure you'll be aware that not all libraries are designed to be linked statically. For instance, many features of the Qt toolkit are unavailable when linked statically.

What's more, if a library is statically linked, and a new version of the library is released, it means that the whole application must be relinked (and probably recompiled) in order to update it. If the library were linked dynamically, it would be possible to simply replace the library file in the package before distributing it, which is far easier.

Reply Parent Score: 1

RE[3]: 0install
by sorpigal on Fri 26th Jun 2009 11:57 in reply to "RE[2]: 0install"
sorpigal Member since:
2005-11-02

I'm not talking about difficulty, I'm talking about impossibility. I was trying to ask leading questions so you'd realize your mistake.

There is simply no way to logically separate 'base' from 'applications'. Any distinction is purely arbitrary and highly mutable. Distributions do not generally have 'core' repositories, not in the way you mean. What they do have changes drastically with every release.

What the user wants is "See any application, click application, have application." There's nothing fundamentally at conflict with that in the package management world, 90% of closing the gap between reality and what the user wants is adding some good UI. The other 10% is making third party integration easier, which is a tricky but solvable problem, unlike your 'concept'.

I think it's important to note that "Centralized" package management is bad and was AFAIK never really intended to be the norm. Distributed, independent repositories is the way it ought to be done. Throwing out package management for most software is not a workable solution.

Edited 2009-06-26 11:59 UTC

Reply Parent Score: 2

RE[4]: 0install
by giddie on Fri 26th Jun 2009 13:42 in reply to "RE[3]: 0install"
giddie Member since:
2008-04-29

I'm not talking about difficulty, I'm talking about impossibility. I was trying to ask leading questions so you'd realize your mistake.

Well, I'm open to the idea that I might make mistakes ;) However, I don't see my mystake so far.

There is simply no way to logically separate 'base' from 'applications'. Any distinction is purely arbitrary and highly mutable. Distributions do not generally have 'core' repositories, not in the way you mean. What they do have changes drastically with every release.

Yes, but that doesn't mean that the whole idea comes crashing down. 0install already has a good framework for dealing with this -- it ties in with the native package manager to determine whether or not an adequate library for the given application is already installed. I'm worried you're letting implementation details get in the way of design ideas. It may be years and years before a good system emerges, but that doesn't mean it's impossible; it means we need a clear idea of where we're going.

What the user wants is "See any application, click application, have application."

Mmm; I think what users really want is "see application; use application". They don't really care about the "having / installing" bit. That, I think, is where package managers slip up.

I think it's important to note that "Centralized" package management is bad and was AFAIK never really intended to be the norm. Distributed, independent repositories is the way it ought to be done. Throwing out package management for most software is not a workable solution.

Mmm, again -- I don't think users want to think about repositories. It's a very developer-centric idea.

Reply Parent Score: 1