Whether it’s the last entry or others I’ve written in the past, it’s clear to most people that I view package management as a fundamental differentiator for the operating systems that handle it well – but one that’s highly dependent on the community behind it. In various conversations that I’ve had over the past few years, not to mention some of the comments or emails I’ve received in response, a number of people have taken exception to that assertion. If the software in question is freely available, they argue, that’s enough; whether or not it’s present in the distro package repositories is a besides the point. Obviously, I disagree. While getting ready to drive out to Loveland this past weekend, I was reminded of why.
At a bit before three o’clock on a Saturday afternoon, there was only so much daylight left. Throw in the fact that my best friend has a four month old infant at home and thus needs to count every minute he’s out of the house fishing, and time is tight. As I pulled out of the garage, I was faced with a decision; I could proceed to pick up my friend the way that I normally go, stopping for gas at Station A on 15th and Federal, or I could take the alternate route stopping at Station B at the intersection of Speer and Zuni.
While I’ve never taken the time to compare these particular gas stations pricewise, they’re relatively comparable in most respects – except one. Station A, which is on my normal route over to Highlands where my friend lives does not accept credit cards at the pump. Every time I’m in there, then, I’m forced to walk over into the station to pay. Occasionally when I do, the person working the counter is absent. At other times, there’s a line of several people. Station B, on the other hand, has pay at the pump. As soon as I’m done fueling, I’m gone.
You get two guesses as to which gas station I hit on Saturday, and the first two don’t count. But I put the question to you: in the event that time is of the essence, which station would you pick? While you’re chewing on that, you might consider asking yourself another question: where developers are concerned, when is time not of the essence?
I won’t bother to explain how I feel the above situation relates to packages in repositories versus those that are not; you’re all smart people, you can figure that out for yourselves. But I will ask those of you developing applications that are not in package repositories: how does it benefit you to not save customers time? Do you feel that requiring registration – much like gas stations that require visits to the mini-mart / gas station for payment – is beneficial enough to justify not serving your customers? If so, I’d love to hear why. If not, get yourselves into package repositories, pronto. If Java can do it, so can you.