Zero Install Project Makes 1.0 Release
tal197 writes "Zero Install, the decentralized cross-distribution software installation system, announced 0install 1.0 today after 8 years in development. 0install allows authors to publish directly from their own web-sites while supporting familiar features such as shared libraries, automatic updates, and digital signatures. Is this the end of the walled-gardens of traditional app stores and Linux distributions and the beginning of a true 'Web of Software'?"
Sadly, things now look like they're heading in exactly the opposite direction.
Considering that no-one uses it, I sincerely doubt it.
Just installed Firefox 4.0.1 on Debian Squeeze seconds after reading about this. Seems like a good way to get updated apps on a stable base.
If a man empties his purse into his head no man can take it from him. An investment in knowledge pays the best interest.
It seems to work very similarly to other package management systems. The main difference is that it stores the downloaded dependencies in a user-owned cache, and that the application developer, instead of the particular distribution, defines the publically metadata package definition that lists all the dependencies. Are there any other differences?
If this is right, I don't see wide adoption unless distributions start replacing their official package management systems with it. If you're trying to make a universal system that can be used everywhere, why not just make a universal, self-contained application bundle, similar to the Mac OS X .app bundle, that contains all necessary dependencies without having to download them separately? This way users drive adoption instead of distributions.
Is this the end of the walled-gardens of traditional app stores?
Sure, provided 0install works on every popular platform that has a traditional app store.
What's that? It doesn't run on any of those? Oh dear.
...Windows will finally have an application manager that will auto update applications? InstallPad was an interesting idea that seemed to fall back into obscurity and hasn't been updated in years, and don't even get me started on the stupid BitComet (I think it's installed with BitComet, haven't used it in a long time) auto program updater.
HEX
Horror & SciFi Erotic Nudes
Here's what a tool like this needs to be able to do, download the package which is then converted into a package format appropriate for the system (DEB, RPM, TGZ, etc.)
Why has no one done this yet? I'm not saying it's going to be easy, but surely, I'm not the first to think of this.
I know there is 'alien' but it's always seemed a bit hackish to me, and when packages get installed, it's not as if they get installed into the appropriate directories (e.g. if an RPM package installs its contents into /opt and is converted to DEB, it's still going to be installed into /opt instead of /usr.)
// file: mice.h
#include "frickin_lasers.h"
Isn't this basically the same thing as what Java was trying to do? The problem (if I'm reading this correctly) is that the Zero Install program needs to be on the user's computer for it to work...exactly the same as needing a JVM installed for Java to work.
We could create a massive installation architecture that requires whole new networks and languages.
Or, we could just seek out reputable sources, download executables, and run stuff.
Whatever happened to Tucows...hmmm... it's still in business. Their "spotlight program" is Registry Booster 2011. So sad.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
ClickOnce for Linux. Not exactly a new idea.
Isn't this basically the same thing as what Java was trying to do? The problem (if I'm reading this correctly) is that the Zero Install program needs to be on the user's computer for it to work...exactly the same as needing a JVM installed for Java to work.
No, with Zero Install you can run anything your system is able to run, without the need of a virtual machine or whatever. Java, python, C++, E... no problem, it's a cross-platform easy-to-use system that runs any app (actually "caching" it and its dependencies, instead of "installing" stuff), as long as a version of that app for your system exists, and someone has included it in the (xml) "feed".
Like PCBSD does already?
---- Booth was a patriot ----
Until the Linux community wakes up that dependency hell is what keeps Linux from being taken seriously by non geeks, ie. the vast majority of computer users, then it will never be mainstream.
No. It's not even going to be a blip on the radar. The walled garden approach, particularly as implemented by Apple, provides a (so far) safe and comfortable buying and operating environment for users; opening your system (any system - phone, computer, heck, even your watch) to what amounts to an anonymous and potentially shifting web of software repositories isn't going to fly without being weighed down by almost instant malware problems.
Like it or not, Apple's found one of the significant inflection points for getting software to its customers; make it safe, apply strict limits (sometimes limits that really aren't very compatible with the ideas of liberty we're supposed to revere), and encourage low cost.
That's exactly right: things are heading in the opposite direction. When it comes to consumer devices, you're going to be dealing with what makes the masses comfortable; and that will very rarely be technically or socially optimum solution(s).
I've fallen off your lawn, and I can't get up.
It's perhaps more like Java Web Start in concept, but it works with any language (including Java). There is the 0export tool to create self-extracting bundles, but yes in the normal case it assumes that 0install will already be on the machine.
I grew up as a RiscOS user, which had this kind of application folder system.
Package management is >much If you are going to have shared blobs of code like shared-objects/DLL you need package management, end of story.
You want one copy of each, or a least one of each version, and you want to update that one file. Even on modern machines, you don't want to statically link everything, even if you did, think about updates. If one of these files need a fix, it's much easier to update that one file, then update every program built statically against it. Use version number as part of the filename and have a sym link without the version number to the latest version. If something needs a specific version, it can be built to link to that not the latest. You can do as many version levels of this as required. Seriously, this is much better centrally managed and updated. You can even list all applications that use the file, even before anything is installed. I wouldn't go back to an application folder system if you paid me to. Windows has some central management with the manifest stuff and add/remove programs, but compared with Debian package management, it's an over-complex mess or a fraction of the power. Other package manager might be as good as Debian's, but so far, none have impressed me as much.
I've seen these kinds of package systems before, and all of them with the same problem: They will mess with things they should not touch.One was actually having problems with automatically editing /etc/profile across distributions to add environment variables. Now that's an easy way to mess up a system.
That's too bad. Requiring the 0install to be on the computer is a HUGE barrier. Of course, if it can install that on request (when they click the link) that's not too bad. Otherwise, this project has zero chance of being a success.
Darn, I left the "Wild West" of Windows programs behind, and I am sure not going to start installing stuff from people I have no reason to trust now! I'll stick to the Linux repositories and a few (Very few) trusted applications from people and places I Know are trustworthy! I don't even have to get into the whole issue of multiple copies of the same files spread all over my system!