Programmer Code of Honor
 
 
 
is an original work.
is derived from ..... (fill in below).
is derived from ..... but original at code level in the meantime.
is inspired by ..... but original at code level.
 
 
I agree
 
 

Dear chess programmer,

We like to introduce a programmer code, a pledge to be transparent about the origin of your chess engine and ask you to subscribe via this form in case you agree.

We will maintain a list on this page of chess programmers who subscribed to the code.

Your email address will be held strictly confidential and only used for verification purposes in case there is doubt on your identity.

Thanks so much for your support of this initiative.

Ed Schröder
June 13, 2012


___________________________________________________


Due to the recent turbulence regarding Houdini and Fire I re-activate the Programmer Code of Honor giving the new generation of chess programmers the possibility to present their engines and subscribe to the principles of fair competition as stipulated on this page.


Thanks so much for your attention.


Ed Schröder
September 25, 2020

 List of programmers who subscribed to the code

Name

Program(s)

Status

Your comments

1

Ed Schröder

Original

Started in 1980 in BASIC with DIM B(64) creating an array for a chess board and did not know how to proceed.

2

Julien Marcel

Original

Numerous ideas taken from books, CCC forum, Bruce Moreland's website and CPW wiki.

3

Reinhard Scharnagl

Original

Some ideas might be inspired be reading chess and AI literature.

4

Lucas Braesch

Inspired

Inspirations from: Fruit, Stockfish, Umko. Details in source code comments.

5

Heiner Marxen

Chest

Original

I did not record where I picked up ideas. I never picked up (copied) any code.

6

Roberto Munter

Derivative

Derived from Ippolit series, but in the meantime I have changed many parts and added other code and original ideas.

7

Miguel A. Ballicora

Original

8

Dan Honeycutt

Original

I document where stuff came from in the program comments rather than the readme. I have most of them but I won't swear that I  have them all. Bruja is source on request and Cupcake is open source so anyone interested in originality can check for themselves.

9

Charles Roberson

Original

The inspiration comes from several books. AI books: Artificial Intelligence by Patrick Henry Winston; The Handbook of Artificial Intelligence by Barr, Figenbaum & Cohen; The Art of Computer Programming by Knuth; various ICGA publications, and more.

Numerous conversations with others in the field

including Bob Hyatt, Brian Richardson, James Swafford,

Vincent Diepeveen, Gian-Carlo Pascutto, Shay Bushinsky,

Amir Ban, GM Boris Alterman, Andrew Williams, James

Robertson, Rudolf Huber, Stefan Meyer-Kahlen, GM

Sergey Kudrin and many more.

10

 Marcel van Kervinck

Original

I find it difficult to extract concepts from just looking at code, which is why I hardly ever do that. In the meantime, I see nothing wrong with allowing others to reuse open source game playing code in tournaments as long as

1. sufficient differentiation is demonstrated, and

2. equal attribution is given to the original authors (even if modified). Additional permission would not be needed in case of GPL or BSD-style license. If such a program wins, then the prize and recognition should be shared with all contributors.

11

Gerd Isenberg

IsiChess

HansDamf

Original

12

Dan Homan

Original

Source code provided with my program under GPL. Many ideas from many places as described in readme.txt and in the individual source code files.  Many ideas come from the old rgcc, ccc, chess programming wiki, etc discussions.... some of these (usually specific ideas) are documented in the code, for others (usually common things, I think) the specific origin of the idea to me is lost in time (development on-and-off over 15 years).

13

Nicu Ionita

Original

The search is initial inspired from some ideas  from 

Stockfish. Many ideas from CCC forum and Chessprogramming Wiki. At code level absolutely new as it's written in Haskell.

14

Álvaro Begué

Original

Several ideas collected from the ICGA journal, and a couple from conversations with other programmers at WCCC events.

15

Yves Lejeail

Original

My engine is in VB.net.I started from scratch. Most of  the algorithms were from Bruce Moreland (alpha beta, 

quiescence,...). It take me years to tune the search in order to have a not too weak engine, although it is not very strong. LMR and NullMove seems to work, as well as extensions in  case of checks in the main search, and checks in the first plies of quiescence. I have not TT, but some kinds of History Tables which are depth

dependent. I tend to try original ideas but they usually 

don't work. I do not record very well the improvements between versions.

