Matthias, with the respect you deserve for what you do for chess, I would give you here some informations I read in Naraku's forum
http://www.miroku79.info/blog/?page_id=88#comment-220
( I'm doing it, because as far as i see I'm the only italian speaking contributor, here, and some of the posts in there are in italian).
First of all I'm not trying to defend, neither to accuse, the author: IMHO, if there is a fault by him in taking parts of, he is not trying to hide it.
He plainly and clearly states, in a post:
" Io per imparare a sviluppare il motore di scacchi mi sono avvalso essenzialmente dello studio dei codici sorgenti di altri motori open source (in particolare la serie ippolit/ivanhoe, crafty, varie versioni di fruit, gull e in
piccola parte stockfish), di alcuni articoli universitari (lo scorso anno ho lavorato all’università la sapienza e ho avuto così la possibilità di accedere a parecchi articoli universitari), e di alcuni siti che trattano, seppure non in modo molto dettagliato, tutte le fasi della creazione di un motore scacchistico. All’inizio sembra molto complicato, ma analizzando i codici si notano parecchie analogie. Per esempio: gull usa una bitboard che è quasi
identica a quella della serie ippolit/ivanhoe, con alcune costanti proprio identiche (anche quella che uso per naraku è molto simile). Houdini ce l’ha proprio identica, fruit, toga e ora si è scoperto anche rybka, hanno praticamente il 90% delle funzioni di valutazioni identiche. Una volta “scomposto” un motore nelle sue parti principali (di solito acquisizione dei dati dall’interfaccia, valutazione dei dati, avvio della ricerca, , valutazione, controllo del tempo rimanente e visualizzazione della mossa migliore), risulta più semplice costruirsi un proprio motore. "
Google translation:
"I am learning to develop chess engine, I used essentially the study of the source code of other open source engines (in particular the series Ippolit / Ivanhoe, crafty, various versions of fruit, and gull
stockfish small part), some articles of university (last year I worked at La Sapienza University and I had the opportunity to have access to several academic articles), and some sites that deal, though not in great detail, all stages of creating a chess engine. At first it seems very complicated, but analyzing the code you see many similarities. For example, gull use a bitboard which is almost identical to that of the series Ippolit / Ivanhoe, with its few constants are identical (even the one I use for Naraku is very similar). Houdini's got just the same, fruit, toga and has now also discovered rybka, have almost 90% of the evaluation function the same. Once "broken down" an engine in its main parts (usually the data acquisition interface, data evaluation, launch the research, evaluation, control and display the remaining time of the best move), it is easier to build his own engine ."
This as a contribution. dunno if it is in his favour or not, no matter, as I said.