I had an "eye opening" experience last December: two sudden pulmonary embolisms that I could have died from. I am well on my way to a full recovery now, but this experience made me think about both my responsibilities to my family (e.g., making sure my wife knows where our financial records are, etc.) and to any customers who I sell commercial software products to.
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.