16

Richard Pijl

Original

17

Matthew Brades

FruitFly

Derivative

Derived from Fruit 2.1 - but I think this is public knowledge.

18

Thomas Petzke

Original

Written 100% from scratch, not using any public available code. Gaviota EG probing code was included temporarily to verify the internal node recognizer.

19

Steve Maughan

Original

Monarch is 100% original at the code level.  It really doesn't have anything special in it.  It's just a basic vanilla Alpha Beta with all the normal trimmings (killers, null move etc).

20

Aart Bik

Original

Many ideas obviously inspired by the chess literature, but all code is original (except Nalimov probing code which is used with permission of Eugene Nalimov and Andrew Kadatch).

21

Vlad Stamate

Original

My inspiration and knowledge came from Talkchess

discussions as well as ChessWiki and open source chess programs: crafty, stockfish, gnuchess, etc. I document all the sources of inspiration (no copied code) in the readme accompanying my engine.

22

Ben-Hur Carlos

Original

Many ideas taken from Stockfish, Sloopy, Robbo and Gull. The code is completely written by myself with the exception of MT (random number generator), Magic Move Generator (By Praddu), some optimized bitCount and bitScan code snipets.

23

Sune Fischer

Inspired

Frenzee is a rotated bitboard engine. Every single line of code is handwritten by me there is no copy/paste from any other source. I feel it is my design, my ideas, my engine. However, I have over the years looked at other programs, like Crafty, Beowulf, Phalanx and other such oldies.


If one were to look at the engine with the same scrutiny as was the case for Rybka then similarities would no doubt be detected. The move generator has something in common with Crafty, since it is a rotated incremental bitboard 

engine.

 

Many of the eval terms are also public knowledge. I  estimate that the original ideas in Frenzee probably amount to 100-200 points. The rest of its strength comes from implementing and tuning publicly known ideas or variations thereof such as PVS, nullmove, LMR, check extension, hashing and so forth.

24

Richard Allbert

Original

Jabba is written in C# - I've used many ideas from many 

other OS programs, as well as the CPW and the Talkchess forum extensively. I use them in thesame way I use for example www.cplusplus.com/reference/clibrary.


Heaviest influence came from Bruce Moreland's  programming pages, and the comments in the crafty code documentation.

My motivation is not engine strength - I derive most 
pleasure in writing engines from scratch that play a legal game with a few evaluation terms. See recent talkchess posts about C# performance!

 

Having a 2200 engine on FICS playing 1000's of games

is rewarding. My other reason is meeting people involved - such as at the CPT tournament hosted by Richard Pijl, or vis the online tournaments.

On my home computer I have many self-written engines
in pure C, C++, Java, C# and VB. This is why I release with source. Since I began in 2004, I've written many engine incarnations using Rotated BB, 0x88, Mailbox, Magic BB.

25

Will Singleton

Original

26

Engin Üstün

Original

its original from starting on, first using rotated bitboards, 

and later changed that with pradu's Magic Bitboards. Of course some ideas are inspired and took from other open sources too. own hard worked over many years ago, never copied any lines from other. but only the code of nalimov for tablebase access is included to the source with permission.

27

Jonatan Pettersson

Original

Written from scratch and has open source. A few instances of code inspired from other people's work (in particular SEE logic), but in those cases has  mentions of the originators.

28

Bálint Pfliegel

Portfish

WhiskySoda

Derivative

Portfish is the .Net port of Stockfish, so it is means to be an exact replica of Stockfish on the source level. Technically it employs solutions which are more natural or has to be formulated differently under .Net (object broker concept).

 

WhiskySoda is my original engine, it is heavily inspired by 

Stockfish/Portfish and GarboChess. Bitboard operations,

FEN parsing, randoms, polyglot book handling are taken

over from Portfish, search inspired by Garbo. It currently

has a very basic eval, I will definitely use a lot of

inspirations there from literature and other engines if there will be time to continue.

29

Steve Webber

Raptor

Original

30

Matthias Gemuh

BigLion
ArcBishop80

ChessGUI

Original

I looked at source code TSCP, ExChess, and Crafty before starting from scratch. Only other code seen again since then are code snippets in fora.

31

Steve Maughan

Original

My new engine based on magic bitboards and a novel move dictionary approach. It's 100% unique.

