circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Priorty Interrupt
by Steve Ciarcia


It's All in How It's Done

Recently, a small manufacturing company approached me about designing an embedded controller to replace one they currently used. The present unit and its operating software were purchased as an off-the-shelf commercial product. When the OEM product doubled in price, the company simply decided to eliminate the supplier and make an equivalent unit. They asked me if I would reverse engineer the whole thing for them.

I made up a plausible excuse about having too many design jobs in the works and gracefully declined the opportunity. The task had some obvious challenges, but experience has taught me that reverse engineering involves considerably more than just technical issues.

On the surface, I don't have a philosophical objection with reverse engineering. Properly done, it's completely legal. In fact, evaluating a competing commercial design is an established practice in any new product design or product improvement. Certainly, everyone has heard the story about the BMW plant with all the disassembled Lexus cars in the corner. Unfortunately, in today's litigious society, designers and consultants have to beware of becoming so mesmerized by the technical challenge that they get oblivious to important legal issues. In the electronics industry, producing a clone of a piece of hardware or software is an established practice. It's using the proper technique to make a work-alike clone design that's the real issue.

First of all, be aware that a commercial product can be simultaneously covered by patent, trade secret, copyright, and contract laws (God bless those lawyers!). For reverse engineering to be legal, it must be legal under all these different laws. Here's what I typically watch out for.

Frankly speaking, reverse engineering won't help you as a defense against patent infringement. If your clone still infringes a patent, it won't make any difference what technique you employed to make it. The only solution here is to make sure that your design doesn't still include all the elements of the patented device.

As far as trade secrets go, it's more often an issue of misappropriation than reverse engineering. If you've got super taste buds and legitimately arrive at the formula for Coca-Cola, it should be defensible. However, if a disgruntled employee E-mails it to you, you had better think about the consequences before getting into the soft-drink business.

Copyrights are the primary protection for the software industry. It is permissible to dissemble object code in order to understand the functional operation of programs, but any effort should have a substantial paper trail showing how any clone was designed. Most importantly, the people responsible for disassembling code can only use it to produce a written specification. It should be a completely separate design team that uses that spec to create the new work-alike product. This was how the PC BIOS got into all those clones.

Finally, contract law seems to be the way most software companies fill the legal loopholes. These contracts usually contain so much legalese they could fill a law book. Perhaps you've noticed the shrink-wrapped impolite and severely worded licensing agreements on most software packages: "By opening this wrapper, I agree to.(give my first born, etc., etc.)." Normally, whatever a contract says goes. The only exceptions are edicts that would be challenged under a standard contract defense.

The specific intention of a software license is to prohibit the licensee from disassembling or decompiling distributed code and to keep the licensee from discovering any unique programming techniques or secrets. In my opinion, overstressing the threats is counterproductive. There is also some argument whether banning decompilation can really be upheld.

Interestingly, microcomputer chip layouts can't be patented or copyrighted. They aren't considered novel enough for patent protection, and their utilitarian nature and application makes them ineligible for copyright protection. That doesn't mean they're an easy knockoff, however. To prevent chip piracy, manufacturers frequently use manufacturing techniques that make tracing the microcircuitry very difficult, as well as including nonfunctional patterns that help identify a copied layout. Reverse engineering is legal-copying isn't.

Financial reward is the obvious incentive that drives protection as well as innovation. Finding a middle ground that accommodates free expression without denying profit motive requires a careful balance between property rights and fair use.

You certainly don't have to get uptight every time someone mentions decompiling code or cloning a piece of hardware. In my experience, the copyright police aren't going to kick in your door if you disassemble Windows 98 "to better understand it." However, you can probably expect Bill Gates and about a hundred lawyers to personally get in your face if you try to sell what you find.

steve.ciarcia@circuitcellar.com

Published: July-1998