24 February 2007

An alternative to packages

I have a set of software I want to provide for the Solaris 10+ community (more on that in the coming weeks). However, the existing solutions for distributing software for Solaris (and other UNIX like systems in general) are sadly lacking. It might seem backwards to some, however, I feel that before I begin the porting and distribution effort for this new software I need a good way to distribute it that makes it as painless as possible for all parties involved. Ease of maintenance, as a developer, is especially important to me.

With that in mind, I am researching different options for easily distributing software to Solaris users. Note, I said users and not administrators, although this can just as easily apply to them as well. Users want to run their software with as little pain as possible, and developers need a way to distribute the software that users want to run with as little pain as possible. That requires a distribution system that meets certain goals:
  • Anyone can install software
  • Anyone can distribute software
  • It doesn't matter whether the software is installed or not
  • Shared downloads
  • Good security
All of these goals are important. In the past, other projects such as blastwave, SUN Freeware, OpenPKG and others have provided solutions that work great for administrators, but aren't so great if you're not the system administrator. Thankfully, we don't have to sacrifice the goal of allowing users to run the software they want or any of the other ones listed above. Not only that, we already have a solution that achieves every one of those goals: The Zero Install System.

The project leader, Dr. Thomas Leonard, has been very helpful in assisting me with these efforts and welcomed contributions. The past week or so, I have been looking into what changes are necessary to allow Solaris to be a fully supported and operational platform for the Zero Install System. Since Zero Install is written in python, it is already fairly portable by nature.

I have been working through the test suite included with Zero Install making whatever changes are necessary for it to pass all applicable tests and I am just about finished. I have not had to make many changes due to the excellent work performed by the Zero Install team and its contributors. So far, all of the changes I've done are found in the unpack library.

While the Zero Install System is not yet fully functional, you can be certain that I will be doing whatever is needed for that to happen. I will post an announcement here once I am certain that it is fully functional, and have a sample software package available for testing. Meanwhile, I suggest reading the following material related to Zero Install and installation / packaging systems: