A couple of points. Lets take the "private" Rybka 1.6.1 that was basically a copy of Crafty. Crafty's license explicitly allows anyone to do exactly that, copy the source, modify it as desired, and then play games with it. However, the license also explicitly states that the program can not be distributed nor used by anyone other than the "modifier" unless source is made public for all to see.BubbaTough wrote:I would be fine with these rules...but if someone else came along and stated a different set, I would probably be fine with those. Perhaps it would be good if the community created 3 sets of guidelines, mild, moderate and strict. Tournaments and rating lists could state which they were adapting. That way, if the author of a chess engine like sloppy wants grab some eval values from elsewhere (with acknowledgement) the author can do so without shame and persecution by just sticking with the mild settings, while folks that care strongly that every line is completely original can stick to the strict guidelines and participate in environments where others feel the same way.lkaufman wrote:
These are hard questions, but we should still provide guidelines, even though there will always be disagreement about what they mean. My own view is that you can do anything you want with private beta versions, the only ones that matter are those entered in tournaments or released to the public. I don't object to using someone else's numbers as "seed" numbers, as long as the end result is not obviously derived from those numbers. As for PST and material values, I would say that material values are too few to put restrictions on, but PST that are either nearly identical to another program or would be if you add and/or multiply by a constant should not be allowed. 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. Of course this leaves room for interpretation but so do most laws.
It would be impossible to cover everything, but a few examples would be easy enough to generalize from. This certainly would not do anything to stop cheating, but it would encourage an environment where honest programmers can participate in the hobby without fear of persecution for making choices others deem invalid.
-Sam
The instant vas sent a copy of 1.6.1 to others to test, he violated that part of the license agreement. And he did send it to others, because we received the binary we evaluated from Volker as is well-known.
We are faced with a couple of issues that become sticky. Rules limit what one can do if they want to participate in a specific event (ICGA rule 2, for example). Laws also limit what one can do, period, as in copyright law and license agreements. And finally, ethics ought to enter in at some point as well, to let someone's "moral compass" lead them in the ethical vs unethical direction.