I sent an email to Fabien, but as legality is not an issue [the Fruit
readme.txt allows later GPL versions], and "derivative in the sense of computer chess" seems to have degenerated into a sociopolitical construct, he might not care enough to comment.
Here is most obvious example of "copied code" in Bison:
- Code: Select all
const int PawnFile[8] = {-3,-1,0,1,1,0,-1,-3};
const int KnightLine[8] = {-4,-2,0,1,1,0,-2,-4};
const int KnightRank[8] = {-2,-1,0,1,2,3,2,1};
const int BishopLine[8] = {-3,-1,0,1,1,0,-1,-3};
const int RookFile[8] = {-2,-1,0,1,1,0,-1,-2};
const int QueenLine[8] = {-3,-1,0,1,1,0,-1,-3};
const int KingLine[8] = {-3,-1,0,1,1,0,-1,-3};
const int KingFile[8] = {3,4,2,0,0,2,4,3};
For "originality", which is quite strict for the ICGA, I would say that this [and the Fruit/Strelka origins in general] would need to be declared on the ICGA entry form, at which point they could make a more deliberative decision. This is vaguely in line with Larry Kaufman's
proposal:
The bottom line (in my view) is this: if it is obvious to a knowledgeable observer that you could not have come up with the values you used without having seen those in another program you have made a derivative of that program. My guess is that the ICGA would in turn ask Fabien (if possible) if he was OK with such an entry, but not require him to a be a joint author. But I'm just guessing.
For other purposes, such as ChessWar, one can argue that Bison's source-code distribution under the GPL already satisfies any ethical requirement of attribution, though I (like Dann) would prefer something more direct.
Though it shouldn't matter here, I'd guess the strict legal definition of "derivative" would say that Bison is a Fruit-derivative already from the above code -- one could argue that these arrays were
de minimis, though then other fragments would need to be considered (such as evaluation, or history usage in
sort.h) before a conclusion could be made. See
http://en.wikipedia.org/wiki/Castle_Roc ... hing_Group (with various fragments of Seinfeld) in this latter regard. My suspicion is that Bison would be found to be a "derivative" in this legal sense (surpassing
de minimis), but for a rather small amount percentage-wise. In general, the word "derivative" can be used even when there is a quite small overlap -- an analogous historical computer chess example is Berliner asking Hsu to remove 0.3% of this code that was borrowed from HITECH's Cray Blitz simulator [though one should be aware that line-counting is not always the most relevant metric].