Brief Analysis On Reverse Engineering Software
An unnamed correspondent writes: "
An article on PlanetIT.com discusses a court ruling that establishes the reverse-engineering of hardware and software as legal, under the "fair use" umbrella. What ramifications does this have in the industry? Can I reverse-engineer MS Word and write a word processor that can read and save .DOC files?" The article also asks the eternal burning question "Is the DMCA contradicting itself?" Though the court cases this piece deals with aren't new, the issues they deal with aren't going away, and it turns out that the Bleem and DeCSS cases may have more influence on other reverse engineering cases than anyone anticipated. Will sense chase out absurdity?
The IBM PC was reverse engineered. Barely within the boundary of legality. But legal, nonetheless. If this had not happened, would we now live in the so-called "information age"? Probaly not. Reverse engineering and mass-producing the IBM PC clone put real computing power in the hands of almost anyone who really wanted it. Why should we now make illicit the same proletarian and, dare I say, egalitarian mechanism that put us where we are today?
Reverse engineering does not mean black box methods. Black box methods are one technique of reverse engineering. They have the advantage of looking a little better when lawsuits come around, and the disadvantage of being much harder.
Compaq used clean room techniques because of what it was they were doing. When writing low level code, and it has to be bug compatible with something else, you're going to recreate the exact code that was in the original, because there's only so many ways to do something. Now copyright isn't like patents in what it protects. Patents protect the idea, even if you rediscover it. Copyright only protect a specific implementation. For a patent, it doesn't matter how you came up with the idea. On the other hand, for copyright, it only matters how you got the idea. If I get an idea for a poem, and come up with something that's nearly identical to some obscure Robert Frost piece, the courts would start with the presumption that since it's so similar, it must be a copy, but if I could prove that I had never read the poem, nor anything that referred to the poem, or had any knowledge that the poem existed, then my version would be mine. Probably this would make it even more of a pain for the next person to spontaneously come up with this poem.
With a patent, on the other hand, if I have a blinding flash in my algebra class and write down some patented algorithm, it's still infringing. It doesn't matter that I never heard of it.
Coming back to DeCSS, if the algorithm is obtained by disassembling the assembly, and then that algorithm is published in a natural language description, then the same author does an implementation in C, it's probably okay. The C isn't going to directly lift anything from the assembly except some of the tables. Given the principle that data cannot be copyrighted (you can't copyright the fact that your study shows that 53% of tech workers want to kill their boss), you could argue that the tables are also not a creative work.
The only issue of anonymous information is whether any of that may have come from people who have signed NDAs. Trade secrets are like patents (covering ideas) but with copyright style rules for when they apply (if you rediscover it, someone's trade secret doesn't apply).
I'd just like to point out that Microsoft have released the full-specs for Word .doc files and an open source .doc reader is available, it's called wvware.
-- Conexant/Rockwell Modem HOWTO http://linuxdoc.org/HOWTO/Conexant+Rockwell-modem
Physicists, chemists and biologists have been reverse-engineering the world for centuries, and yet God didn't file a lawsuit. I take it as an endorsement of reverse-engineering by God himself.
From PlanetIT article:
"The Reimerdes case dealt with somebody who didn't have a right to the DVD but was cracking through it to get the code, whereas the Connectix case dealt with a situation where a company was legally entitled to be using the code and reverse-engineering it for purposes of interoperability."
Keith Kupferschmid, intellectual property counsel at the Software and Information Industry Association
I may be missing something here, but I don't see the distinction. PlayStation is a proprietary platform. PlayStation games were built to run on that platform. bleem! was written to allow people who had purchased a license to a PlayStation game to play it on some platform other than PlayStation.
DVD players are a proprietary platform (because of the "decryption" code they contain). DVD's are built (encoded) to be played on that platform. DeCSS was written to allow people who had purchased a license to a DVD movie to play it on some platform other than a commercial DVD player.
Am I missing something here?
--Kaos
RE presents a unique opportunity: A facility for determining a natural expiration on copyright.
The duration of copyright is arbitrary. Some have suggested that the duration of copyright for software be shortened, but it would still be arbitrary.
Unlike music, literature, and other copyrighted works, software has a distinquishing property. It is possible to create a program that works exactly as the original without copying the original.
Thus, the time that it takes to reverse engineer a piece of software establishes a natural duration for the copyright on the original. This is not to say that we should revoke copyright on the original once a RE has occured. It simply says that RE renders the copyright on the original somewhat moot. If the RE product is distributed gratis, the money value of the original copyright is eliminated.
To a certain extent, this is already the way things are. So, if RE is legal (so long as it doesn't involve actual reuse of copyrighted code) I have no problem with it. Under such circumstances, the Free Software community takes on the job of establishing the natural duration of copyright in a free market.
Of course now I will probably hear from some people who don't believe in a natural right to IP; but I do, and so do a lot of other people. It is unlikely we will ever agree on that issue, but perhaps we can agree to RE as a standard for limiting copyright.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
I reverse engineered quite a few MS file formats (see my out-of-print book Undocumented Windows File Formats) and never had any hassles from MS regarding the reverse engineering.
In fact, MS tried to hire me to provide them with the specs for one of their file formats. Apparently the author of the code never documented the file format. MS had released specs for it, but they were completely wrong.
After being told by several friends that MS was notorious for delaying payment with contractors, I asked for half the money up-front. They refused and I never did the work.
But I digress. I reverse engineered a number of file formats that were "proprietary" Microsoft files. If they're going to go after anyone for it, surely they would have gone after me since I was publishing them left and right in magazines and my book.
I've figured ever since then that MS must have known that the whole thing about reverse engineering in their licenses must be unenforceable.
You can also look at all the work Andrew Schulman and Matt Pietrek did reverse engineering Windows code and the PE file format and neither of them ever got hassled either, as far as I know.
Pete Davis