A software company develops and distributes computer software that may be used to learn, instruct, assess, calculate, entertain, or perform a multitude of other tasks . Software companies operate under a variety of business models, such as charging license fees, offering subscriptions, or charging by transactions.