"Side projects" and open-source projects are great for self-education. I've nothing but good things to say about them for employee improvement.
Running a separate business is a different story altogether. Do you really have productive employees who are operating software development companies on the side? If you do, I can guarantee their primary attention does not lie with you (even though their primary income is being paid by you).
This, I think, is the key distinction. Running a business is a whole lot of work, and much of that work does not make your guy a better software developer. Running a side business is probably going to diminish a programmers productivity.
Writing an application (and ignoring the business and customer service side of things) likely will make your programmer more productive, 'cause he learns all this new stuff.
Running a separate business is a different story altogether. Do you really have productive employees who are operating software development companies on the side? If you do, I can guarantee their primary attention does not lie with you (even though their primary income is being paid by you).