What is a derivative?

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What is a derivative?

Post by bob »

hgm wrote:What complicates matters is that I could take Crafty, and rewrite it so that the algorithm is completely equivalent (i.e. it will always play the same moves with the same evaluation, or, in case of non-determinism, plays the same move with the same probability) without having any code similarity. Using mailbox in stead of bitboard, with a weird board format like 14x32, rotated sideways, packing the bits in another order in the hash table entries, encode pieces differently, divide up logically equivalent code in a different way over subroutines.

It would not be a Crafty derivative in the sense of the copyright law. But it would pass the Turing test for being Crafty, as it were. In the tiniest detail. Because I had captured the spirit of Crafty, discarding its body.
That is the sticky part, I agree. However, if it does produce the same output, there are some clever semantic analysis tools that might pick up on this... But that doesn't particularly influence copyright law, which in the case of computer software is a poor fit to reality.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: What is a derivative?

Post by Adam Hair »

Xann wrote:I am not familiar with the CC concepts of 2011.
Has the community defined what a "derivative" is?
Or the concept of "original work".

This is mostly a question for testers and tournament organisers, and there can be several definitions.
What would you want an expert to look at for you in a suspect engine?

My point is that you don't have to necessarily follow copyright law.
Courts only have a single definition of "the same" (guess).
It might not match yours.
You can make your own definition here, do you understand?
And the expert will answer: yes/no/maybe/dunno/95%/etc ...

What would you ask?
Without a question, there can't be an answer.

We can start with ICGA tournaments and other existing rating lists.

Thanks,

Fabien.
Hi Fabian,

I am a tester. To me, the question of originality involves writing the
necessary code to create a functional chess engine without using
somebody else's code. Using other people's ideas should not be
disallowed, but a programmer should use their own code to make
those ideas a part of their program. If you use other people's code,
then you should feel an obligation to get their permission and to
adequately acknowledge their work that is a part of your engine.
The use of other people's code would make your engine a derivative.

Being a derivative isn't necessarily a bad thing. Some people have
a talent for creating new works. Some people have a talent for
improving existing work. Both are admirable abilities. It is just
that, in the second case, credit for the original work should be given.

So, I guess what I would want an expert to look for in a
suspected engine is copied code. And I mean code that obviously
came from another engine. Slight changes should not be enough
to count as 'original'. I could not tell you how much change there
should be. I would depend on somebody like you to determine that :)

Adam Hair