Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: A fix for the clone detection problem

Author: Hristo

Date: 01:11:22 12/01/03

Go up one level in this thread


On December 01, 2003 at 03:25:47, Russell Reagan wrote:

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

Russell,
I agree with the definitions you put forward.
The problem is with defining the boundary of where the stealing begins and the
personal expression ends.
Consider two extreme situations (just for the sake of the argument).
1) Programmer A _completely_ changed the implementation (expression) of the idea
without altering the idea it self. Is this OK? Is it OK to use different
expression of the same exact idea? If it is not OK, then the _idea_ is more
important than the expression, as such. The idea should be protected.(?!) I
don't mean the fundamental blocks, but rather the idea as whole.
2) Programmer B expresses a _completely_ different idea using %99.9 of someone
else's source code. Is this OK?

In chess I would suggest that the _idea_ is the focal point. The implementation
is less important. Not sure how this can be litigated and even less certain of
how this can be evaluated. The determinism of chess prohibits us from
determining the differences between engines, purely based on their output when
solving a chess problem.

>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

This is the remaining issue, indeed.
This is also the _issue_ from the get go, so in some sense we are right back
from where we started. ;-/

Plagiarism is not a pleasant prospect, but when you release your source code it
is difficult to avoid it.

Best regards,
Hristo

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