32

Thomas Mayer

Original

Most ideas inside, if not my own, were taken out of books,

inspired by discussions on several forums or the result of

conversations via eMail or directly at several computer

chess tournaments. There never was any code copying,

except the Nalimov access code and the code that is

responsible to capture commands while thinking (taken

from ExChess, Dan might remember the conversation

long ago - afaik he has taken that from Bob who got this

from Tim Mann, at least that is the info I have in mind)

33

Luca Lissandrello

Original

The book was created by Colin Frayn (Beowulf), I have just modified and extended. I had his permission.

34

Edsel Apostol

Sam Hamilton

Original

Hannibal is original at the source code level. Many of the

ideas are adapted from various open source engines and

the knowledge repositories like chess programming wiki,

and forums like CCC, and the Winboard forum. The only

non-original code in Hannibal is the set of hash keys

necessary for Polyglot book support.

35

Emilio Díaz

Derivative

Secondchess is derived from Pam Nguyen's firstchess. Its goal is to add a couple of features missing in firstchess (castle, ep) and some simple enhance in evaluation and search, and keep the original idea of firstchess of being a pedagogical tool for beginners.

36

Stan Arts

Neurosis

Stan's Chess

Original

My venture into chessprogramming started around the  year 2000 and has very much been from the ground  up/never left it. Starting with a 1, 2.. 3 and eventually 4 ply

nested loops pseudo legal mover. ..If you put it in check, it

might put you in check..too! And trade kings.

 

To Stan's chess. A buggy but working alpha/beta(ish)

program. To Neurosis. A slow but semi serious effort with

which atleast some points were won at the lower ends of

the rankings at OTB tournaments halfway the 2000-2010

decade. Entirely weak, strange and original but..don't tell

any of the strong proggie people..way more fun.

37

Andrés Manzanares

 

Original

Initially inspired by TSCP, but eventually completely  rewritten implementing my own design and ideas. Many  ideas taken from Talkchess, Chesswiki and various  open-source engines.

38

Michael Sherwin

Original

First taught myself to program in 80386 assembler and

wrote a completely table driven PERFT called Godzilla. Then made a chess program in C called Carnivor, while

teaching myself to program in C. Then decided to go

BITBOARD and wrote RomiChess completely from my own head except for a couple of utility routines I got from Crafty and basic Alpha-Beta from books. I believe that it was Charles Roberson that said, RomiChess was the most original chess program that he had seen in a very long time.

39

Joost Buijs

Original

The first version of Nightmare was written in assembler for the 8080 processor during the fall of 1977 and the spring of 1978. It was mainly inspired by the book 'Chess Skill in Man and Machine' by P.W. Frey and by the book 'The Heuristic Programming Approach' by J.R. Slagle.

 

The current v7.8x is a modern bitboard oriented engine, it is entirely written from scratch although the magic code is derived from Pradu Kannan's work and the Nalimov tablebasecode is used with permission from Eugene Nalimov and Andrew Kadatch.

 

Nightmare is Windows only, it has an incomplete UCI

implementation with most things hard coded, this is the main reason why I never cared to release it. I hope to address this weakness in the upcoming version 8.0 which is partly finished.

40

Pawel Koziol

Derivative

Rodent is a GPL program, started from codebase of

Sungorus by Pablo Vazquez. It uses ideas from Fruit (eval, via Toga Log User Manual), Stockfish (some search parameters, most notably LMR reduction size) DiscoCheck, (hanging pieces eval), Crafty (material imbalance table) and a couple of others, mentioned in comments.

 

What I consider original is some work on evaluation

function (pawn chains etc.), but it has been inspired by CCC posts of Lyudmil Tsvetkov and Carl Langan.

 

My goal is *not* to create an original engine to enter

competitions, but to give end users the opportunity to change engine's playing style and strength.

41

Steven Edwards

Original

My C++ program Symbolic is entirely original other than

parts derived from my earlier original programs. While the Symbolic source is private, I have released sections of it for others to use. I also have released the full source of my ANSI C tablebase generator, my ANSI C SANKit, my Pascal program CookieCat, my C++ Audrino program Myopic and my Common Lisp CIL Chess In Lisp program. These are all original works with no source copied from any other author.


