Installing On Linux
By Adrian Sutton
A while back Kyle Rankin questioned why people would use InstallShield under Linux. He suggests people use the standard package management schemes that the various distributions provide and he’s dead right. You should make things consistent for the user because it’s consistency that makes a user interface easy to learn and makes it more productive (once you’ve learnt it once you can use it in a whole heap of places at once without taking the time to think of the right way to do it). There is however a problem with this. There are just way too many linux distributions. Even taking into account the fact that there’s a lot of overlap in package management tools, it’s a big ask to expect a company to provide different packages for all of the different systems. Given that, they now have two choices:
- Provide one installer that works on all Linux distributions (or as many as possible).
- Provide packages for just the most commonly used systems (ie: provide an rpm and maybe a deb). While some people may disagree I think it’s a cardinal sin to write an application that runs across multiple platforms and then use an installer that only works on a few platforms. I have a whole pile of CDs from JavaOne that I was interested in but couldn’t install on my Mac even though I
know at least some of them would have run perfectly well if I could have installed them. Even Sun’s Java technology promo CD doesn’t work on Mac. Since we don’t want to annoy users by having our installer turn them away and also because we want to maximize our potential purchasing audience, the best option is to provide a single installation package that runs on as many distributions as possible. Hence the popularity of InstallShield – it’s providing a suboptimal but none the less effective work around to one of the big problems in the Linux world – platform incompatibilities. It would be far better however if the linux distributions managed to work together on a standard package format but that would then limit choice and for better or worse, Linux favors having lots of choices over making things simple. I guess this is just part of the price you pay for choice.