
Mike Meyer
As it's commonly understood, reverse engineering doesn't involve looking at the code.
I guess I should make it clear that I don't use it in the strict sense - I would call that "clean-room reverse engineering". (I'm not sure which is the most "commonly understood" meaning, I think Wikipedia supports both interpretations)
That's why it's called "reverse engineering" instead of "copying."
I mean the process of reimplementing specific functionality from another system, with or without knowledge of implementation details. I would use "copying" to mean verbatim cut-and-pasting, which is something else. In particular when copyright is concerned, I believe that verbatim copying in many cases will require a license to the original work, but merly examining the original work to make use of algorithms, tricks, and structures from it will not. I suspect there's nothing magical about source code, if I extract a component (algorithm or data structure, say) from a program and use it in my own program, I'm not convinced it matters if I extract it from object code, source code, or documentation - they're all copyrighted works, and could be interpreted as translations of the same work. I could be wrong about that, though. -k