Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: question about definition of clones

Author: David Mitchell

Date: 16:52:41 08/21/05

Go up one level in this thread


On August 20, 2005 at 22:06:24, Uri Blass wrote:

>Suppose that somebody look at some public source code and decide to write code
>that does the same algorithm but with different data structure so he cannot use
>copy and paste for chess tasks.
>
>Do you think that the program is a clone or use code of another programmer?
>Do you think that the programmer should not be allowed to participate in
>tournaments?
>
>Note that my opinion is that the programmer should be allowed to participate
>because copying ideas unlike copying code is allowed but before even considering
>to try this idea(I am not sure if I will try it even if it is allowed) I prefer
>to ask this question.

You didn't put this in a framework, Uri, but let's take an example:

I write a program, it uses the famous Quicksort function, to sort the data. I
need it because it has a lot of values to sort, and there is no sorting function
I know that will work as well.

My program is clearly not a clone because it's original, and Quicksort is just a
small part of it, and was developed for that purpose. It isn't copyrighted.

Now, let's look at a chess program. Mine uses alpha-beta, as does surely
everyone else's - in one version or another (OK, a few hold-outs use MTD(f), but
not many). It certainly doesn't make my program a clone!

But note that my program does NOT share the same data structs, or functions, or
number of functions, or logic flow, or evaluation, or anything else, with that
of any (known) chess program.

And I don't care if my program should behave EXACTLY like some other program -
trust me, it's NOTHING if it's not absolutely original. But I didn't re-invent
alpha beta, just like I didn't re-invent Quicksort, and I'm sure my alpha beta
function looks about like a lot of other (slow :) ) chess programs, in that
area.

Using idea's from other programs, or their authors', is fine - that's what
idea's are for, and you can't copyright or patent, an idea, anyway. You don't
have to re-invent the wheel.

Ultimately, only your conscience can guide you in this matter. No one will ever
be able to tell, EXACTLY how many lines of code you copied, or NEARLY copied,
without the source code, but you'll know.

Especially in the area of logic flow, and evaluation, I think you have to work
hard and make sure the code is really all your own.

If you really admire Fruit 2.1 or whatever, why not make a flow-chart of some
functions, and then incorporate some of those idea's, into the code you write
for your program? Nothing says you can't thank Fabien for the ideas, in your
program.

Making a large number of line-by-line "re-writes" of Fruit or any other program,
would extend far beyond "reasonable use", and constitute a clone, imo.

Dave











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.