Goals
Let's expand a little on the goals set out on the title page:
Anyone can install software
A Debian user tries to read the OpenOffice documentation. You don't have to be root just to install a word-processor, or its documentation. Most packaging systems only allow the root user to install software. Traditionally, if a user needs a package that isn't installed, they just get an error message. In the screenshot, the system administrator must install the openoffice.org-help package before the user can read the documentation, or the user must install from source and handle any dependencies themselves. On a Zero Install system, Zero Install would have offered to download the documentation when the user selected Help. Of course, Debian could fix this particular problem by making the OpenOffice package depend on the documentation package. But then, installing OpenOffice would require far more disk space if you didn't need the documentation (and most of the time, for most versions of most software packages, you don't need the documentation... but an administrator can't know ahead of time what will be needed by their users). Also, users still wouldn't be able to install OpenOffice itself in the first place. |
|
Anyone can distribute softwareOne of the more frustrating aspects of open source software is finding a program you want, only to discover that there is no package available for your distribution. Eg, on Debian (I'm not picking on Debian, it's just I've got a Debian system here!): # apt-get install rox-session E: Couldn't find package rox-session You don't need to be blessed by a distribution (or anyone else) to be part of Zero Install; all you need is a web page. Software is named by URI: $ 0launch http://rox.sourceforge.net/2005/interfaces/ROX-Session See the "Decentralised Installation Systems" essay on OSNews for a more complete introduction to the subject. See the developer documentation for information on distributing software using Zero Install. |
|
It doesn't matter whether software is installed or notTraditional systems make running software a two-step process: first you install it, then you run it. In a Zero Install system, you just run it and the system handles the rest (downloading and caching as needed). You can delete the downloaded programs later to save space, and they will be fetched again automatically if they are needed in the future. The screenshots page has an example showing how software is run this way. |
|
Shared downloadsIf one user installs a 20 Mb application, another user can run it without downloading it again. Most packaging systems solve this problem by only allowing root to install software. The systems which don't have this limitation (eg, autopackage) typically end up downloading and storing multiple copies of a program; one for each user. Zero Install shares downloads (safely) between users. With Zero Install, each user downloads a small feed file which gives the cryptographic digest of the full package. The digest can be used to check that a package already on the computer (downloaded by another user) hasn't been tampered with. Most simply, each user can make a copy of the original download this way (which shares the download but not the disk space). With a special helper, even the disk copies can be safely shared. See the Sharing page for information about using this feature. |
|
Good securityIf one user downloads a malicious program, other users aren't affected. See the Injector security page for more information about Zero Install's security features. |