Is cloning a hobby?

Discussion of chess software programming and technical issues.

Moderators: Harvey Williamson, bob, hgm

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
OliverBr
Posts: 563
Joined: Tue Dec 18, 2007 8:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch
Contact:

Is cloning a hobby?

Post by OliverBr » Mon Sep 07, 2020 10:25 pm

Hello together,
a programmer approached me with a new chess engine of him, which is stronger than OliThink.
Eventually I got some code and took a look into the code:

Code: Select all

int full_check_search(int beta, int depth, int search_parm, int * pv) {
  struct undo_t undo[1];
  struct list_t moves[32];
  struct list_t *last, *moveptr;
  int i, move, new_depth, new_value, in_check, best_value, new_pv[256];
  struct entry_t * entry;

  true_nodes++;
  *pv = 0;
  for (i = 4; i <= Board->ply_nb; i+= 2) if (Board->stack[Board->sp - i] == Board->key) return 0;
  entry = trans_entry + (KEY_INDEX & trans_mask);
First, I was impressed, but then I downloaded Strelka 2.0 and saw this:

Code: Select all

int full_search(int beta, int depth, int search_parm, int * pv)
{ struct moves_info_t moves_info[1];
  struct undo_t undo[1];
  struct undo_null_t undo_null[1];
  int i, value, new_value, turn, move, new_depth, in_check, best_value, moves_cnt, trans_depth;
  unsigned __int64 mask;
  struct entry_t * entry;
  int new_pv[256];

  true_nodes++;
  *pv = 0;
  for (i = 4; i <= Board->ply_nb; i+= 2) if (Board->stack[Board->sp - i] == Board->key) return 0;
  entry = trans_entry + (KEY_INDEX & trans_mask);
Would you say this a copy?
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

Dann Corbit
Posts: 11627
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Is cloning a hobby?

Post by Dann Corbit » Tue Sep 08, 2020 5:47 am

It's a photograph
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.

OliverBr
Posts: 563
Joined: Tue Dec 18, 2007 8:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch
Contact:

Re: Is cloning a hobby?

Post by OliverBr » Tue Sep 08, 2020 6:03 am

"Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching."
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

AndrewGrant
Posts: 813
Joined: Tue Apr 19, 2016 4:08 am
Location: U.S.A
Full name: Andrew Grant
Contact:

Re: Is cloning a hobby?

Post by AndrewGrant » Tue Sep 08, 2020 6:06 am

Some people just like to have a prebuilt sandbox to play with. Theres nothing wrong with that. You can want to try your ideas without implementing an engine from scratch.

However, there seems to be a heinous trend of people cloning the work of others and passing it off as there own. It goes all the way up to the top with Houdini, ... and others.

mar
Posts: 2195
Joined: Fri Nov 26, 2010 1:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Is cloning a hobby?

Post by mar » Tue Sep 08, 2020 6:08 am

cloning is the new learning :D
still waiting for some 100 elo/month geniuses to pass SF but somehow that never happens...
Martin Sedlak

Dann Corbit
Posts: 11627
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Is cloning a hobby?

Post by Dann Corbit » Tue Sep 08, 2020 6:20 am

OliverBr wrote:
Tue Sep 08, 2020 6:03 am
"Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching."
In case you are wondering about the "taking ideas is not a vice." I stand by this.
Nobody owns the approximate value for a queen or the bonus for two opposite colored bishops.
I see nothing evil in reading someone's code, thinking about the ideas it contains, and then writing your own version.
Isn't that what open source is for?
Now, taking someone else's code without permission is stealing, unless the code is in the public domain.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.

User avatar
Kotlov
Posts: 228
Joined: Fri Jul 10, 2015 7:23 pm
Location: Russia

Re: Is cloning a hobby?

Post by Kotlov » Tue Sep 08, 2020 6:20 am

OliverBr wrote:
Tue Sep 08, 2020 6:03 am
"Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching."
But sometimes it’s different. You make your own code, find some ideas on your own, think to yourself what a fine fellow you are, and then you see practically the same code, even naming variables. Even though you know that you yourself are not a thief, you still feel uncomfortable if this code is seen by others.
Eugene Kotlov
Hedgehog 2.1 64-bit coming soon...

OliverBr
Posts: 563
Joined: Tue Dec 18, 2007 8:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch
Contact:

Re: Is cloning a hobby?

Post by OliverBr » Tue Sep 08, 2020 6:29 am

AndrewGrant wrote:
Tue Sep 08, 2020 6:06 am
Some people just like to have a prebuilt sandbox to play with. Theres nothing wrong with that.
Yes, there is nothing wrong with that. I even like the idea of sharing my ideas and code.
F. Modesto even asked my if he can use my code. Of course, my code is open source, everybody can and should use it.
https://github.com/fmodesto/chessy
You can want to try your ideas without implementing an engine from scratch.
This needs of course some work, but it's worth the effort.
From scratch the the best way to really improve your engine. Have a look at this, each main version was completely new, only 5.3.3 to 5.7.4 is not completely new.

Code: Select all

   # PLAYER            :  RATING  ERROR  POINTS  PLAYED   (%)     W    D     L  D(%)  CFS(%)
   1 OliThink 5.7.4    :    1055     35  3306.5    3526  93.8  3183  247    96   7.0     100
   2 OliThink 5.3.3    :     800     30  2607.0    3526  73.9  2437  340   749   9.6     100
   3 OliThink 4.1.3    :     514     27  1689.5    3528  47.9  1532  315  1681   8.9     100
   4 OliThink 3.0.7    :     313     23  1031.0    3526  29.2   919  224  2383   6.4     100
   5 OliPow 2.2.3      :       0   ----   182.0    3526   5.2   121  122  3283   3.5     ---
However, there seems to be a heinous trend of people cloning the work of others and passing it off as there own. It goes all the way up to the top with Houdini, ... and others.
There are quite a number of ELO rankings out there. It would be nice if there was some kind of list, where only non-clones were listed. I am very positive that Glaurung wouldn't be #88.
https://ccrl.chessdom.com/ccrl/4040/
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

OliverBr
Posts: 563
Joined: Tue Dec 18, 2007 8:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch
Contact:

Re: Is cloning a hobby?

Post by OliverBr » Tue Sep 08, 2020 6:35 am

Dann Corbit wrote:
Tue Sep 08, 2020 6:20 am
OliverBr wrote:
Tue Sep 08, 2020 6:03 am
"Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching."
In case you are wondering about the "taking ideas is not a vice." I stand by this.
Nobody owns the approximate value for a queen or the bonus for two opposite colored bishops.
I see nothing evil in reading someone's code, thinking about the ideas it contains, and then writing your own version.
Isn't that what open source is for?
Now, taking someone else's code without permission is stealing, unless the code is in the public domain.
Of course, Dann. I am absolutely with you, this is why I quoted your quotes :). Ideas are free and to share.
This is why we are here and learn from each other. It's a great, great concept.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

OliverBr
Posts: 563
Joined: Tue Dec 18, 2007 8:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch
Contact:

Re: Is cloning a hobby?

Post by OliverBr » Tue Sep 08, 2020 6:39 am

mar wrote:
Tue Sep 08, 2020 6:08 am
cloning is the new learning :D
still waiting for some 100 elo/month geniuses to pass SF but somehow that never happens...
It won't happen. It's all the same since ever. There is a best engine and a lot of engines short of it. When the best engine increases its ELO, the other will gain, too. Not before.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

Post Reply