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

Re: Is cloning a hobby?

Post by OliverBr »

Guenther wrote: Thu Sep 17, 2020 7:42 am
mhouppin wrote: Wed Sep 16, 2020 11:39 pm https://github.com/jtseng20/Beef
Big parts of the search are much more than inspired by Defenchess, they are just copied.
Thank you for this information.
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 »

AndrewGrant wrote: Thu Sep 17, 2020 11:09 pm
Tony P. wrote: Thu Sep 17, 2020 11:06 pm Pyrrhic will put Andrew's name on more engines than the rest of Ethereal would.
I think you may be surprised actually. Almost every open-source engine thats 1) Not Stockfish, and 2) Not a Leela fork, has Ethereal mentioned in small or large parts. I think Ethereal has become the Stockfish of learning. Once you have a working engine, then you can go take snippets from Stockfish.
This is not true for many engines. Of course, this may be the reason they are fighting for ELO 2500-2700.
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 »

maksimKorzh wrote: Thu Sep 17, 2020 9:35 pm Isn't it more interesting to walk through the entire path absolutely from scratch - from complete noob to at least working engine and then hopefully gain a skill to learn from stronger engines?
Of course, it is more interesting. If you have look at my engines from version 2 ot 5 here: https://github.com/olithink/
you will see that is was newly developed from scratch every main version. It isn't just interesting, it is successful:

Code: Select all

   # PLAYER            :  RATING  ERROR  POINTS  PLAYED   (%)     W    D     L  D(%)  CFS(%)	(~ELO)
   1 OliThink 5.7.4    :    1052     33  3750.5    4000  93.8  3609  283   108   7.1     100	2643
   2 OliThink 5.3.3    :     798     29  2962.0    4000  74.0  2769  386   845   9.7     100	2389
   3 OliThink 4.1.3    :     506     25  1902.5    4000  47.6  1728  349  1923   8.7     100	2097
   4 OliThink 3.0.7    :     310     22  1174.0    4000  29.4  1051  246  2703   6.2     100	1901
   5 OliPow 2.2.3      :       0   ----   211.0    4000   5.3   142  138  3720   3.5     ---	1591

White advantage = -0.53 +/- 2.54
Draw rate (equal opponents) = 16.67 % +/- 0.62
Perhaps this post may be interesting:
http://www.open-aurec.com/wbforum/viewt ... 18&t=44158
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Is cloning a hobby?

Post by maksimKorzh »

OliverBr wrote: Sat Sep 19, 2020 12:54 am
maksimKorzh wrote: Thu Sep 17, 2020 9:35 pm Isn't it more interesting to walk through the entire path absolutely from scratch - from complete noob to at least working engine and then hopefully gain a skill to learn from stronger engines?
Of course, it is more interesting. If you have look at my engines from version 2 ot 5 here: https://github.com/olithink/
you will see that is was newly developed from scratch every main version. It isn't just interesting, it is successful:

Code: Select all

   # PLAYER            :  RATING  ERROR  POINTS  PLAYED   (%)     W    D     L  D(%)  CFS(%)	(~ELO)
   1 OliThink 5.7.4    :    1052     33  3750.5    4000  93.8  3609  283   108   7.1     100	2643
   2 OliThink 5.3.3    :     798     29  2962.0    4000  74.0  2769  386   845   9.7     100	2389
   3 OliThink 4.1.3    :     506     25  1902.5    4000  47.6  1728  349  1923   8.7     100	2097
   4 OliThink 3.0.7    :     310     22  1174.0    4000  29.4  1051  246  2703   6.2     100	1901
   5 OliPow 2.2.3      :       0   ----   211.0    4000   5.3   142  138  3720   3.5     ---	1591

White advantage = -0.53 +/- 2.54
Draw rate (equal opponents) = 16.67 % +/- 0.62
Perhaps this post may be interesting:
http://www.open-aurec.com/wbforum/viewt ... 18&t=44158
Hi Oliver

I'm researching your work quite heavily within the last time)))
I've already seen a table with this comparison (you've posted it before, well at least it looks familiar to me)
Your contribution to the community is very big

