I wrote a small tool that simplifies a single yet extremely annoying task (because I got sick of performing the task manually).
I offered it free for personal use, with clear notices that you need to pay to use it at work, and a way to contact me for a business license. I sold one license. Several other users e-mailed me to thank me for the useful tool, including some who indicated they were using the tool at work.
I could have added more aggressive nagging, or stringent enforcement (e.g. some form of online activation that blocks you if you're coming from a known corporate IP).
I could also have decided to make the tool available 100% for free under an open-source license.
The lessons I learned from this were:
- if you offer a free-for-personal-use version, business users will only pay if the hassle of going through the payment process is lower than the hassle of using the free version illegally; I suspect a nag screen will only be enough if it's really frequent, and will probably annoy your "free" users a lot.
- the effort required to write any form of license enforcement, or to set up and maintain easy ways for someone to pay for your software (e.g. credit card) is often not worth it
--> If it's a small thing, do the world a favor, and just make it free. The money you'll earn may not be worth the additional time and hassle you'll have to put in to earn it (not just for the additional code or sales setup, but also dealing with payments and customer inquiries, taxes/legal stuff, ...).