Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A fix for the clone detection problem

Author: Russell Reagan

Date: 00:25:47 12/01/03

Go up one level in this thread


On December 01, 2003 at 02:46:49, Hristo wrote:

>What is the question:
>Is this program an original work?

In my opinion, that should not be the question. I think the goal is to prevent
someone from stealing someone else's expression of their ideas and claiming them
as their own, not to make absolutely sure that not a single line of code was
borrowed from another program.

Consider this. We use words as building blocks to form sentences, and we use
sentences to express our ideas. If someone uses the same word as another person,
neither person can claim the other plagarized their word. Words are free for
everyone to use. It is the unique expression of an idea that should be
protected.

In a chess program, there are certain things that are building blocks. Things
like generating legal moves, making moves, taking back moves, and so on, are
building blocks. No one owns these concepts, and many of the expressions of
these concepts are as common to chess programmers as single words are to a
writer.

In my opinion, if someone took the code to generate moves, make mvoes, and take
back moves from Crafty, then they wrote their own search and evaluation
routines, then they can call that program their own, because they only borrowed
building blocks from Crafty, not the expression of ideas for what makes a good
chess program. Things like the move generator, making a move, and taking back a
move have very, very little to do with how well a program plays (assuming it
isn't drastically sub-optimal).

The only issue remaining is honesty. If someone borrowed those portions of code
from Crafty and is honest about it, then no one will have a problem with it. Any
chess programmer will know that those portions don't determine how well the
program will play. If they lie about it, then they might have a problem. This is
not really important however, because it is very unlikely that anyone can prove
anything unless the author is willing to show all of his source code.

So basically I think what is important is that someone doesn't just take Crafty
and make a few changes (like changing the name) and then calling it their own
program and enter tournaments. The idea of using test positions and comparing
the results should be good enough to detect those weak attempts at cheating. If
someone modifies it enough so that it plays different moves most of the time (as
often as any other program), then they have probably done some significant work,
and we can give them the benefit of the doubt. Maybe that isn't the best
theoretical solution, but in reality it is probably a very good solution since
it doesn't border on paranoia and is not invasive to the programmers.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.