Wandering Thoughts archives

2014-01-28

Building software packages yourself is generally a waste (why package selection matters)

I recently spent a day working on building a version of Amanda for our new OmniOS fileservers to be. The story of why it took a day is beyond the scope of this entry, because the point of this entry is that time was a deadweight loss to my employer. It was in a sense unproductive.

Building software packages is a solved problem. I can't bring anything new or novel or particularly valuable to it and as a result I add no value by doing it myself. Building software myself is pure overhead. I could have been spending my limited time doing something new and novel for my workplace, something that cannot be done by anyone else, but instead I was forced to do something that anyone else could do and probably any number of other people either had done already or are going to do in the future. I and my employer tolerate this loss of my time because the alternative is worse (ie, no Amanda and thus no backups for our new fileservers). But make no mistake, it's still a waste.

This is why sysadmins care about the available package selection for operating systems that we want to use. The more packages available, the less time and effort we must spend duplicating other people's time and effort as we do the low-value, low-productivity work of building our own copies of packages. In a real sense, maintaining packages locally is wasted work.

(The other thing about building packages is that it's fundamentally uninteresting. It is a boring drag to spend all day iterating configure settings, verifying that what you've assembled can be rebuilt on a clean system, and so on.)

PS: This would be different if it was trivial to build packages well, but it's not for various reasons I'm declaring beyond the scope of this entry.

Sidebar: why I'm not building OmniOS Amanda packages for people

Because it takes much more work to go from a compile that works locally in our specific situation to an OmniOS package that I'm relatively confident will work for anyone who installs it (especially since I don't know OmniOS packaging). Publishing things is also making a commitment to support them if problems come up. We might chose to not patch Amanda if an issue arises (in fact we're very likely to never change our build unless a serious security issue comes up) but this is not something that other people will really appreciate.

This is unfortunate in a game-theory way. Collectively the entire OmniOS world would be better off if someone spent the time to do this sort of thing for various packages; sysadmins would on aggregate spend less time overall. But for me individually, I'd be losing out to build a real package for Amanda instead of just doing 'configure' and 'make install'.

I don't have an answer to this.

sysadmin/BuildingPackagesWaste written at 00:23:05; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.