Creating a spoon of TSCP181

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Creating a spoon of TSCP181

Post by Michael Sherwin »

I'm too old to start a chess engine from scratch. And my own engines are not a simple enough starting point for a spoon. So I have started a spoon of TSCP181 by Tom Kerrigan. What is spooning? I think that I just made it up. Anyway, spooning is starting with someone else's source code and over time spooning out their code and spooning in original code while keeping a working 'framework'. It is not a fork because nothing of the original code will remain. During the spooning process the new engine will be open source. When the spooning is complete then I may or may not keep the engine open source. The final spoon though will be open source and it will have a different kind of license. The license will state that anyone will be able to use the new engine as the basis for their own engine. They must increase the playing strength by at least 100 elo before they can release it. They must keep their changes closed source. And they must acknowledge that it started as the spooned engine.

What are the thoughts about this process?
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Creating a spoon of TSCP181

Post by Ras »

Michael Sherwin wrote: Sat Mar 09, 2019 10:03 pmWhat are the thoughts about this process?
1. Given TSCP's licence, it sounds pretty much like a copyright infringement.

2. You cannot re-licence a derived work.

3. It is still a fork, technically.

4. You already have an engine up and running that is 700 Elo above TSCP, so what's the point? Why not use that as framework?
Rasmus Althoff
https://www.ct800.net
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Creating a spoon of TSCP181

Post by Michael Sherwin »

Ras wrote: Sat Mar 09, 2019 10:54 pm
Michael Sherwin wrote: Sat Mar 09, 2019 10:03 pmWhat are the thoughts about this process?
1. Given TSCP's licence, it sounds pretty much like a copyright infringement.
I intend on getting permission from Tom for the interim steps
2. You cannot re-licence a derived work.
"nothing of the original code will remain"
3. It is still a fork, technically.
until all the code is replaced?
4. You already have an engine up and running that is 700 Elo above TSCP, so what's the point? Why not use that as framework?
"my own engines are not a simple enough starting point"
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
supersharp77
Posts: 1242
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: Creating a spoon of TSCP181

Post by supersharp77 »

Michael Sherwin wrote: Sat Mar 09, 2019 10:03 pm I'm too old to start a chess engine from scratch. And my own engines are not a simple enough starting point for a spoon. So I have started a spoon of TSCP181 by Tom Kerrigan. What is spooning? I think that I just made it up. Anyway, spooning is starting with someone else's source code and over time spooning out their code and spooning in original code while keeping a working 'framework'. It is not a fork because nothing of the original code will remain. During the spooning process the new engine will be open source. When the spooning is complete then I may or may not keep the engine open source. The final spoon though will be open source and it will have a different kind of license. The license will state that anyone will be able to use the new engine as the basis for their own engine. They must increase the playing strength by at least 100 elo before they can release it. They must keep their changes closed source. And they must acknowledge that it started as the spooned engine.

What are the thoughts about this process?
Interesting concept....there must be at least 10-30 engines out there based on TSCP.....I've tried tscp null, tscp rebel tscp JA Typhoon..etc.....most of them play the same/similar to the original you say 700 elo stronger? Wow! :D :wink:
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Creating a spoon of TSCP181

Post by Michael Sherwin »

supersharp77 wrote: Sun Mar 10, 2019 1:37 am
Michael Sherwin wrote: Sat Mar 09, 2019 10:03 pm I'm too old to start a chess engine from scratch. And my own engines are not a simple enough starting point for a spoon. So I have started a spoon of TSCP181 by Tom Kerrigan. What is spooning? I think that I just made it up. Anyway, spooning is starting with someone else's source code and over time spooning out their code and spooning in original code while keeping a working 'framework'. It is not a fork because nothing of the original code will remain. During the spooning process the new engine will be open source. When the spooning is complete then I may or may not keep the engine open source. The final spoon though will be open source and it will have a different kind of license. The license will state that anyone will be able to use the new engine as the basis for their own engine. They must increase the playing strength by at least 100 elo before they can release it. They must keep their changes closed source. And they must acknowledge that it started as the spooned engine.

What are the thoughts about this process?
Interesting concept....there must be at least 10-30 engines out there based on TSCP.....I've tried tscp null, tscp rebel tscp JA Typhoon..etc.....most of them play the same/similar to the original you say 700 elo stronger? Wow! :D :wink:
Interesting concept
Thank you. :D Though I might be a bit confused, :? . My engine RomiChess is ~700 elo stronger than TSCP181 but has nothing to do with TSCP. Well except, http://www.tckerrigan.com/Chess/TSCP/Co ... 81_mjs.zip has a similar bitboard move generator. That's because I programmed it as a simple bitboard move generator example.

Anyone that is familiar with my various sources know that they are very original. And even though I might start off with TSCP what I end up with won't be anything like TSCP. The only reason I'm starting with TSCP is so I always have a working engine during development. :D
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
PK
Posts: 893
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Re: Creating a spoon of TSCP181

Post by PK »

To avoid problems with spooning a non-free engine, I might be tempted to create a very basic bitboard engine. Interested?
mkchan
Posts: 88
Joined: Thu Oct 06, 2016 9:17 pm
Location: India

Re: Creating a spoon of TSCP181

Post by mkchan »

I'm here to shamelessly advertise my engine Teki: https://github.com/Mk-Chan/Teki

It is MIT based (the lc0nn branch is GPL) and is meant to be a simple bitboard engine. Do take a look at the code to see if it suits you and feel free to *spoon* it.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Creating a spoon of TSCP181

Post by Michael Sherwin »

PK wrote: Mon Mar 11, 2019 8:42 am To avoid problems with spooning a non-free engine, I might be tempted to create a very basic bitboard engine. Interested?
Yes I would be interested and I think others would be interested also. :D
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Creating a spoon of TSCP181

Post by Michael Sherwin »

mkchan wrote: Mon Mar 11, 2019 9:22 am I'm here to shamelessly advertise my engine Teki: https://github.com/Mk-Chan/Teki

It is MIT based (the lc0nn branch is GPL) and is meant to be a simple bitboard engine. Do take a look at the code to see if it suits you and feel free to *spoon* it.
I will take a look! :D

However, the experiment that I want to do is better done by using a very fast lookup move generator like GNUChess4 with jump tables done in assembler. I do not need bitboard because there will be no evaluation function of any kind. Not even pst. All I really want is a simple mailbox engine that I can spoon.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
Dann Corbit
Posts: 12537
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Creating a spoon of TSCP181

Post by Dann Corbit »

Michael Sherwin wrote: Sat Mar 09, 2019 10:03 pm I'm too old to start a chess engine from scratch. And my own engines are not a simple enough starting point for a spoon. So I have started a spoon of TSCP181 by Tom Kerrigan. What is spooning? I think that I just made it up. Anyway, spooning is starting with someone else's source code and over time spooning out their code and spooning in original code while keeping a working 'framework'. It is not a fork because nothing of the original code will remain. During the spooning process the new engine will be open source. When the spooning is complete then I may or may not keep the engine open source. The final spoon though will be open source and it will have a different kind of license. The license will state that anyone will be able to use the new engine as the basis for their own engine. They must increase the playing strength by at least 100 elo before they can release it. They must keep their changes closed source. And they must acknowledge that it started as the spooned engine.

What are the thoughts about this process?
TSCP is a bad choice.
It is full of globals that make a SMP version difficult.
I would suggest a different engine as a starting point.
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.