On Tue, Jun 29, 2021 at 01:52:56PM +0000, Nate Rosenbloom wrote:
> 
> > This reason is not stated in the Stack Exchange post, and I believe
> > it’s inaccurate (although, I am not a lawyer either). I think the
> > reason is that you are reading the original implementation to write
> > your own, so you are some kind of a compiler, or translator (as for
> > human spoken languages). As such, what you write is mostly the other
> > person’s work, so you should not claim copyright about it.
> 
> Sorry, I should have been more specific, the rewritten algorithm would not be 
> the same, but it would be a derivative work and still covered by copyright of 
> the original work.

I think the legal concept of "derivative work" is far more complex than
we'd all like. See [1] to get an idea.

With the caveat that I'm not a lawyer (heh), I think the "red line" lies
between those two extremes: (a) you read the original, understand the
algorithm and write your program based on this understanding. Best if
you forget details like variable naming, program structure, etc. Only
the "pure" algorithm survives, and (b) you translate the program line
by line (although that would be pretty hard between C and, say, idiomatic
Scheme). (a) is almost certainly not a derivative work, while (b) would
be, most probably.

To make sure you can cleanly /prove/ you did (a), some do what is called
a "clean room implementation". Fred looks at the original program and
tells Gina "how it works", and Gina implements the new one.

Cheers

[1] https://copyleft.org/guide/comprehensive-gpl-guidech5.html

 - t

Attachment: signature.asc
Description: Digital signature

Reply via email to