Chris Whittington wrote:Uly wrote:
What is the 'bomb'? I only see Fabien agreeing with Hyatt that 'If [he does] _exactly_ the same thing [in mailbox], because [he copies] the code and then adapt[s] it to bitboard, [he doesn't] call that "original"'.
Hyatt is doing a cheat argument when he talks about mailbox/bitboard conversions.
What on earth are you talking about. The continual claim here is that Rybka is bitboards, fruit is not, they can't be the same. The conversion from mailbox to bitboard is too difficult. The conversion _I_ did in 1994 was _exactly_ this. I wanted to start to work on a bitboard engine. I took Cray Blitz, ran it thru a FORTRAN-to-C compiler, and cleaned that up. I then started to convert the thing to bitboards. And over time, I rewrote substantial parts as I wanted to use a recursive search rather than the iterated version we had in Cray Blitz. But the original conversion did not change the entire program. Search was unchanged. Move ordering and move selection code was unchanged. Code to deal with extensions, with hashing, etc were all unchanged. Parts of the move generator were changed since the board representation was altered, but this was not a huge effort. The eval was the most difficult, but I found it changed a good bit syntactically, but _not_ semantically. One continues to evaluate the same things, using the same weights, but using different comparisons and such.
That is a derivative work, period. Using bitboards to justify rybka 1 is pretty disingenuous, IMHO. It is an argument no person actually doing chess programming will consider for a minute. How many changed from an 8x8 board, to something else, to 0x88? New programs? Hardly. The better the programmer, the easier that is to do in fact...
Hyatt refers to his own conversion of Cray Blitz to Whatever (I forget the name) and calls the conversion copying.
In this case Hyatt wants to "copy" the original, perhaps with some additions optimisations along the way.
But the argument is about person A "copying" person B's program, "using ideas" from B's program.
In this case A does *not* want to "copy" the original, and he will definitely want his own ideas in there as well.
Only problem is, more than "ideas" were copied. Blocks of code were copied. And hand-waving is not going to make that go away anytime soon it would appear. Particularly now that Fabien has stepped into the discussion.
The act of wanting/not wanting to "copy" makes all the difference. Maybe by clean room, maybe by making a spec, maybe by total data structure change, certainly by using the *ideas* and not the code.
Bunch of nonsense. You either copy or you don't. Copying without wanting to copy, not copying but wanting to copy? All crapola.
Hyatt's attempt to use his own experience as a universal template is invalid in the context.
However, everything you wrote is nonsensical and irrelevant in any context...