Not that I know of, but anecdotal evidence about satisfaction aside, think of the economic incentives.
If I write a patch that improves an open-source product to better serve the needs of my employers, and I don't release it, the only benefit I receive is praise and/or bonuses (yeah, right) from that employer. It really isn't much of a big deal, I'm just doing my job. As the business folk would say it doesn't really "move the needle" of my personal career. If, on the other hand, I do the same work and I release it back into the wild, assuming my patch isn't stupid, I gain some respect from people who are likely to help me in the future, and more importantly, I gain a way to prove that I know how to use and modify open source software at my next interview. I raise my market value.
Now, I can see why an employer might object to an employee releasing those changes... but for the employee, getting to publicly release code has some rather large economic advantages vs. just writing and using the same code internally.
Also, if you maintain your own, modified version of something, it can get pretty hairy as it starts to diverge from the main open source one. That divergence can cost time and money.
If I write a patch that improves an open-source product to better serve the needs of my employers, and I don't release it, the only benefit I receive is praise and/or bonuses (yeah, right) from that employer. It really isn't much of a big deal, I'm just doing my job. As the business folk would say it doesn't really "move the needle" of my personal career. If, on the other hand, I do the same work and I release it back into the wild, assuming my patch isn't stupid, I gain some respect from people who are likely to help me in the future, and more importantly, I gain a way to prove that I know how to use and modify open source software at my next interview. I raise my market value.
Now, I can see why an employer might object to an employee releasing those changes... but for the employee, getting to publicly release code has some rather large economic advantages vs. just writing and using the same code internally.