Zero Install
From Wikipedia, the free encyclopedia
| The tone or style of this article or section may not be appropriate for Wikipedia. Specific concerns may be found on the talk page. See Wikipedia's guide to writing better articles for suggestions.(December 2007) |
| Zero Install | |
|---|---|
Zero Install downloading and running an application and its dependencies. |
|
| Developed by | Thomas Leonard |
| Latest release | 0.33 / May 4, 2008 |
| Written in | Python |
| OS | Linux, Unix, Mac OS X |
| Genre | Software package |
| License | LGPL |
| Website | http://0install.net |
Zero Install is a means of distributing and packaging software for Linux and Unix-like operating systems. Rather than the normal method of downloading a software package, extracting it, and installing it before it can be run (with the accompanying use of destructive updates and privilege escalation), packages distributed using Zero Install need only run and usually comes in Application Directory format — 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 accessed by the fully qualified name of their URI; ex. one would not run "vim textfile.txt", but "http://www.vim.org/vim textfile.txt".
The Zero Install system was originally a combination of two packages: A module for the Linux kernel providing the lazyfs filesystem, and a Zero Install daemon process, which fetched new software when needed. This system was later replaced with a set of user-level tools written in Python, called the Injector (a reference to Dependency Injection). The system is intended to be used along-side a distribution's native package manager.
Contents |
[edit] Advantages
Some advantages of Zero Install are:
- No root password needed to install software; packages are installed in system locations writable by that user. Thus, package installation affect only the user installing it, which makes it possible for all users to be able to install and run new software.
- Because it is easier to install extra packages later, it is easier to split documentation and translations (for example) into separate packages. For instance, translations would not be downloaded until they are accessed, so if only the default language of a piece of software is used, the translations will never be accessed and thus downloaded and installed. However, most current Zero Install packages are split the same way as their non-Zero Install counterparts.
- 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.
[edit] Disadvantages
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.
- Even if a program is mostly installed and usable, accessing the documentation or a new language for the first time while offline may fail, if the documentation is in a separate package and is not declared as a hard requirement of the main program.

