For another, if tools are standardized, then updating them (say, for
security patches) is a lot easier if all desktops have a common set
That's an argument I do not buy. I've worked too long in sysadmin
departments. Maintainance of tools is important (and needed). And
therefore, desktops shall have NO tools. Nada. You put them on a
central file server, and use NFS (or whatever they use in a Windows
environment) to install something once, and make it available everywhere.
In a large environment, or in a heterogeneous environment, you might
use AFS instead of NFS, for the same reasons.
Providing your developers a consistant set of tools, regardless of
their actual physical seating place is a good thing, and independent
of whether you have a standard set of tools. But standardizing (or
rather, limiting) the set of tools has its benefits too. Take editors
for instance. Installing a flavours of emacs, the entire army of vi
look-a-likes, pico and whatever else is out there is one thing, but once
you do, developers will insist you always have the latest version
with all the bells and whistles possible. Of course, you'd need to keep
the old version around, because someone will exploit the undocumented
feature that was fixed in the newest release. And then a new flock of
cheap teenagers enters the workforce, and rob the sysadmin of her valuable
time by asking how to delete a line using editor X (which the sysadmin
doesn't know, as she has always used 'd' or 'dd' just as god intended).
And that's just free editors - there are also commercial editors like
Crisp, that need license keyservers.
This is just text editors, which are relatively small and easy to
maintain. But then everyone wants their favourite mail reader, news
reader, web wowser, GUI editor, scripting language, coffee machine,
and god knows what. Then the situation quickly becomes unmanageble.
It's best to have some form of middle ground. Have a relatively small
set of tools for the same task. Emacs, vi, ed and a modern vi-look-alike
for editors for instance. More editors can be included if someone can
make a good case. But "I got to use vi-plus-plus 188.8.131.52alpha2b with
these 15 options buildin, because I like the dancing penguin theme"
just isn't going to do it. "Here's vi, kiddo. It has no theme or colours.
Deal with it.". And the same for other classes of tools.