I give credit for some ideas to Slate and Atkin for their on their Chess 4.x program and to Wilkins for his Paradise program.

42

Stefano Gemma

Satana

Original

I've other chess engine: Drago, Raffaela and Freccia, all original works.

43

Fabio Gobbato

Original

Many ideas find in chessprogramming and forums.

44

Roland Stuckardt

Original

New

Entries

Since

September 25, 2020

45

Marcel Vanthoor

Original

This engine is completely original from scratch in the Rust Programming Language, but it uses many well-known concepts.


One idea though, is taken straight from VICE, by Bluefever Software: updating castling permissions in make_move by using a pre-filled array that substracts permissions on moving the king or one of the rooks..

46

Tony Soares

Derivative

This engine is based on VICE, I started making modifications to the 1.0 version, added magic bitboard and many search and eval features, still had the same name but it was private, that was ~2013, then in 2016 I started with the code base from VICE 1.0 but with just plain alphabeta(no null move, no tt, etc..) and PSQT from CPW for the eval, magic bitboard, still there are many thing from VICE in the code, sure there will be some refactoring to get better/fast code

47

Vivien Clauzon

Inspired

Inspired by -- but original at code level -- Stockfish, Rubi, Xiphos, Ethereal, Texel, Winter, Topple, Demolito, Defenchess, Amoeba, Arasan, and probably many others.
I do this for fun and learning about chess programming.

48

Ian Kennedy

Original

Originally written pre-internet in early 90s. No other source has been consulted. Mostly written based on the Computer Chess Compendium book and the Donninger ICCA journal article on PVS.

49

Andrew Grant

Inspired

Inspired by -- but original at code level -- the many open-source giants in chess programming, Ethereal aims to refine existing ideas into a well documented educational tool.


If an idea in Ethereal is too similar to an idea in another engine, I will always aim to update and provide full acknowledgment of the origins.

50

David Carteau

Original

