To view parent comment, click here.
To read all comments associated with this story, please click here.
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.
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
Well, I'm open to the idea that I might make mistakes
However, I don't see my mystake so far. 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.
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.
Mmm, again -- I don't think users want to think about repositories. It's a very developer-centric idea.





Member since:
2008-04-29
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.