Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What constitutes a clone?

Author: Dann Corbit

Date: 21:59:15 02/15/05

Go up one level in this thread


On February 16, 2005 at 00:43:26, Uri Blass wrote:

>On February 16, 2005 at 00:25:54, Pallav Nawani wrote:
>
>>On February 15, 2005 at 21:49:45, Lance Perkins wrote:
>>
>>>Consider this scenario:
>>>
>>>You saw someone else's code, then you went out and wrote your own code, which
>>>ended up to be like the other code.
>>>
>>>Even in this scenario, you could be violating the copyright of the other code.
>>>
>>>The only way around this is with the 'clean room' approach. If you want to make
>>>a similar or compatible code, you should have not seen the other person's code.
>>>Instead, somebody else would see it, describe to you what it does, then you go
>>>and write the code.
>>
>>This is no different from the first case you have mentioned. Important are
>>ideas, not code. Code is just an implementation. Whether you get the idea
>>directly from looking the code, or whether you get it indirectly how does it
>>matter? Unless, of course you _copy the implementation_. If you look at
>>somebody's implementation and then go and write your own, assuming that it is
>>not word by word copying and just changing the variable names, it is not a
>>clone. At least not by my definition.
>
>The problem is that 2 people who do the same implementation may use the same
>structure except different name for variables.
>
>Probability is very small but it is not impossible.
>I do not like accusing somebody of cloning when he is not quilty(even if the
>probability is small) so the only solution is to allow everything.

Two programs, written by two programmers to do a simple task are extremely
likely to boil down to exactly the same assembly language.

If the programmers here chose this task:
1.  Find the simultaneous min and max of three numbers
You will find maybe 3-4 different assembly outputs if 100 programmers went to
solve it.

If the programmers here chose this task:
1.  Use Newton's method to find the square root of a number, given the number
and a starting guess.
You will find about half that are the same, and about half that have
differences.

If the programmers choose some difficult task, you will find lots of
differences, but you might have two programmers write exactly the same thing.

I mean, really -- algorithms are simple steps following commonly known formulas.
No surprise if we find similarities.

I think that cheaters are usually very lazy.  You will find some huge volume of
code that is totally unchanged and a few tiny tweaks.   They are laughably easy
to spot.

There are also false identifications.  For instance, one widely cited clone is
the program wincraft that is supposed to be a clone of crafty.  However, that is
totally and absurdly wrong.  People probably assume the link because of the name
similarities.  Besides the stupendous difference in strength and size, they
don't play anything alike and wincraft always moves almost immediately no matter
what the time control.  Wincraft does not use SAN and does not even show a pv or
ce.

Wincraft is NOT a crafty clone and anyone who says otherwise has no idea what
they are talking about (yet I have seen the 'it's a crafty clone' claim far and
wide).

I think that to accuse someone of cloning, you should have VERY strong evidence.
 Really, when we do that we are impuning that they have bad integrity.

Nobody likes to be called a liar and a thief.



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.