On Thu, Jan 22, 2009 at 1:10 PM, Anthony Carrico <[email protected]> wrote:
> Josh Sled wrote:
> > This is something a group like FreeDesktop.Org should be helping to
> > solve. A way for a software producer to provide a link/file that the
> > distros basically agree upon that will Do The Right Thing: either
> > automagically search in synaptic, or select between the appropriate
> > .{rpm,yum,sh}, &c. I've seen "solutions" like autopackage and zero
> > install, but they are fail.
> >
>
> http://0install.net/
>
> Coincidentally, I tried out Zero Install recently, and I'm impressed.
> I'm a long time Debian user, so apt-get is my friend, but the notion of
> a distributed package system appeals to me. 0install is a very good stab
> at such a beast.
>
> Used with an effective web-of-trust or sandboxing, it (or something like
> it) could easily be the future (it already has signature). It seems good
> for producers too, since they don't have to target so many operating
> systems. It sweeps under the rug some gratuitous distro differences like
> file system layout (by keeping every app in its own directory). I don't
> know how it deals with others, like managing /etc and /var.
I used ROX-Filer for my desktop for a number of years, and remember when
0install was first introduced (they're written by the same author, btw).
In the paradigm of ROX-Filer, it's really nice -- applications are
installed to a directory, you double-click the directory and ROX-Filer
recognizes it's an app and executes it.
The problems I had with it were many, however:
* Very, very easy for developers to push updates, which often led to
WTF? moments when functionality changed. IIRC, though, they
introduced some functionality for you to pin to a specific version
or hold back updates.
* The same library installed many different times. The
application-as-a-directory paradigm meant no shared libraries, which
meant applications that used the same libraries *each* packaged and
shipped them... leading to hard drive wastage.
* Paths. Since each application was in its own directory, it meant
that you either had to add each application to your PATH (or, in
many cases, an <application>/bin directory), or memorize paths. Same
goes for shared libraries -- you have to add them or specify them
manually when you compile, which is not exactly user friendly. This
is a PITA when you're using the CLI. Which leads to my next point:
* Launchers are great for desktops, but suck for the CLI. The paradigm
I remember was that each application had an XML file describing the
application, and indicating what commands to execute when launched.
This works fine for GUIs, but on the CLI, it's not so much fun. It
also meant that you could not integrate with other launchers (such
as the Alt-F2 "run" dialog prevalant on many *nix desktops, or newer
tools like gnome-do).
Things may have changed since I stopped using ROX some 18 months back,
but the above were all concerns I had and which have prevented me from
trying it again.
> It seems like a good division of labor could evolve, where a distro
> concentrates on getting the kernel and drivers and everything to work on
> your machine ("the OS"), and 0install (or whatever) is the entry point
> for application developers. That makes more sense than having an army of
> Debian maintainers repackaging every developer's work. Please don't
> think I am minimizing necessary integration work which distributions
> achieve, but it is good to take a critical examination of the ecosystem
> once in a while.
--
Matthew Weier O'Phinney
[email protected]
http://weierophinney.net/matthew/