Promoting these practices does little good for companies that aren't GitHub, and believing in them might be woefully idealistic.
Let's look at GitHub:
* Most of GitHub's 50 or so employees are engineers[1], not sales or marketing or product management or art directors or logistics or accounting.
* GitHub's primary product is github.com[2], a product which is primarily used by engineers.
* The company hasn't taken funding outside of friends & family[3].
* They claim to be "very profitable"[4].
* Their team is distributed[1], which can work well for engineers who enjoy time alone.
Compare this to my startup: Engineers are Our customers are normal humans, not engineers (no offense, I'm one too), and our products need to be sold and marketed so that people understand why they're good. We don't have the benefit of a customer base who intrinsically know why the product is great once they use it like engineers do. Our products want to make our customers come work for us.
We're all in one place because we need to collaborate with non-engineers to build our product. Good in-person relationships with the sales and marketing people lets us work together very well and is important for non-engineers, who especially can't use a DVCS to collaborate.
We iterate quickly, so systems like Campfire or wikis are useless. There's no point in writing documentation and employee on-boarding instructions if they're going to be out of date in two weeks or if it's easier to walk over to The Guy Who Knows That Stuff and ask. Yes, our bus factor is horribly low, but it's not worth documenting a system that will change wildly in two months.
We also have a board of directors who are demanding. We have monthly and quarterly goals we need to meet. We don't have time to work on cool things like bots and music players because we're busy experimenting and building products which we're still defining. Sure, we add a few easter eggs here and there, but I need to finish the damn CRM improvements, otherwise the sales team can't handle our customers in the way we want, the customers won't have the best experience, we won't hit our January numbers, and the board will be angry.
I love GitHub. It's one of the greatest things to happen to open source and software project collaboration. But whenever Zach Holman shows off a well-manicured presentation or blog post about how awesome GitHub's ideals and work environment are, I have to roll my eyes a little. His intentions are good and he's a swell writer and presenter, but I can't help but wonder what kind of magical, mystical fairyland he think's he in.
(No offense, Zach. I think you're great. Let's get a beer.)
[1] https://github.com/humans.txt
[2] Probably. What else do they do?
[3] http://news.ycombinator.com/item?id=1454597
[4] http://techcrunch.com/2010/07/24/github-one-million/