Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Clones and moral behavior

Author: Uri Blass

Date: 16:04:32 08/24/05

Go up one level in this thread


On August 24, 2005 at 12:47:37, Bo Persson wrote:

>On August 23, 2005 at 16:50:48, José Carlos wrote:
>
>>  I agree with you and Uri about there's no clear definition of what a clone is.
>
>Of course there is, if you have copied the code it's a clone. If you have
>written it yourself, it is original.
>
>
>>"Having source code of other engines" is miles away from clear. Example: I have
>>in my code:
>>
>>int i = 0;
>>
>>  Either it is in some prior program (I'm a cloner) or in some later program (he
>>cloned me -early versions of Averno were open source-).
>
>Yes, but did you think of this line yourself, or did you paste it from another
>program?
>
>
>>  Of course copying that line is not cloning.
>
>Of course it is!!
>
>If you copied the code, you know it's a clone. The only problem is to prove that
>when the cloner lies about it.

No

I think that even if you copied the following function from tscp that is about
counting time your program is not a clone.

int get_ms()
{
	struct timeb timebuffer;
	ftime(&timebuffer);
	if (timebuffer.millitm != 0)
		ftime_ok = TRUE;
	return (timebuffer.time * 1000) + timebuffer.millitm;
}

Note that my function that is at the bottom of this post is not exactly the same
but is based on this function and originally I did copy and paste tscp's
function and some lines are still the same.

I am quiet sure that no serious programmer is going to consider movei to be a
clone based on this observation.

Without copying from another program I had no idea how to calculate time and
calculating time is not relevant only in chess program so even if people did not
copy it from another chess program they may copy it from another program.

I do not think that programmers need to spend time on
learning exactly how to use the library function for time and reinvent the wheel
in tasks that are not chess related.

I do not lie about it and I admit that I copied that code from tscp but I am
almost sure that nobody will decide not to use movei in tournaments because of
this fact(otherwise I guess that other programs that started from tscp will also
not be allowed to participate(I can mention Trace) when I never started from
tscp and only copied very small parts of it and my data structure is different
than tscp.


int             get_ms() {
        struct timeb    timebuffer;
        ftime(&timebuffer);
        return (int)(timebuffer.time * 1000) + timebuffer.millitm -
start_program;
    }

Uri



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.