Having a permissive open source policy is important if a company wants to recruit truly stellar programmers. Or put another way: great programmers will be less inclined to work for you if you have a restrictive open source policy because being involved in open source projects is one of the best ways for a programmer to increase his market value.
Traditional methods for measuring programming ability are ineffective
The job market for programmers, especially the top programmers, is notoriously inefficient. This inefficiency is due to employers lacking good methods for evaluating programmers. The standard techniques used to evaluate programmers -- resumes, on-the-spot coding questions, take-home projects -- are at best crude approximations of a programmer's ability, and none of them will be indicators of the truly visionary people. Sure, there are other indicators like being involved in successful companies or having past impressive titles, but those are still indirect indicators of programming ability.
If you're a programmer, this difficulty in measuring your skill means its really difficult to make a potential employer's perceived value of you match your actual value. Top programmers aren't differentiated from the next tier of programmers and get badly mispriced in the market. Top programmers need better mechanisms to communicate their value so that they can be priced more fairly in the market.
Open source makes the market for an individual programmer more efficient
Open source is an equalizer. An open source project shows how a programmer goes about solving real problems that didn't have serviceable solutions yet. An open source project has much greater scope than anything that can be given to a programmer in a job interview and shows the kind of quality work a programmer produces from design to implementation to testing. If you're an awesome programmer, this means you can significantly reduce that gap between perceived and actual value and be priced more fairly in the job market.
The more mispriced a programmer, the more that programmer should desire being involved in open source to normalize his perceived value. The most mispriced programmers are those at the high end, the so called "rock stars" and "ninjas", so these programmers have the most to gain from open source.
A restrictive open source policy prevents stellar programmers from raising their market value
Since the best programmers have a strong incentive to build their open source portfolio, they should avoid working at companies with restrictive open source policies and prefer to work at companies with permissive open source policies. This means that companies with restrictive open source policies are putting up a barrier to recruiting stellar engineers.
Companies may dislike open sourcing internal projects for a variety of reasons. They may feel like they are giving code away to potential competitors. They may not like the fact that they're making their own employees more expensive by allowing them to normalize their values in the market. They may feel that open source distracts the team from building out the products of the business. These are the tradeoffs in having a permissive open source policy and are tradeoffs that must be made to have access to "rock stars".
Companies receive other benefits from open sourcing projects. Open source helps give the company a strong technology brand in the engineering community. Additionally, open source can give the company access to speaking engagements at user groups and conferences which is a great way to get the company's name out there and source candidates. Finally, there's the obvious benefit that the company can receive "free work" from outside contributions to their open source projects.
This knowledge isn't universal yet
A lot of programmers don't yet realize the value of having an open source portfolio, and there are certainly great programmers working for companies with restrictive open source policies. However, as more and more programmers realize how open source can increase their value, more and more companies will use a permissive open source policy as a recruitment tool. For example, my company BackType has a very permissive open source policy, and we're hiring.
Of course, it takes more than having a permissive open source policy to recruit the superstar programmers. It's just that not having a permissive policy will eventually become a barrier to recruiting those programmers at all.
You should follow me on Twitter here.