Boost logo

Boost :

From: Alexander Terekhov (terekhov_at_[hidden])
Date: 2007-03-21 11:44:46

Hugh Wimberly wrote:
> don't want to work harder than I have to, as long as I'm respecting
> copyright. The reason I asked in the first place is because I need to know
> if I should revise my proposal; without using anything but strictly
> scholarly sources, I think the DFA-based regex I write will only be able to
> handle a limited subset of cases and the "hybrid" portion won't come into


One way to avoid infringement when writing a program that is similar to
another program is through the use of a “clean room” procedure. This is
what was done when companies cloned the BIOS of the IBM personal
computer to produce compatible systems. In a clean room procedure, there
are two separate teams working on the development of the new program.

The first team determines how the original program works, by examining
its source code if it is available (IBM published the source code for
its BIOS in a technical manual), by reverse engineering the program (by
converting its object code back to source code and attempting to
understand it or by testing it to see how it behaves), or by studying
available user manuals and other descriptions of the program’s function.
This first team puts together a complete technical specification that
describes the functioning of the original program. Such a specification
is not an infringement, since the copyright in the original program
doesn’t protect its functionality, only the expression in the program
that creates that functionality. Generally, an intellectual property
attorney will review the functional specification to assure that it does
not contain any protected expression from the original program.

Given the functional specification, a second team of programmers,
metaphorically in a “clean room” uncontaminated by the original program,
implements the new program. These programmers have not seen the source
code of the original program. In fact, it is best if they have never
seen any aspect of the original program, getting all their knowledge of
it from the functional specification. Because they haven’t seen the
original program, they cannot be copying it, even unconsciously.



Boost list run by bdawes at, gregod at, cpdaniel at, john at