Is cloning a hobby?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Is cloning a hobby?

Post by OliverBr »

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: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Is cloning a hobby?

Post by Dann Corbit »

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: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Is cloning a hobby?

Post by OliverBr »

"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: 1750
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Is cloning a hobby?

Post by AndrewGrant »

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.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Is cloning a hobby?

Post by mar »

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: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Is cloning a hobby?

Post by Dann Corbit »

OliverBr wrote: Tue Sep 08, 2020 8: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: 266
Joined: Fri Jul 10, 2015 9:23 pm
Location: Russia

Re: Is cloning a hobby?

Post by Kotlov »

OliverBr wrote: Tue Sep 08, 2020 8: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: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Is cloning a hobby?

Post by OliverBr »

AndrewGrant wrote: Tue Sep 08, 2020 8: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: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Is cloning a hobby?

Post by OliverBr »

Dann Corbit wrote: Tue Sep 08, 2020 8:20 am
OliverBr wrote: Tue Sep 08, 2020 8: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: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: Is cloning a hobby?

Post by OliverBr »

mar wrote: Tue Sep 08, 2020 8: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