A healthy employer hires good employees, and TRUSTS them.
Face it, our industry is not like others. We don't clock in at 9, work eight hours on an assembley line, and clock out at 5. Our profession is a creative one, and you don't just run your brain eight hours a day.
I've been stuck on a problem, gone home to sleep on it, and had the solution pop into my head while in bed. I'd then jump on my own computer, ssh into work, and knock out the code while it was fresh in my head. If work can have some of MY personal time, why should it be an issue if I check my personal mail, or read a bit of K5 while I'm sitting at the office?
And what of startups? In exchange for a nice chunk of equity in the company, engineers are known to work ridiculous hours. Hell, this happens at established companies if a big deadline is due. Can ANYONE stare at code for sixteen hours straight without a break and remain sane?
I'm reminded of that Dilbert strip, where he has to account for his time, in five-minute intervals, to a *secretary*, of all people:
DILBERT: "As usual, I've counted all the time I've wasted sitting in meetings as 'work', and the time I spent in the shower this morning, designing circiuts in my head as 'not work'".
SECRETARY: "This is why I hate engineers".
And it's not just a matter of general principle. There are often quite PRATICAL reasons to have 'net access (heh... USENET access, at that).
My first job out of college involved some godafful ancient machines (HP-UX boxen that dated back to the mid-80s), kept around because they controlled equipment that wasn't even made anymore (sufice it to say, this was a defence contractor). Without the help of some of the more obscure newsgroups in the comp.* heiarchy, I'd have been hopelessly lost.
My most recent job as a QA engineer involved a LOT of perl. Why should I NOT have perl.org as a reference? Why should I reinvent a function I need, if a module exists on cpan.org to do the job?
Or, also on the QA job topic... I automated a lot of my regression testing, so that it required no input from me. But I still had to stick around to deal with the results, and file any bugs, when they finished. That could amount to an hour or more of downtime, with NOTHING to do. How does it harm the company if I order a few things from amazon while my tests are running?
(Or in the case of the developers, while a build is compileing... which was known to take forever if we were building the whole system)
When you come right down to it, if internet access is harming productivity, the problem is not the internet. The problem is that you haven't hired good employees.
Sure, block the stuff that could lead to liability or downtime. Block the porn, and strip the .vbs attachments (Better yet, don't use outlook). But so far as productivity goes, the only metric that should matter is "Does the work get done?". If it doesn't, get new employees. But don't hassle everyone because of a few losers. If the work DOES get done, if all the deadlines are met, what the hell difference does it make if the engineers kick back talk on IRC to a few people?
Imagine all the people...