[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reinvent (for GPL) code u wrote for employer who owns it?

From: Alexander Terekhov
Subject: Re: reinvent (for GPL) code u wrote for employer who owns it?
Date: Fri, 27 Mar 2009 03:00:43 +0100

Barry Margolin wrote:
> But the program to be copied is NOT open source.  He wants to
> reimplement it as open source, but he has to be sure that the new
> version doesn't contain any vestiges of the original one that he wrote
> as a work for hire.

"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.

A limited clean room was used by programmers at Altai when they
discovered that one of their employees had written a program that
included portions of a program he had worked on at a competitor.
Although Computer Associates v. Altai {FN106: 982 F.2d 693, 23 USPQ2d
1241 (2d Cir. 1992)} does not spend much time on the clean room aspects
of Altai’s new implementation, it does suggest that such a procedure
results in a program that does not infringe as long as the portions that
are similar are dictated by function."

"We join Atheros in encouraging developers to avoid proprietary code in
their work, using clean room approaches like the techniques used in the
development of OpenHAL."

About OpenHAL

OpenHAL is low-level interface software for Atheros 802.11 wireless
cards. Previously, Linux-based systems needed a proprietary Hardware
Abstraction Layer (HAL) plus a wrapper driver to make use of these
wireless cards. OpenHAL is a free and open source replacement for the
proprietary HAL. OpenHAL was initially based on ar5k, which was used as
the basis for a proprietary HAL replacement for the OpenBSD project."

"using clean room"

"using clean room"

"using clean room"


(GNG is a derecursive recursive derecursion which pwns GNU since it can
be infinitely looped as GNGNGNGNG...NGNGNG... and can be said backwards
too, whereas GNU cannot.)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]