Why We Need Installers for IronRuby and IronPython

Recently on Twitter (where else anymore?) at least one person commented that they don’t understand why Microsoft developers would need an installer for tools like IronRuby and IronPython. That since all that’s really needed is to extract the zip file to use the tool then that’s all they should need.

Even on the hardcore Linux platform, there has been extensive effort to make installation as simple as possible. apt-get, yum and portage all exist to help put the right binaries and manage their dependencies for the user. And even tools like Python and Ruby work with installation utilities like pypi and rubygems to make downloading and installing language utilities and libraries as easy as possible. Projects like horn are trying to bring that level of simplicity to the .NET world. But we still aren’t there yet in the Microsoft world. We still rely on each installer to manage putting the correct pieces in their place and setup the environment. Also, they serve to help back out of the installations. So if Linux developers often depend on automated tools to set up and manage their environments then there’s no reason to expect less for Microsoft developers.

Of course seasoned developers will highly customize their environments and will want more control of their configuration. These developers will naturally not require the installers and will be happy to manage their own dependencies and environments. The same can be said for any environment, Mac, Linux or Microsoft (and everyone else).

The installers are mostly for three types of developers. One being a developer who is inexperienced with the platform and doesn’t know exactly what has to be setup. The second is the experienced developer who isn’t particularly interested in playing around with that tools configuration and likes being able to click and have their environment setup with minimal fuss. The third is the developer who needs the utilities bundled into their official environment. And that brings me to my final point.

If we’re ever going to see these tools really get market acceptance and reach the broad mainstream they’re going to need to be bundled as part of the official Microsoft supported tool set and released as part of that platform. So IronRuby and IronPython, even if they’re installed as service packs or extensions, need to come blessed from Microsoft. If you’ve ever worked at a bank or sufficiently large organization then you know that trying to bring in some open-source framework or utility is a monumental task. These tools need to be put together just like any other tool from Microsoft and that means MSI’s and everything. Officially supported installers will mean the difference between mainstream acceptance in large organizations or not.