Shareware, Freeware, Open Source: Definitions, explanations, and some programs!