The murky world of legally decompiling software

During our work with FoxPro or Visual FoxPro application migrations or conversions, we find that the client often doesn’t have access to the source code. Usually, it’s been lost in the mists of time, or perhaps they never got a copy of the source code from the original developer.

As we’ve discussed before, having the source code is crucial to be able to make further changes or fix bugs to your application. It is also a huge timesaver to understand the current logic and data structures that need to be transferred to a new platform.

So what can you do if you don’t have the source code? Well, one option is decompiling the application’s executable to try and reconstitute the source code.

Great, problem solved. Unfortunately, it’s not necessarily that simple. Technologically speaking, we’re often able to decompile the software successfully. But, legally or ethically, we might not be able to do so.

In an ideal world, you’ll have enough evidence that shows you are the owner of the application and its source code. With this in hand, the answer is simple. Yes, under copyright law you can legally decompile your own software and ask a developer to do this for you.

Without that, it can begin to get a bit murkier. Firstly, I’m not a lawyer, so nothing that follows forms any kind of legal advice. If you’re in any doubt, you should consult a legal professional.

The Copyright (Computer Programs) Regulations, which implements the EC Directive on the Protection of Computer Programs provides specific protections against decompilation except for some specific exceptions.

To be clear, if you’re the rights holder then you can authorise another person or entity to perform decompilation on your behalf.

If the developer who wrote the software didn’t transfer their copyright to you then it becomes more questionable. If you are looking to re-create the functions of the original FoxPro application in an alternative platform and utilise the data from it, then some amount of decompilation may be allowed to facilitate this. Our understanding is that if your goal is to enable interoperability with the current FoxPro system, i.e. you want to be able to interact with the data in it correctly, and there’s no documentation which already describes this in sufficient detail you should have the right to decompile the application.

There’s a grey line here between the rights you may have because you commissioned the works and apparently have the right to use the resulting program and the rights of the developer as the original author of the work. The copyright directive explicitly clarifies that even when there is a legitimate reason to decompile the software without being the rightholder, then you cannot interpret the provisions in such a way that you may infringe the rightholder’s legitimate interests.

A safer way to avoid the issue is not to try to decompile it at all but merely observe the program to determine the ideas and principles about how it works. Usually, this needs a lot more work from both the developers and the client to be successful.

If you decide that decompilation is the best route forwards, to protect ourselves and stay on the right side of the law, we ask our clients to sign a document. It must assert that you are the owner and hold the necessary copyright to the application and are able to grant us the right to decompile your software to adapt it.

If you’re considering conversion or migration of your FoxPro application and you don’t have the source code contact us for a no-obligation initial chat to discuss your options.

About the author

Andy Henson specialises in practical, yet creative, business solutions. Drawing on his experience, he couples the latest in technological thinking with a sound knowledge of business.