Tuesday, September 19, 2006

Into The Unknown..

Back when Mike and I started the Boomerang decompiler project, we had the choice to start from scratch or to use our work on the UQBT project as a base. There was pros and cons to both approaches, but in the end we decided that UQBT had quite a lot of value in it, so we went with that. Unfortunately, at the time Mike and I started working on a decompiler based on UQBT, the copyright was owned by a number of parties. We had to talk to lawyers from the University of Queensland, Sun Microsystems and the individual people who had worked on the codebase over the years. Initially the lawyers were of a single opinion: no way. The individual contributors, however, were of mixed opinions: what for? and which license? As it turned out, answering the second question also answered the first question and started to put the lawyers minds at ease.

The goal of the Boomerang decompiler project was decided, way back in 2001, to be a guiding force in bringing about a market for decompilation technology. By publicly showing that decompilation was possible, we hoped to encourage people to invest time and money into making tools that they either make available to the public, or use to offer services to the public. This is why we chose a BSD-style license, so anyone who wanted to use our code for commercial (more specifically, proprietary) purposes, would be free to do so.

Over the years, I think we've done a lot to change the prevailing opinion that decompilation is "impossible" or at least economically uninteresting. Our paper on commercial decompilation from a small contractor perspective "Using a Decompiler for Real-World Source Recovery" was well received in 2004, whereas our paper "Computer Security Analysis through Decompilation and High-Level Debugging" was openly bashed at the 2001 WCRE conference. In just 3 years the opinion that decompilation was something someone with good tool support could do in an economical amount of time has changed from wishful thinking to accepted common knowledge.

So how about that market? Is the flood of cheap decompiler tools coming? Well, ever since 2001, Ilfak Guilfanov has been talking about adding commercially supported decompilation to IDA Pro. A large number of plugins exist, but without commercial support I really don't think we're there yet. Decompilation services for source recovery are still pretty much unheard of, but there are some people out there now who claim they can do it.. that's more than there was before. It seems the image problem is sorting itself out. Slowly, people are starting to see decompilation of machine code with the same eyes as they see decompilation of Java.

It's time to stop sitting on the sidelines. Mike and I have accepted roles with a company that is using decompilation technology to provide market valued services. We're now taking a direct role in influencing the creation of this market. Of course, I can't tell you which company it is we'll be working for, or what services they will be providing, but chances are you'll be able to guess. Just don't ask me to confirm or deny your guesses :)

Unfortunately, this means that we must stop working on Boomerang. It's possible that others may be interested in continuing the development of Boomerang, and we'll be around to offer a little help where we can. In this blog I have spoken a lot about Boomerang, but that's not what this blog is about. This blog is about me and, in particular, my participation in the open source community. That won't change. I will continue to write about the open source projects I work on. At the moment that's very game related, but in the future this too may change.

No comments:

Post a Comment