1. A method of providing software, the method comprising: receiving a request to modify a software appliance, the software appliance comprising a binary image of data embodying at least one application and portions of an operating system necessary to provide an execution platform for the at least one application; determining a modification to the binary image, the modification comprises a change to bits of the binary image that modify the software appliance according to the request; and providing the modification to an initiator of the request.