Is cloning a hobby?

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Rein Halbersma
Posts: 689
Joined: Tue May 22, 2007 9:13 am

Re: Is cloning a hobby?

Post by Rein Halbersma » Tue Sep 08, 2020 7:38 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 used to be possible in the old days (pre ~2015) to clone + add a few new tricks and become #1 for a while. But IMO, the biggest contribution of SF is not the engine itself, but the culture of systematic testing at a massive, community-driven, scale. It's essentially the Linux software development model applied to computer chess. To be competitive, you need a similar scale and distributed approach (which Leela also has).

Kieren Pearson
Posts: 31
Joined: Tue Dec 31, 2019 1:52 am
Full name: Kieren Pearson

Re: Is cloning a hobby?

Post by Kieren Pearson » Wed Sep 09, 2020 12:00 pm

I think personally, its OK for someone to use someone's code, but very not OK for them to claim the work is their own. In this case, the code does look very much copied from Olithink. Even if its not a direct copy-paste, having the code open while writing your own would still count as plagiarism if you don't disclose you did as such.

I don't think there's anything wrong with this as long as the other person involved released their code and acknowledged that their engine is derived from the olithink code.

Are clones currently allowed on the CCRL leaderboards? It would be a shame if they were.

Terje
Posts: 225
Joined: Tue Nov 19, 2019 3:34 am
Location: https://github.com/TerjeKir/weiss
Full name: Terje Kirstihagen

Re: Is cloning a hobby?

Post by Terje » Wed Sep 09, 2020 12:50 pm

Kieren Pearson wrote:
Wed Sep 09, 2020 12:00 pm
I think personally, its OK for someone to use someone's code, but very not OK for them to claim the work is their own. In this case, the code does look very much copied from Olithink. Even if its not a direct copy-paste, having the code open while writing your own would still count as plagiarism if you don't disclose you did as such.

I don't think there's anything wrong with this as long as the other person involved released their code and acknowledged that their engine is derived from the olithink code.

Are clones currently allowed on the CCRL leaderboards? It would be a shame if they were.
Houdini is still there so one would have to assume they are allowed sadly.

Kieren Pearson
Posts: 31
Joined: Tue Dec 31, 2019 1:52 am
Full name: Kieren Pearson

Re: Is cloning a hobby?

Post by Kieren Pearson » Wed Sep 09, 2020 2:51 pm

Houdini is a particularly high profile case so I can understand they might be hesitant to get involved in the politics and instead just display it on the leader-board and allow people themselves to make a judgement. It still doesn't feel right to me anyone could make a SF clone, weaken it a bit and get on the top 20 of CCRL.

User avatar
hgm
Posts: 24730
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Is cloning a hobby?

Post by hgm » Wed Sep 09, 2020 5:00 pm

Houdini is not really a clone, but a significantly impoved derivative. From an engine POV it is interesting to know how strong it is. That it is an illegal infringement on copyrights... Wel, that is just a matter of policy.

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

Re: Is cloning a hobby?

Post by Dann Corbit » Wed Sep 09, 2020 5:08 pm

Kieren Pearson wrote:
Wed Sep 09, 2020 12:00 pm
I think personally, its OK for someone to use someone's code, but very not OK for them to claim the work is their own. In this case, the code does look very much copied from Olithink. Even if its not a direct copy-paste, having the code open while writing your own would still count as plagiarism if you don't disclose you did as such.

I don't think there's anything wrong with this as long as the other person involved released their code and acknowledged that their engine is derived from the olithink code.

Are clones currently allowed on the CCRL leaderboards? It would be a shame if they were.
Using someone else's code is fine if you follow all license agreements and copyright rules. In many cases it is simple:
Public Domain license: Even attributions are not necessary
BSD license: Mention that you used it
GPL license: New project must be GPL
etc.

Some are not so simple. A program with ordinary copyright and no other specific license would require written permission from the author to use the code (other than fair use, which is to use a small snippet and give attribution).
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: 488
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 » Wed Sep 09, 2020 9:00 pm

