1. A method of providing software, the method comprising: receiving a request for a demo software appliance, the request comprising functionality to be performed by the demo software appliance; and building the demo software appliance, the demo software appliance comprising: at least one application capable of performing the functionality, portions of an operating system necessary to provide an execution platform for the at least one application, and configuration data utilized by the at least one application and the portions of the operating system, wherein the configuration data limits the functionality of the demo software appliance.