And Stockfish started as a derivative of Glaurung.Tony P. wrote: ↑Mon Sep 28, 2020 7:54 pm Therefore, the new lc0 repo falls into the category 'derived from SF but original at code level in the meantime'. Leela is an example of an honest derivative that has been playing a fully original style in all its releases. The fact that none other than one of the TCEC superfinalists started as the other's fork is another reason why I don't consider the 'derivative' status shameful a priori.
Re-activation Programmer Code of Honor
Moderators: hgm, Rebel, chrisw
-
- Posts: 512
- Joined: Tue Sep 29, 2020 4:29 pm
- Location: Dublin, Ireland
- Full name: Madeleine Birchfield
Re: Re-activation Programmer Code of Honor
-
- Posts: 512
- Joined: Tue Sep 29, 2020 4:29 pm
- Location: Dublin, Ireland
- Full name: Madeleine Birchfield
Re: Re-activation Programmer Code of Honor
Part of the issue is that TCEC has so much prestige in the computer chess community, and TCEC is the one tournament with engine uniqueness rules. The solution to this issue is to make TCEC invite only, instead of inventing arbitrary uniqueness rules.Rebel wrote: ↑Tue Sep 29, 2020 7:58 pm The paradox we are in is that the community more or less has decided that coping code is the death penalty and that copying ideas is free while the truth is that the real elo is in the ideas, the novelty. Living in this paradox we try to find reasonable rules. The perfect does not exist.
The other part of the issue is that the computer chess community seems to be stuck in the 1990s where most engines are closed source, while most engines today are open source. Engine uniqueness questions is really only a problem with closed source, as most open source engines share a GPL license or similar and give credit where credit is due. Closed source engines should be held at a much higher standard of uniqueness than open source engines in my opinion, because of the terms of the GPL license.
-
- Posts: 1784
- Joined: Wed Jul 03, 2019 4:42 pm
- Location: Netherlands
- Full name: Marcel Vanthoor
Re: Re-activation Programmer Code of Honor
The problem is that there are no 'real' reasons anymore to write your own alpha/beta-engine. It has been done before, countless times. There's no money in chess engines anymore, except for very few people. The only reason to buy a chess program nowadays (such as Fritz 17) is because of the GUI, not because of the engine.Madeleine Birchfield wrote: ↑Wed Sep 30, 2020 4:03 pm Part of the issue is that TCEC has so much prestige in the computer chess community, and TCEC is the one tournament with engine uniqueness rules. The solution to this issue is to make TCEC invite only, instead of inventing arbitrary uniqueness rules.
The other part of the issue is that the computer chess community seems to be stuck in the 1990s where most engines are closed source, while most engines today are open source. Engine uniqueness questions is really only a problem with closed source, as most open source engines share a GPL license or similar and give credit where credit is due. Closed source engines should be held at a much higher standard of uniqueness than open source engines in my opinion, because of the terms of the GPL license.
The only reason left is that you write one because you want to have your own engine. If that is the case, you should write it yourself, from scratch.
People who do this, take pleasure in improving their creation. They do it because they like to write code, and a chess engine is an ongoing project that can last for years, and be measurably improved. Often, they want to compete / play matches against other engines that are around the same level of development so they can see and measure their own improvement; they discuss things with the other authors, and then improve their engines by implementing new functions and concepts.
I'm not saying everyone has to invent the wheel for himself as if it's 1981 again. I don't. People who want to write their OWN engine, can still study concepts, but then write their OWN (*) code; I do so. I read about king saftey, about piece mobility, about search techniques... and then I'm going to try to build those things into my engine WITHOUT looking at code in other engines.
If you get it to work and the engine performs better now, against the same list of opponents, then that brings satisfaction; at least to me. The engine has improved, and it did so by newly written code.
If you are testing against / competing against an engine at the same level, and then suddenly your opponent tests 800 Elo stronger the next week, it's like competing in a sporting event where one or more of your opponents took performance enhancing drugs. That's not fun anymore.
(*) The only code I'm probably not going to write myself is endgame TB access. That's "just" database access, and I have no interest in writing code like that. I do that for work half of the time already. I'll happily wrap either Fanthom or Phyrric in my own class, and thank the developers of said code profusely so I don't have to write code I have completely no interest in. The only reason to actually implement it is because other engines have it as well; and in the hopes that I can someday start using my own engine to analyze games. (Chessbase has TB-access in the GUI as well, but it doesn't seem to work with all engines. I don't know why. Probably, engines that implement their own are exempted or something.)
-
- Posts: 2645
- Joined: Wed Mar 10, 2010 10:18 pm
- Location: Hamburg, Germany
- Full name: Srdja Matovic
Re: Re-activation Programmer Code of Honor
Hmm, so I realize that clause 2. is already a matter of the signers interpretation, so adding another clause like
"I obey to given civil and criminal law and won't steal private code or use stolen code for any analysis."
is pretty pointless, right? Ed, Andrew?
Code of Honor? Maybe start with some more fundamental basics?
Are binaries taboo? Is private code taboo?
Unless you respect that your code of whatever is just a piece of paper to ensure your clean sheet while you are free to do whatever you want.
--
Srdja
PS: I just got into some Houdini posts from the EO subforum, maybe I am bit upset?
"I obey to given civil and criminal law and won't steal private code or use stolen code for any analysis."
is pretty pointless, right? Ed, Andrew?
Code of Honor? Maybe start with some more fundamental basics?
Are binaries taboo? Is private code taboo?
Unless you respect that your code of whatever is just a piece of paper to ensure your clean sheet while you are free to do whatever you want.
--
Srdja
PS: I just got into some Houdini posts from the EO subforum, maybe I am bit upset?
-
- Posts: 18749
- Joined: Thu Mar 09, 2006 6:40 pm
- Location: US of Europe, germany
- Full name: Thorsten Czub
Re: Re-activation Programmer Code of Honor
One reason I almost do no computerchess on PCs anymore is that computer chess engines are almost all similar.
They have a different name, the programmer is from a different country, but the engines do play very similar.
They come massively deep and reach 2500-3000 ELO but they play boring machine chess and have no artificial intelligence approach.
The only engine that makes fun to watch is LC0 games.
So I do have arround 6-10 pcs, but none of them runs chess anymore,
They have a different name, the programmer is from a different country, but the engines do play very similar.
They come massively deep and reach 2500-3000 ELO but they play boring machine chess and have no artificial intelligence approach.
The only engine that makes fun to watch is LC0 games.
So I do have arround 6-10 pcs, but none of them runs chess anymore,
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....
Here we have a fairy tale of the day after tomorrow....
-
- Posts: 6991
- Joined: Thu Aug 18, 2011 12:04 pm
Re: Re-activation Programmer Code of Honor
Upset of what? That people paid for Stockfish 7?smatovic wrote: ↑Thu Oct 01, 2020 1:32 pm Hmm, so I realize that clause 2. is already a matter of the signers interpretation, so adding another clause like
"I obey to given civil and criminal law and won't steal private code or use stolen code for any analysis."
is pretty pointless, right? Ed, Andrew?
Code of Honor? Maybe start with some more fundamental basics?
Are binaries taboo? Is private code taboo?
Unless you respect that your code of whatever is just a piece of paper to ensure your clean sheet while you are free to do whatever you want.
--
Srdja
PS: I just got into some Houdini posts from the EO subforum, maybe I am bit upset?
90% of coding is debugging, the other 10% is writing bugs.
-
- Posts: 2645
- Joined: Wed Mar 10, 2010 10:18 pm
- Location: Hamburg, Germany
- Full name: Srdja Matovic
Re: Re-activation Programmer Code of Honor
Hehe, the methods of the Inquisition in the EO Houdini thread...Rebel wrote: ↑Thu Oct 01, 2020 4:25 pmUpset of what? That people paid for Stockfish 7?smatovic wrote: ↑Thu Oct 01, 2020 1:32 pm Hmm, so I realize that clause 2. is already a matter of the signers interpretation, so adding another clause like
"I obey to given civil and criminal law and won't steal private code or use stolen code for any analysis."
is pretty pointless, right? Ed, Andrew?
Code of Honor? Maybe start with some more fundamental basics?
Are binaries taboo? Is private code taboo?
Unless you respect that your code of whatever is just a piece of paper to ensure your clean sheet while you are free to do whatever you want.
--
Srdja
PS: I just got into some Houdini posts from the EO subforum, maybe I am bit upset?
--
Srdja
-
- Posts: 2645
- Joined: Wed Mar 10, 2010 10:18 pm
- Location: Hamburg, Germany
- Full name: Srdja Matovic
Re: Re-activation Programmer Code of Honor
Just for the record, not interested to engage any further on this topic, those interested can judge by themselves while looking into the EO Houdini thread....smatovic wrote: ↑Thu Oct 01, 2020 6:24 pmHehe, the methods of the Inquisition in the EO Houdini thread...Rebel wrote: ↑Thu Oct 01, 2020 4:25 pmUpset of what? That people paid for Stockfish 7?smatovic wrote: ↑Thu Oct 01, 2020 1:32 pm Hmm, so I realize that clause 2. is already a matter of the signers interpretation, so adding another clause like
"I obey to given civil and criminal law and won't steal private code or use stolen code for any analysis."
is pretty pointless, right? Ed, Andrew?
Code of Honor? Maybe start with some more fundamental basics?
Are binaries taboo? Is private code taboo?
Unless you respect that your code of whatever is just a piece of paper to ensure your clean sheet while you are free to do whatever you want.
--
Srdja
PS: I just got into some Houdini posts from the EO subforum, maybe I am bit upset?
--
Srdja
--
Srdja
-
- Posts: 491
- Joined: Sat Mar 02, 2013 11:31 pm
Re: Re-activation Programmer Code of Honor
I submitted Sapeli to the list too.
When I developed the move generator I generated my own magic numbers. I could have grabbed them from SF.
I use all the old stuff: Magic bitboards, AB-search, QSearch, IID, LMR, Evaluation ... All found in 1,000,000 other engines.
But there are still lots of innovations through evolution of the program.
When I developed the move generator I generated my own magic numbers. I could have grabbed them from SF.
I use all the old stuff: Magic bitboards, AB-search, QSearch, IID, LMR, Evaluation ... All found in 1,000,000 other engines.
But there are still lots of innovations through evolution of the program.
-
- Posts: 216
- Joined: Sun Jan 22, 2017 8:30 pm
- Location: Russia
Re: Re-activation Programmer Code of Honor
I think Syzygybases fall under the category 'widely recognized, standard, and present in the chess programming Wiki.' Attribution is obv required for Fathom/Pyrrhic as per the MIT license, but they hardly taint originality, esp because the TBs are shared by engines in competitions like TCEC and rating lists, and if every engine had its own TB, they'd clutter the disks and double the cache use.mvanthoor wrote: ↑Wed Sep 30, 2020 4:19 pm The only code I'm probably not going to write myself is endgame TB access. That's "just" database access, and I have no interest in writing code like that. I do that for work half of the time already. I'll happily wrap either Fanthom or Phyrric in my own class, and thank the developers of said code profusely so I don't have to write code I have completely no interest in.