Source code for commercial products and social responsibility
Think about this: if you buy software from an individual or small company, what happens if that company or individual goes away? For small programs this might not be a problem but the situation is different if your IT infrastructure uses 3rd party software. Customers really should have source code, even for non-open source projects.
I am working on software licenses for my own projects that protect customers yet offer some revenue protection for me.