Graham Banks wrote:
So some are disassembling the exes of these other top engines to look for code similarities in them also?
This is a good question Graham. Why are they disassembling Rybka, and not other engines?
Of course Rybka is by far the strongest engine. And there is also the rumored "Secret of Rybka". Maybe that is what got Jury going, I don't know, his intentions are still a mystery for me.
But then, Shredder once was also ahead for quite a while, and I'm not aware of people disassembling Shredder to look for secrets or even stolen code. But that was before the time of Fruit.
But isn't it ironical, that the current discussion started because in May a customer of Rybka (R. Faden) stumbled on piece of code that looked very similar to Fruit? And this guy used a disassembler on Rybka not to search for Fruit code, but to investigate the obfuscation of node count and search depth in Rybka. Without this node count mystery, he would probably never have started the disassembler.
He also wrote about his findings in the Rybka forum, as he was a Rybka customer. There was a big discussion, and Vas wrote a post that he will try to make it harder to disassemble Rybka in future versions. Here was my reply:
Instead of investing time to make disassembling more difficult, why not make disassembling less interesting? Of course Rybka currently is the strongest engine and thus there is always a danger that some people pop out their disassemblers. But by making a big secret about the methods Rybka uses, obfuscating node counts and search depths, you make people curious and directly attract them to start their disassemblers.
The best way to prevent this kind of stuff is make people not too curious about looking inside you code IMO. By providing transparency, giving away some information but not all people think they know what you're up to but you can stay easily ahead of them. By sharing some more info about Rybka and less obfuscation I think the whole story of disassembling might never have occurred. At least ExperiMental would not have looked into the code, and maybe the same even goes for Osipov.
I wonder if the obfuscation of information the engine provides to the user really is a good thing to do, when your own customers start to disassemble you code. And I wrote that in May long before the GPL and Fruit discussion came up.