decoration decoration

When you want to know more...
For layout only
Site Map
About Groklaw
Legal Research
ApplevSamsung p.2
Cast: Lawyers
Comes v. MS
Gordon v MS
IV v. Google
Legal Docs
MS Litigations
News Picks
Novell v. MS
Novell-MS Deal
OOXML Appeals
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v Novell
Sean Daly
Software Patents
Switch to Linux
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.

To read comments to this article, go here
A New Expression for "Reverse Engineering"?
Friday, May 06 2005 @ 09:53 AM EDT

I wanted to let you know why I was so quiet for a bit. I was preparing an article for LWN on reverse engineering. What can you do and what can't you do? It was a massive project, and you can read the result here if you have a subscription. If not, you can either get one quite easily or wait a week to read the article.

I wanted to share one thing I found in my research here on Groklaw. A lot of people have come to think of reverse engineering as a criminal activity, and while it can be, there are many legitimate reasons to do reverse engineering, as my article highlights. Reverse engineering is just figuring out how something works. We all took apart clocks and radios as kids, I imagine. Why? Just for fun, to see how they worked.

Gaining knowledge is normally viewed as a positive thing. Yet, more and more, there are laws being passed to prevent this kind of knowledge when it comes to software. If that subject interests you, you will enjoy reading Professor Ed Felton's Freedom to Tinker blog. Part of the problem, then, is the phrase and all the negative associations attached to it, but another issue is that taking apart a clock and figuring out how a software program works are not really comparable as far as the process is concerned.

I found an article in my research, which I listed in a separate LWN page, Additional readings on reverse engineering law (also subscriber content), that suggests that a new word or phrase is needed to replace "reverse engineering":

There are three good reasons to rethink the term reverse engineering: (1) it implies unethical behavior, (2) it lacks meaning, and (3) it conjures up inaccurate images from the past. While the problem is easy to define, the solution is not. The challenge lies in defining a new term. . . .

The first meeting of the Data Capture/Reverse Engineering technical group-part of the RTAM (Rapid Technologies and Additive Manufacturing) technical community-was held in July 2004. The participants were charged with defining the roles and goals of the technical group. However, within a matter of moments, the group discovered that the interests of the participants were varied and the definitions of reverse engineering diverse. The disparity was so great that it became impossible to chart a course and define the tech group's mission.

The discussion rapidly regressed to a few simple questions. What is RE? What technologies does it include? What are the applications? This group of experienced professionals, each with hands-on experience in RE, was unable to define the technology in the context of its many applications. It concluded that if the tech group could not come to a consensus, there is no possibility for a clear understanding in industry. Therefore, the tech group decided that reverse engineering needed to be renamed and redefined.

With agreement to do so, the conversation turned to resolving this dilemma. The question arose. "If it isn't RE, what is it?" The answer to this simple question is deceptively complex.

To date, the Data Capture/Reverse Engineering tech group has yet to come up with the answer. Although the industry has pondered the question for years, it has not fared any better in renaming the technology.

So, that group struck out in finding a new term. Three of the possibilities considered were data capture, digital duplication and reverse modeling, but no consensus was reached. Samba's Dan Shearer supports the idea that a new name is needed, and he suggested that I ask you for ideas. I also wanted to ask you to list for me what you think are the best projects that resulted from "reverse engineering." Here is his contribution, but we are seriously wondering if any of you can do better:


Constructive Exploration/Complementary Engineering
~ by Dan Shearer


"If I have been able to see further, it was only because I stood on the shoulders of giants."

This well-known quote 1 embodies respect for intellectual effort of others and giving due credit. In considering any artificial work it is usual to wonder about the creative effort, and often as not to touch it or -- as we do from babyhood -- learn by taking it apart.

The term "Reverse Engineering" can be examined from legal and technical points of view. Here I am instead trying to capture the feeling of what is meant, in order to find a better term, a term that conveys meaning to most people.

I think "Reverse Engineering" has almost exactly the wrong implication. We're not taking something away from the sum of human knowledge, we're adding something to it -- even if I don't publish my results, if I produce something that artifact represents a mine of knowledge to others just as the original did to me. In Reverse Engineering we're not stealing someone else's hard work, we're being inspired by it. In short, the process of developing somewhat parallel thinking is moving forwards, not backwards. So the name should reflect that general attitude. It is a term that should probably apply much more widely than just fields with "Engineering" in their title.

Going back to Isaac Newton, a common thread is the notion of exploring how someone has expressed an idea. All of the following involve exploration of the expression of an idea, be it out of need, or for fun, desire to learn or many other motivations:

A locksmith buys a house, and out of curiosity first picks then dis-assembles the front door lock.

A musician hears a recording played from sheet music and immediately tries to re-create the sound with whatever instrument is to hand.

An anthropologist hears a rare language and attempts to deduce its meaning.

A software developer is told to use a program that does not run on his computer and tries to learn how the program works in order to make it run.

So what about "Constructive Exploration"? If I had to have a second choice it would be "Complementary Engineering". Clear enough to impart some meaning, vague enough to fit most uses.

Or, maybe "Complementary Engineering" should be the term, and "constructive exploration" be something you can use to explain what complementary engineering really is. As in:

I do complementary engineering for a living. What that involves is constructive exploration to learn the nature of things and then usually some engineering to express the results of that work.

1written to a scientist who was not very tall :-)

  View Printable Version

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )