Linked by Tom5 on Tue 24th May 2011 21:13 UTC
Linux Zero Install, the decentralised cross-distribution software installation system, announced 0install 1.0 today, after 8 years in development. 0install allows software developers to publish programs directly from their own web-sites, while supporting features familiar from centralised distribution repositories such as shared libraries, automatic updates and digital signatures. It complements, rather than replaces, the OS's package management. As well as allowing developers to create a single package that works across Linux, BSDs, Mac OS X and Windows, it could help make software available on more minor platforms. OSNews covered decentralised installation systems in 2007.
Thread beginning with comment 474488
To read all comments associated with this story, please click here.
Nobody seems to care
by draethus on Wed 25th May 2011 07:27 UTC
draethus
Member since:
2006-08-02

Decentralized software installation is something both Windows and MacOS do well, yet Linux completely fails at. The consequences for Linux are dire: little to no Linux portable apps, no standard way to install third party software, no standard automatic update, no distinction between distro and third party software, just name a few.

Projects like Zeroinstall, Autopackage, Klik, Listaller, and several others have been trying to solve the problem for years, but apparently nobody cares: users just use the distro repositories, most ISVs just target other operating systems, and stories about Zeroinstall are getting virtually no comments. Then people wonder why the Linux desktop is stuck in single digit percentages.

Reply Score: 1

Direct connection
by Tom5 on Wed 25th May 2011 09:41 in reply to "Nobody seems to care"
Tom5 Member since:
2005-09-17

Agreed. One of the great things I remember from when I first started releasing software for Linux (about 1998): people would get it direct from my web site, compile it and run it. If there was a bug, they'd write to me, I'd fix it, and often they'd have a working version the same day.

But when they get my software from their distribution, the bug reports I get are 6 months out of date. The problem is often already fixed, but it will be another 6 months before they can get the working version.

That really kills any chance of rapid improvement and feedback through community involvement, which should be what free software does best.

PPAs are OK if you've got an army of packagers to backport every release to every distribution, but most software isn't popular enough for that. I wonder why more developers don't give 0install a try?

Reply Parent Score: 1

0package, autopackage
by anarchisttomato on Wed 25th May 2011 14:16 in reply to "Direct connection"
anarchisttomato Member since:
2010-05-17

I covered Autopackage years ago in Tux Magazine and it seemed to have more potential to me than others, including 0install. One of the major barriers seemed to be Debian people, who went all religious on their 'ass', and even banned Autopackage developers from their IRC channels. That sort of thing was really demoralising, and despite the fact it had interest from parties like IBM, idiotic zealots from other projects killed it.

Sometimes we're our own worst enemies.

I wasn't nearly as much a fan of 0install last time I tried it (although I imagine it's much improved over the years) as the very familiar and intuitive interface as Autopackage, but heck, good luck to 'em.

Reply Parent Score: 1

jabbotts Member since:
2007-09-06

Having just visited several seporate websites and update utilities, for newer program versions unvetted by the Windows distribution maintainer, I'm rather happy to get home to my Debian boxes and find all the updates vetted and waiting through a single command.

I don't think the issue is the distribution repository model since anyone can simply setup a third party repository to include in. Webmin and Mondo Rescue both do this with fantastic results, I get there code directly from them but still through my central package manager.

The truly universal package format is still the tarball; crossing distributions, kernel and processor types. Zeroinstall is interesting also though. If it premotes more *nix native development and faster bug/vuln report turn around times without imposing stupid dependencies then have at it. I just don't want my prefered distro to suddenly require bloated crap dependencies imposed by someone elses ideas. (Evolution - a PIM app - required just to display a Gnome desktop? Really? And Debian is inheriting this sillyness from Canonical now it seems.)

In the end though, wouldn't Zeroinstall have to be feeding an abstraction layer like Android apps requiring Dalvik abstraction on top of the OS? The natural differences between distributions would seem to become an issue otherwise where one distro includes dependencies or versions that another does not?

Reply Parent Score: 2

Tom5 Member since:
2005-09-17

In the end though, wouldn't Zeroinstall have to be feeding an abstraction layer like Android apps requiring Dalvik abstraction on top of the OS? The natural differences between distributions would seem to become an issue otherwise where one distro includes dependencies or versions that another does not?


That's a good question. What happens is that each program specifies what it needs in its XML "feed". For example, a program that requires libexpat1 >= 2.0 might say:

<pre>
<requires interface="http://repo.roscidus.com/lib/expat1">
 <version not-before="2.0"/>
</requires>
</pre>

The expat feed says where to download various versions of the library, and also gives the name of the distribution package for various distributions (actually, the feed currently only gives one package name).

If you run the program on a system where the distribution's package of libexpat1 is installed and has version >= 2.0 then it will use that.

If libexpat isn't installed through the distribution (or it's too old) then 0install may download a newer version to the 0install cache and run the program using that (without affecting other programs, which continue to use the distribution's version).

Or, it might use PackageKit to install or upgrade the distribution package, if a suitable version is available (requires confirmation and admin access).

As the author of the program, all you need to know is that you require libexpat1 >= 2.0. You don't need to know the different names that different distributions use, or whether a 0install package for it will be used.

Reply Parent Score: 1

draethus Member since:
2006-08-02


I don't think the issue is the distribution repository model since anyone can simply setup a third party repository to include in. Webmin and Mondo Rescue both do this with fantastic results, I get there code directly from them but still through my central package manager.


You do realize Blizzard made a Linux version of World of Warcraft but refused to release it due to compatibility problems on various Linux distros (http://www.phoronix.com/scan.php?page=news_item&px=OTA0NQ)?

Clearly the current system is not good enough.

Reply Parent Score: 1