Zero Install
From Wikipedia, the free encyclopedia
Zero Install is a means of distributing software. Rather than the normal method of downloading a software package, extracting it, and installing it (a process which may be difficult to reverse) before you can run it, packages distributed using Zero Install need only run and usually comes in Application Directory format — being presented to the user as a single file. The first time software is accessed, it is downloaded from the Internet and (if so configured) cached; subsequently, software is accessed from the cache. Programs are always run using their full URI. For example, instead of telling your computer to open text files in "Vim", you might tell it to open them with "http://www.vim.org/vim" (note that this resource is an example and doesn't exist).
The Zero Install system used to be the combination of two packages: A module for the Linux kernel that provides the lazyfs filesystem, and the Zero Install daemon process, which fetches new software when needed. This system is now being replaced with a set of user-level tools written in Python, called the injector.
Some advantages of Zero Install are:
- No root password needed to install software. Thus, package installation can only affect the user who chooses to install it and anyone can run new software.
- Only what you need is downloaded. Rather than downloading all of a piece of software, only the required aspects of it are fetched. For instance, translations are not downloaded until they are accessed, so if you only ever use the default language of a piece of software, you never need to download the translations.
- All software packaged this way is always available, as long as a network connection is. There is no concept of one computer having a program or library installed, while another one does not have it.
Some disadvantages of Zero Install are:
- Because no root password is required, it may be harder to set up a restricted kiosk-type system using Zero Install.
- The system only works well with machines that are always online. Even if a program is mostly installed and usable, accessing the documentation or a new language while offline may fail.
- Multi user systems can be difficult to install and maintain, due to each user having an individual copy of the programs.