Zero Install 2.8
A free and cross-platform software installation system that will enable developers to publish programs directly from their web-sites with ease
Also, Zero Install is intended to complement, rather than replace, the operating system's package management. 0install packages never interfere with those provided by the distribution.
Furthermore, Zero Install does not define a new packaging format; unmodified tarballs or zip archives can be used.
Instead, Zero Install defines an XML metadata format to describe these packages and the dependencies between them.
A single metadata file can be used on multiple platforms (e.g. Ubuntu, Debian, Fedora, FreeBSD, Mac OS X and Windows), assuming binary or source archives are available that work on those systems.
- Decentralised; anyone can distribute software:
- The traditional Linux distribution system, using centralized repositories, creates an interesting chicken-and-egg situation: distributions won't package software until it becomes popular, but software won't become popular until it's easy to install.
- You don't need to be blessed by a distribution (or anyone else) to be part of 0install; all you need is a web page.
- It's easier too: you can make a single archive that works on all platforms (for platform-independent applications such as Python or Java programs), or have 0install download the correct archive automatically (for platform-specific binaries).
- Security is central:
- Security is sometimes seen as the enemy of usability, but we see it as the foundation of a usable system. Good security doesn't just mean not having your data destroyed by viruses - it means freedom to experiment with new software.
- The problems with a centrally-controlled "app store" as the only means to get software are clear to everyone: applications that compete with the store owner's interests are banned. Innovation and competition suffer. But the same effect can be achieved without overt restrictions if getting software from outside the distribution repository is simply too risky for users to consider.
- You control your own computer:
- When you install a package with a traditional installer, you have no way of knowing what it will do. Will it add itself to a menu somewhere? Start a service whenever you turn on the computer? Stop another program from working?
- 0install merely caches programs, each version of each package in its own directory. Changes to the environment, such as adding a menu entry, only happen in response to a deliberate action on your part.
- Conflict free:
- If two programs want the same version of a library, they'll share it. Otherwise, they'll use separate copies.
- You're free to try the very latest development version of a program (along with all the bleeding-edge libraries it needs) without destabilising the rest of your system. And you can always revert back to an older version... or run old and new versions of the same program side-by-side!
- If one user installs a 200 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 typically end up downloading and storing multiple copies of a program; one for each user. 0install shares downloads (safely) between users.
- With 0install, 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.
- Cross-Platform and Cross-Distribution:
- A single 0install package can be used across multiple Linux distributions, Mac OS X, Unix and Windows systems (given that the packaged application itself is written to be cross-platform as well).
- Automatic updates:
- When you run a program and it has been a month since the last check, 0install will quietly check for updates in the background. If any are available, you will be notified.
- The frequency of these checks is configurable, and you can choose not to use the latest version if you prefer.
- Binary and source packages:
- 0install supports both compiling applications from source and downloading binaries.
- Native package manager integration:
- If you have already installed a package using your distribution's installer then 0install can use that instead of downloading a second copy.
- It can also use use PackageKit to install system packages using the distribution's package manager, if no 0install package is available.
- Run without root:
- Run new applications on your system without root privileges. 0install does not write to any of the traditional software directories like /usr/bin or /usr/lib. Instead it uses the cache directories.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- NEW FEATURES:
- Allow source="true" on dependency elements to require the source code of a dependency (Tim Cuthbertson).
- We now support separate source and binary selections of the same interface. An additional "source" attribute on the element says whether the root selection is source or binary.
- Use .netrc settings when making a connection. This may be useful to access a private repository protected using HTTP basic authentication. Requested by Brad Hilton.