A big issue with on premise software is that it allows the potential for reverse-engineering your code through the simple fact that your software executeables are no longer under your organisations direct control.
I attended a great presentation today on Intellectual Property with the usual strong focus on patents. But what I really liked about it was one of the last slides that showed the Alternatives to Patenting.
The key points follow
– keep secret if possible
– use architecture which is not easily reverse-engineered
This reinforced what I have been saying about using an off premise single or multi tenant environment to provision your services. Through this architecture you inherently make it difficult for organisations to reverse engineer your product as they don’t have access to the executing environment. That is you have minismised the number of organisations and persons that have access.