Experiment: Using Zero-Install as a Plugin Manager
So for a little while now I’ve been wanting to try an experiment, using Zero Install as a Plugin Manager. Some background:
- Zero install is designed to be used for distributing applications and libraries.
- One of its greatest strengths is that it has no global state, and doesn’t require elevated privileges (i.e root) to run a program (and as the name implies, there is no installation to speak of).
Since there’s no global state, it seems possible to use this as a dependency manager within a program - also known as a plugin system.
Happily, it turns out it’s not so difficult. There are a few pieces required to set it up, but for the most part they are reusable - and much simpler to implement (and more flexible) than most home-rolled plugin systems.