Orion is a 100% original work with one notable exception : v0.7 uses the Syzygy support library provided by Jon Dart (https://github.com/jdart1/Fathom).


All implemented concepts are well-known and not specific to any engines. Orion has also for particularity to use a legal move generator, which does not seem to be widely the case.


Note that StockFish's evaluation outputs are used since Orion v0.4 as targets to tune the engine evaluation parameters.


A big thank you to Jonatan Pettersson (http://mediocrechess.blogspot.com/) and Thomas Petzke (http://macechess.blogspot.com/), authors of Mediocre and iCE, for having shared their passion and thoughts on their respective blogs !

51

Terje Kirstihagen

Derivative

Comments: Weiss is written using VICE as a base, and otherwise inspired mainly by Ethereal and Stockfish.


Originally a fork, there is at this point hardly any VICE code left.

52

Maksim Korzh

Inspired

Inspired by VICE I'm now developing my own engine covered in YouTube series.

53

Richard Delorme

Original

I pick up ideas from the chess programming wiki, original articles, and from talkchess discussion. I then do my own implementation in the D language. I probably use too many ideas from other people to mention them all, so I mention none.

54

Ronald Friederich

Inspired

Written from scratch, original at the code level, with the exception of the fathom library. First inspiration was Van den Herik's thesis in the 80's on computer chess. Concrete inspiration from Stockfish, Maverick, Xiphos, Ethereal, Crafty and others, the Rebel website, CSVN and CCRL/other rating sites.

55

Steve Griffin

Original

I wrote Raven with a lot of help from the ##chessprogramming IRC channel on freenode, the Chess Programming Wiki, and studying how other engines implented ideas. Some parts of the source (e.g king safety table, endgames with 5 or fewer pieces) were provided by other engine authors and are used with their express permission. I also use a library for magic move generation which is fully credited to its author according to the license in the source code.

56

Fabian von der Warth

Inspired

FabChess - while written from scratch - has been inspired very much by all the great ideas and information contained in the chess programming wiki and other open source engines such as Ethereal, Asymptote and Weiss.

57

Morgan Houppin

Inspired

Started in November 2019 from scratch, I implemented Stockfish's bitboard representation three months later. Search techniques inspired by Stockfish, Fruit and Strelka.

58

Eugene Kotlov

Original

Just a hobby.

59

Daniel Anulliero

Derivative

Isa si derived from Pham Nguyen's FirstChess. I've learned and added many things from Cpw , Bruce, pages , and with the help from the Ccc forum.

60

Toni Helminen

Original

Sapeli is 100% original. Even magics are generated not copied. It is written for speed. I have different code for White/Black for branch prediction reasons. That obviously has affected the overall design of the program. The main focus was making Sapeli a nice little Linux/Unix program that works without much fuss. But at least it's unique.

61

Bob Hyatt

Original

This has always been the way I have worked on CC.

62

Connor W McMonigle

Original

Seer is written completely from scratch. The numerous search heuristics implemented in Seer originate, primarily, from the chess programming wiki. A few other ideas are the result of experimentation with variants of search heuristics found in several top engines.

63

Alcides Schulz

Inspired

Inspired by many open source engines but original at code level.

64

Ofek Shochat

Inspired

Alpha zero abd lc0 methods, but with a hybrid search and no bits of code is derived off of it.

65

Adam Treat

Inspired

Allie is original except for including Ankan's GPU NN backend which originated in the Lc0 project, Fathom for TB, and magic bitboards from Andrew Grant/Ethereal. She was heavily inspired by the A0, Lc0, and Ethereal chess engines.

66

Colin Jenkins

Inspired

A hand-coded Javascript chess engine inspired by Fabien Letouzey's Fruit 2.1.

67

Andreas Matthies

Inspired

Started completely from scratch. In the history of development I got inspired by
- ideas from Vice video tutorials
- implementations of several ideas in Olithink, Laser, Ethereal, Stockfish
- following the patches tested at Fishtest and OpenBench


Parts of NNUE evaluation code implementation (the parts using SIMD instructions) were taken by Cfish.


NNUE nets were (so far) trained using a modified Nodchip/SF trainer binary running on training data generated with RubiChess.


Every engines I took code snippets from is licensed under GPLv3 as RubiChess is.

68

Amanj Sherwany

Original

Original? Inspired by? I can't tell really, I read the Chess Programming Wiki, used many ideas from it, I have watched VICE videos, and looked into the source code of many open source projects. I am sure I have taken many ideas from many places.


And I can guarantee that I am too bad a chess programmer to come up with any novelty on my own!

69

Aryan

Inspired


70

Jeremy Wright

Inspired

I'm not an experienced chess programmer or even an experienced chess player. While I have written all of the code in Mantissa myself, almost all of the ideas contained within I've learned from the chess programming wiki or from reading the source of more mature engines. There is no specific engine that Mantissa is emulating, but there are no novel, revolutionary ideas to be found within her (yet). I hope one day to become experienced enough to give something new back to the chess programming community.


Mantissa is very much my work but I'm also very very much standing on the shoulders of giants. Wherever I use an idea that seems at all specific to an engine I've studied I try to give credit in the comments and the README and I will always strive to continue giving honest credit for the many cool ideas I've learned and tried to synthesize into Mantissa.

71

Thomas Jahn

Original

Leorik is written from scratch in C#. I try to implement ideas my own way as much as possible and I never look at the source code of other engines with the purpose of re implementing what I find.


But the ideas behind the implementations are mostly established practices taken from the cessprogramming wiki and the TalkChess forum and maybe even the occasional google result.

72

Elias Nilsson

Affinity Chess

Original

Some concepts are taken from other engines with permission. They will be re-written into completely own algorithms in future releases.

73

Alessandro Iavicoli

Original

Started in 2013 as hobby, it became soon an addiction. Written entirely from scratch. Currently is (in my knowledge) the only chess engine written in the Ada programming language. It implements many unique and original features, or existing features in an original way. AdaChess is the engine used to calculate the statistical data in the perft-result page in the chessprogramming wiki. Inspired by LaMoSca (an italian tutorial) and TSCP, later by Faile, Fruit, Glaurung. AdaChess is GPL, source available for free download.

74

Ernesto Torres

Derived

I hereby declare that the origin of my program is derived from Danasah 5.07 but original at code level in the meantime. Furthermore Nawito is inspired by Rebel, Fruit and the CPW.

75

Shaheryar Sohail

Inspired

StockNemo is a chess engine that is inspired by Stockfish. Though, nearly all of its code differs from Stockfish.

While a lot of features may be original ideas from other engine authors, the implementation is significantly different and original.

76