My two cents on the whole ippolit thing
Posted: Sat Oct 31, 2009 3:38 am
First some history and my opinions pasted to it:
The chess engine Rybka came onto the scene with version 1.0 and it was a stunning world beater.
Sometime later, some enterprising souls did some reverse engineering of Rybka and came to the conclusion that it had striking similarities to fruit.
Here are some links to the analysis:
{analysis links removed}
The inescapable conclusion is that Rybka 1.0 is heavily influenced by Fruit.
That brings up the question: "Is wrongdoing involved on the part of Vas?"
To examine this question, we must first examine the license of fruit:
Fruit is GPL, version 2.
Therefore, if code from Fruit is used, subsequent programs are also GPL V2. Rybka 1.0 is not GPL, V2 and so we may have suspicions raised that wrongdoing has occurred.
On the other hand, it is not wrong to read an algorithm, understand it, and write your own. This will not violate the GPL, since algorithms do not have copyright protection (that requires a patent). Let us also not forget that strong chess players are known to have prodigious memories.
So we are down to this:
Did Vas copy GPL code and modify it, or did he learn from it by studying it carefully and writing his own version. In my opinion it is not possible to know the answer to this question. I think it is possible to harbor doubts and probably many people do harbor some doubts about it. However, we cannot know which path Vas took. We do certainly have this statement from Vas himself:
"Special Thanks
I hesitate to include this section because I know I'll forget people who have been helpful in this project, but (with advance apologies to the omitted) here goes:
Robert Hyatt - For Crafty. There is nothing like an open source program for passing knowledge to the next generation.
Fabien Letouzey - For Fruit, which shattered a number of computer chess myths, demonstrated several interesting ideas, and made even the densest of us aware of fail-low pruning.
{additional details snipped by dcorbit}"
Stage 2:
Yuri Osipov reverse engineers Rybka (probably using tools like IdaPro) and makes a frankenstein of Rybka and Fruit (and a tiny fragment of Beowulf!) called Strelka. This binary is far smaller than Rybka, but seems to be just about as strong. We are not left wondering if the new methods inside of Strelka are highly similar to the ones in Rybka, because Vas himself says so.
Whether Yuri has done something wrong in this regard is also not clear to me. The documents that came with Rybka 1.0 clearly stated:
"Contents & License
In this package, you will find the Rybka 1.0 Beta chess engine (dated Dec 4, 2005), as well as the Turk opening book by Djordje Vidanovic. Both versions of these components are free and can be used and transmitted without restriction."
Because the license says 'used without restriction' it is entirely possible that Yuri has not broken any laws in connection with his reverse engineering. (Moral views as to right and wrong are another matter and are personal preferences of each person).
Stage 3:
Some time after the release of Rybka 3, we have a new project called IPPOLIT. The only evidence that I have that IPPOLIT is derived from Rybka 3 is circumstantial and hearsay evidence. I have had email conversations with Vas that convinced me that it has been derived from Rybka. We can examine the source and it appears (very strongly) to be a product of reverse engineering. We also notice that this product of unknown authors is remarkably strong like Rybka.
So, my opinions:
1. Vas may or may not have done something legally wrong in connection with the fruit code. Whether or not you think he has done something morally wrong is another issue entirely and I also do not know the answer to this question.
2. In the reverse engineering of Rybka 1.0 Yuri also may or may not have done something wrong. I am not sure about it either way. Considering the license agreement it seems to me that legally he probably did not break the law (but I am not a lawyer or legal expert so I can be wrong about it).
3. In the reverse engineering of Rybka 3 to create IPPOLIT (and other offshoots) we have not any definite proof of wrongdoing, but I am convinced fairly well myself (and only an opinion of mine) that IPPOLIT is *probably* reverse engineered from Rybka 3.
So, because of my opinion on the *probable* source of IPPOLIT, I do not think that this site should be used as a hub for trading IPPOLIT source. The reason is that it is "of *questionable* legal status and would therefore be a violation of the charter.
Now, that having been said, any dimwit with 5 minutes of free time and google handy can collect all they would ever like to know about (possibly) illegal Rybka clones.
And now for a confession --> I am an information whore of the worst kind.
Not only have I examined the IPPOLIT sources, but I have also looked not only at Rybka's innards using a debugger (the DAY that I bought it) but also the innards of every professional and amateur chess engine without source code ON THE PLANET. Now, I would never take what I learn and use it to produce a competing product or in any other way intentionally harm the authors of the originals. But I have an almost perverse "want to know" drive that eggs me into this sort of thing. So (in some sense) my hands are also dirty.
Be that as it may, I still side with the "no warez or suspected warez links in CCC" stand.
The chess engine Rybka came onto the scene with version 1.0 and it was a stunning world beater.
Sometime later, some enterprising souls did some reverse engineering of Rybka and came to the conclusion that it had striking similarities to fruit.
Here are some links to the analysis:
{analysis links removed}
The inescapable conclusion is that Rybka 1.0 is heavily influenced by Fruit.
That brings up the question: "Is wrongdoing involved on the part of Vas?"
To examine this question, we must first examine the license of fruit:
Fruit is GPL, version 2.
Therefore, if code from Fruit is used, subsequent programs are also GPL V2. Rybka 1.0 is not GPL, V2 and so we may have suspicions raised that wrongdoing has occurred.
On the other hand, it is not wrong to read an algorithm, understand it, and write your own. This will not violate the GPL, since algorithms do not have copyright protection (that requires a patent). Let us also not forget that strong chess players are known to have prodigious memories.
So we are down to this:
Did Vas copy GPL code and modify it, or did he learn from it by studying it carefully and writing his own version. In my opinion it is not possible to know the answer to this question. I think it is possible to harbor doubts and probably many people do harbor some doubts about it. However, we cannot know which path Vas took. We do certainly have this statement from Vas himself:
"Special Thanks
I hesitate to include this section because I know I'll forget people who have been helpful in this project, but (with advance apologies to the omitted) here goes:
Robert Hyatt - For Crafty. There is nothing like an open source program for passing knowledge to the next generation.
Fabien Letouzey - For Fruit, which shattered a number of computer chess myths, demonstrated several interesting ideas, and made even the densest of us aware of fail-low pruning.
{additional details snipped by dcorbit}"
Stage 2:
Yuri Osipov reverse engineers Rybka (probably using tools like IdaPro) and makes a frankenstein of Rybka and Fruit (and a tiny fragment of Beowulf!) called Strelka. This binary is far smaller than Rybka, but seems to be just about as strong. We are not left wondering if the new methods inside of Strelka are highly similar to the ones in Rybka, because Vas himself says so.
Whether Yuri has done something wrong in this regard is also not clear to me. The documents that came with Rybka 1.0 clearly stated:
"Contents & License
In this package, you will find the Rybka 1.0 Beta chess engine (dated Dec 4, 2005), as well as the Turk opening book by Djordje Vidanovic. Both versions of these components are free and can be used and transmitted without restriction."
Because the license says 'used without restriction' it is entirely possible that Yuri has not broken any laws in connection with his reverse engineering. (Moral views as to right and wrong are another matter and are personal preferences of each person).
Stage 3:
Some time after the release of Rybka 3, we have a new project called IPPOLIT. The only evidence that I have that IPPOLIT is derived from Rybka 3 is circumstantial and hearsay evidence. I have had email conversations with Vas that convinced me that it has been derived from Rybka. We can examine the source and it appears (very strongly) to be a product of reverse engineering. We also notice that this product of unknown authors is remarkably strong like Rybka.
So, my opinions:
1. Vas may or may not have done something legally wrong in connection with the fruit code. Whether or not you think he has done something morally wrong is another issue entirely and I also do not know the answer to this question.
2. In the reverse engineering of Rybka 1.0 Yuri also may or may not have done something wrong. I am not sure about it either way. Considering the license agreement it seems to me that legally he probably did not break the law (but I am not a lawyer or legal expert so I can be wrong about it).
3. In the reverse engineering of Rybka 3 to create IPPOLIT (and other offshoots) we have not any definite proof of wrongdoing, but I am convinced fairly well myself (and only an opinion of mine) that IPPOLIT is *probably* reverse engineered from Rybka 3.
So, because of my opinion on the *probable* source of IPPOLIT, I do not think that this site should be used as a hub for trading IPPOLIT source. The reason is that it is "of *questionable* legal status and would therefore be a violation of the charter.
Now, that having been said, any dimwit with 5 minutes of free time and google handy can collect all they would ever like to know about (possibly) illegal Rybka clones.
And now for a confession --> I am an information whore of the worst kind.
Not only have I examined the IPPOLIT sources, but I have also looked not only at Rybka's innards using a debugger (the DAY that I bought it) but also the innards of every professional and amateur chess engine without source code ON THE PLANET. Now, I would never take what I learn and use it to produce a competing product or in any other way intentionally harm the authors of the originals. But I have an almost perverse "want to know" drive that eggs me into this sort of thing. So (in some sense) my hands are also dirty.
Be that as it may, I still side with the "no warez or suspected warez links in CCC" stand.