Kieren Pearson wrote:
Wed Sep 09, 2020 2:51 pm
Houdini is a particularly high profile case so I can understand they might be hesitant to get involved in the politics and instead just display it on the leader-board and allow people themselves to make a judgement. It still doesn't feel right to me anyone could make a SF clone, weaken it a bit and get on the top 20 of CCRL.
This is my point! There is Glaurung 2.2 on #88 and nobody ever can tell me the fairy tale of 87 engines/developers better than Glaurung and Tord Romstadt.
Never ever. It's a lie.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

User avatar
mvanthoor
Posts: 319
Joined: Wed Jul 03, 2019 2:42 pm
Full name: Marcel Vanthoor

Re: Is cloning a hobby?

Post by mvanthoor » Thu Sep 10, 2020 9:54 am

Personally I dislike cloning. However, it is the downside of engines being open source.

In the 70's to the early 2000's, each programmer had his own engine. While they would (probably) talk about idea's, they'd (probably) never exchange code. Chess engines were quite big competition, and the best chess programmers could make a living out of them. Some programmers from that time are of almost legendary status... Dan and Kate Spracklen, Richard Lang, Ed Schröder, Frans Morsch, Johan de Koning, Dave Kittinger, Julio Kaplan... those are the ones that come to mind for me (in no particular order).

Now that so many engines are open source, everybody knows everything, everywhere. Look at how fast the NNUE-networks are spreading to other engines. In the end, there is no point NOT having such a network, because if you don't, you'll be 80-100 ELO behind an engine that does, all things being equal. Even if engines don't start out as clones, they might grow so close to one another that they could actually become twin brothers.

It's one of the reasons why I didn't want to write my first (ok... second... if I count my very first lame duck engine from the 90's too) in C. If people are going to use the code in this engine (if...), then they'd better also write their engine in Rust, or retype the entire thing themselves in the language they're using, making adjustments as they go.

And, me writing the engine in Rust is also the reason that development doesn't go at a blazing speed. I'm still discovering better to do things better in Rust than I did before, and sometimes, a feature gets added which makes it worthwhile to change or even rewrite parts of the code I already have. Sometimes I don't even know HOW to do something in Rust, and have to research it and possibly try different approaches. The perils of programming in a new(ish) language...

However, in the end, it gains me one thing, which in this case is very important to me. I can say: *THIS* is *MY* chess engine, for better or worse. Even if it does use idea's that have been around for 50 years, the code will be written by me, every single line of it. (Until someone decides to fork the engine, add something, and submit a pull request... if that ever happens.)

User avatar
MikeB
Posts: 4358
Joined: Thu Mar 09, 2006 5:34 am
Location: Pen Argyl, Pennsylvania

Re: Is cloning a hobby?

Post by MikeB » Fri Sep 11, 2020 10:44 pm

OliverBr wrote:
Wed Sep 09, 2020 9:00 pm
Kieren Pearson wrote:
Wed Sep 09, 2020 2:51 pm
Houdini is a particularly high profile case so I can understand they might be hesitant to get involved in the politics and instead just display it on the leader-board and allow people themselves to make a judgement. It still doesn't feel right to me anyone could make a SF clone, weaken it a bit and get on the top 20 of CCRL.
This is my point! There is Glaurung 2.2 on #88 and nobody ever can tell me the fairy tale of 87 engines/developers better than Glaurung and Tord Romstadt.
Never ever. It's a lie.
I think of Stockfish as Glaurung and it's still at the top , G2.2 is just a very old version of SF. Or to be more accurate Stockfish is a derivative of Glaurung. When you go on Github, the very first commit for Stockfish was the import of Glaurung 2.1.

FWIW, I have no issue with them showing Glaurung separately, indeed, quite the opposite, I support that decision.

https://github.com/MichaelB7/Stockfish/ ... nch=master
<scroll to the bottom to see commit #1>
Image

OliverBr
Posts: 488
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 » Fri Sep 11, 2020 10:50 pm

MikeB wrote:
Fri Sep 11, 2020 10:44 pm
I think of Stockfish as Glaurung and it's still at the top , G2.2 is just a very old version of SF. Or to be more accurate Stockfish is a derivative of Glaurung. When you go on Github, the very first commit for Stockfish was the import of Glaurung 2.1.

FWIW, I have no issue with them showing Glaurung separately, indeed, quite the opposite, I support that decision.
Of course we support that decision. Glaurung and its derivative Stockfish are amazing and unique.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink

Post Reply