re: post link by Tord
- OMG! date of post: 16 Sep 2003, 12:23 and "If I ever decide
to make a bitboard chess engine, I will study OliThink closely.
Tord" ahhh!!! Stockfish wasn't yet created at that time right?

I also imagine if Tord would ever watch my youtube series)))
Tord: I've never seen such a weird code monkey engine before, if I ever want to decrease my programming skills I will definitely study BBC's source code))))
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Is cloning a hobby?

Post by Ras »

AndrewGrant wrote: Thu Sep 17, 2020 9:39 pmReasons to clone a project and be honest about it:
* You want to work on parts of an engine, but don't want to write it from the ground up
* You think you might be able to do better than the original, but only after large refactoring
For my project, the focus is on the microcontroller based hardware. It was already a lot of work to design and build the dedicated unit, and write the complete low level drivers plus the embedded user interface. Writing a chess engine on top of that would have been too much, given how much work it already was to bring a full-blown PC engine to a microcontroller with just 1MB ROM and 192kB RAM.

NG-Play was the top OSS engine in C that "only" needed twice the available RAM for the DATA+BSS sections so that there was some hope. The desire to change its chess style only arose afterwards. The current PC version sits 200 Elo above the baseline so that there's also some original engine work. However, I've always been clear about the origins of my project, thus I've never met cloning accusations. :D
Rasmus Althoff
https://www.ct800.net
AndrewGrant
Posts: 1754
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Is cloning a hobby?

Post by AndrewGrant »

Ras wrote: Sat Sep 19, 2020 9:06 pm I've always been clear about the origins of my project, thus I've never met cloning accusations. :D
That is the crucial point. If someone releases an open source project, we are free to debate the merits of it with full knowledge. Maybe a project is "too" similar to another, maybe it is not. That can be a discussion, a debate. When you remove the openness, then you run into issues. You can do no wrong if your work is open-source. The cards are all on the table.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
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: Sat Sep 19, 2020 9:18 pm The cards are all on the table.
In German we have a saying: "Die Hose runterlassen."
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
Tony P.
Posts: 216
Joined: Sun Jan 22, 2017 8:30 pm
Location: Russia

Re: Is cloning a hobby?

Post by Tony P. »

I'd like to compare the following routes of making an ultimately closed-source derivative of permissively (non-GNU) licensed origins.

1. Developing it privately until its play becomes distinct enough from the origins' and stronger than them, then opensourcing the resulting v0.0 as a proof of programming skill and creativity (optionally withholding some own WIP improvements), then making further versions proprietary (as allowed by the origins' licenses).

2. Making all the releases (necessarily distinct enough) proprietary, just disclosing all the origins and showing gradual play improvement.

Do I take it right that the CC community will receive the derivative a lot warmer if it follows route 1?
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 »

To be honest, I don't care if somebofy stole an idea from someone or vice versa. Ideas are no property.

But, my opinion is:
An engine that is not open source is suspicious.
Why is it closed? Will it ever beat Leela or Stockfish? Nope, it won't.

Perhaps we should just remove all closed source engines from the list and not talk about them anymore. Rybka, Robbolito, Houdini, etc.?! Who cares?
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
No4b
Posts: 105
Joined: Thu Jun 18, 2020 3:21 pm
Location: Moscow
Full name: Alexander Litov

Re: Is cloning a hobby?

Post by No4b »

When I wanted to get started with a real chess engine like ~2 month ago i did not really wanted to start from scratch,
because i did it once already with my previous chess variant work and well, i was lazy and wanted to see games faster.

But at the same time it made 0 sense to me to start with something that is already strong, because for me all the fun
is in seeing how can the lines of code you just wrote translates into the the engine strength. I like to see how one version
outplays another, or how it blunders stupidly because i made a mistake.

That`s why i started with ~1700 rated engine as a base.
I was very hesitant in posting Drofa 1.0.0 here, because even though it had over 300 elo more than Shallow Blue (engine that i forked), even with
some of the files rewritten completely, i somehow felt that its not entirely different engine. :|

Now my dev version is even more elo ahead with a lot of search patches, and its still arent feel quit right about calling it separate engine (in readme and on a github i still call it "highly advanced fork" or smth like that).

But well, i`m having fun with running matches with Drofa and improving somewhat my overall bad coding skills, and this was the main goal.