[Top][All Lists]

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

Re: GNU License Again but this time a different question

From: David Kastrup
Subject: Re: GNU License Again but this time a different question
Date: Tue, 05 Jun 2007 23:53:00 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux)

mike3 <> writes:

> Yes, yet another GNU License question, but this time it's different.
> What happens if I get some GPL code, and read it to learn something
> about how to solve some stumbling block with something I can't seem
> to figure out how to program, then used the knowledge gained to
> write my own piece of code? Do I have to GPL that piece of code
> and/or any and all other programs built around it?

It depends.  Copyright covers _expressions_.  An algorithm is not
covered by copyright, but its expression is.  So it depends on whether
you reproduce the _structure_ of the algorithm (which is not covered
by copyright) or its expression (for example, by reproducing idioms
particular to the style of the writer).

Telling those two apart is not always easy, so large companies
implement "cleanroom techniques" for some of that: one team dissembles
the original code and writes down a _description_ of what it does.
Another team then writes code to fit the description.  The description
is kept around as proof: it should be free from idioms and other
things particular to a particular _phrasing_ of the algorithm.

One problem is that a particular expression is more or less the
_natural_ expression for some algorithm.  Now if people come up with
the same words _independently_, they have the respective copyright for
their own words.  This is different from patents: it does not matter
with patents whether you came up with some idea independently: if you
don't have a prior publication or patent application to point to, your
idea is barred to your own use.  So for patents, the cleanroom
technique is useless.

David Kastrup, Kriemhildstr. 15, 44793 Bochum

reply via email to

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