There's this huge gulf between "protecting" our intellectual property (IP) and making money off our intellectual property. In our case, we have experts creating business models that we embody in some source code as business rules.

What's the IP? The software or the model? Where's the value? Is it out business SME's creating new "breakthrough" business models or me encoding the business model in Python?

[BTW, when the business owners and executives ask the Python question, I say "speed" and "flexibility". Rather than spend 6 weeks with the SME's trying to get all the use cases written, I start from anything that might be a use case and start writing. Once we have something we can touch and feel, lessons are learned, scope is creeped.]

If the business model has all the value, why protect the software? They can reverse engineer the code, but they can't reverse engineer our ability to create new, clever business models.

What do we do?

My Stackoverflow answer has the salient points. In short, contracts still work, offering significant value rules. [And it's my first Good Answer badge.]

The one we're using, however, is still very appealing. Software as a service: the SaaS model allows us to offer the services, enhance them and even customize them, without disclosing everything to our customers.

We're a services firm, we're interested in the business consulting. We're capable of managing and executing the planned rewrite of our customer's legacy software to make use of our services. Rather than mess around with lawyers, we figure it's better to create software so valuable that our customers would rather not waste time and money on reverse engineering.