Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Madeleine Birchfield »

In an interview with Vasik Rajlich regarding the origin of Rybka 1 in 2005, he said
Yes, the publication of Fruit 2.1 was huge. Look at how many engines took a massive jump in its wake: Rybka, HIARCS, Fritz, Zappa, Spike, List, and so on. I went through the Fruit 2.1 source code forwards and backwards and took many things.
This fact was later used against Rybka six years later at the ICGA; however Vasik indicates that copying Fruit's source code and violating Fruit 2.1's GPL license was common practice amongst the top commercial engines at the time.

Much later, people eventually did manage to confirm through reverse engineering that Rybka did use Fruit code. However, why wasn't any of the other top commercial engines at the time, such as the ones listed in the interview, Fritz, Hiarcs, Zappa, Spike, List, investigated as well for their possible violation of Fruit's GPL?
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Rebel »

There is nothing in the ICGA verdict that says anything about copied code.
90% of coding is debugging, the other 10% is writing bugs.
peter
Posts: 3185
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by peter »

Madeleine Birchfield wrote: Sat Jul 10, 2021 9:42 pm However, why wasn't any of the other top commercial engines at the time, such as the ones listed in the interview, Fritz, Hiarcs, Zappa, Spike, List, investigated as well for their possible violation of Fruit's GPL?
List was.
From here:
https://www.chessprogramming.org/List_(Program)
List participated at the WCCC 2003 in Graz, not represented by its author himself, but by Erdogan Günes. Fritz Reul, being circumvented with examination commitments, did not act appropriate to prove his program was not a clone, as accused due to an official protest during the tournament. As a consequence, List was disqualified after eight of eleven rounds [6] [7]. In 2005, Fritz Reul was rehabilitated by the ICGA, after List's source code was inspected by an expert approved by the ICGA [8], who stated List was definitely not a clone of any other program, and that it contains some new ideas in chess programming [9] [10].
Peter.
Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Madeleine Birchfield »

Rebel wrote: Sat Jul 10, 2021 9:52 pm There is nothing in the ICGA verdict that says anything about copied code.
The reverse engineering that showed Rybka to have taken Fruit code happened much later than the ICGA verdict, so ICGA is unrelated to the topic at hand.
Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Madeleine Birchfield »

peter wrote: Sat Jul 10, 2021 10:10 pm
Madeleine Birchfield wrote: Sat Jul 10, 2021 9:42 pm However, why wasn't any of the other top commercial engines at the time, such as the ones listed in the interview, Fritz, Hiarcs, Zappa, Spike, List, investigated as well for their possible violation of Fruit's GPL?
List was.
From here:
https://www.chessprogramming.org/List_(Program)
List participated at the WCCC 2003 in Graz, not represented by its author himself, but by Erdogan Günes. Fritz Reul, being circumvented with examination commitments, did not act appropriate to prove his program was not a clone, as accused due to an official protest during the tournament. As a consequence, List was disqualified after eight of eleven rounds [6] [7]. In 2005, Fritz Reul was rehabilitated by the ICGA, after List's source code was inspected by an expert approved by the ICGA [8], who stated List was definitely not a clone of any other program, and that it contains some new ideas in chess programming [9] [10].
Was the inspection of List in 2005 before or after the release of Fruit 2.1?
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Rebel »

Madeleine Birchfield wrote: Sat Jul 10, 2021 11:46 pm
Rebel wrote: Sat Jul 10, 2021 9:52 pm There is nothing in the ICGA verdict that says anything about copied code.
The reverse engineering that showed Rybka to have taken Fruit code happened much later than the ICGA verdict, so ICGA is unrelated to the topic at hand.
Where to find?

And by who?
90% of coding is debugging, the other 10% is writing bugs.
User avatar
Rebel
Posts: 6991
Joined: Thu Aug 18, 2011 12:04 pm

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Rebel »

Madeleine Birchfield wrote: Sat Jul 10, 2021 11:47 pm
peter wrote: Sat Jul 10, 2021 10:10 pm
Madeleine Birchfield wrote: Sat Jul 10, 2021 9:42 pm However, why wasn't any of the other top commercial engines at the time, such as the ones listed in the interview, Fritz, Hiarcs, Zappa, Spike, List, investigated as well for their possible violation of Fruit's GPL?
List was.
From here:
https://www.chessprogramming.org/List_(Program)
List participated at the WCCC 2003 in Graz, not represented by its author himself, but by Erdogan Günes. Fritz Reul, being circumvented with examination commitments, did not act appropriate to prove his program was not a clone, as accused due to an official protest during the tournament. As a consequence, List was disqualified after eight of eleven rounds [6] [7]. In 2005, Fritz Reul was rehabilitated by the ICGA, after List's source code was inspected by an expert approved by the ICGA [8], who stated List was definitely not a clone of any other program, and that it contains some new ideas in chess programming [9] [10].
Was the inspection of List in 2005 before or after the release of Fruit 2.1?
By head, 2013 or 2014.
90% of coding is debugging, the other 10% is writing bugs.
peter
Posts: 3185
Joined: Sat Feb 16, 2008 7:38 am
Full name: Peter Martan

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by peter »

Madeleine Birchfield wrote: Sat Jul 10, 2021 11:47 pm
peter wrote: Sat Jul 10, 2021 10:10 pm
Madeleine Birchfield wrote: Sat Jul 10, 2021 9:42 pm However, why wasn't any of the other top commercial engines at the time, such as the ones listed in the interview, Fritz, Hiarcs, Zappa, Spike, List, investigated as well for their possible violation of Fruit's GPL?
List was.
From here:
https://www.chessprogramming.org/List_(Program)
List participated at the WCCC 2003 in Graz, not represented by its author himself, but by Erdogan Günes. Fritz Reul, being circumvented with examination commitments, did not act appropriate to prove his program was not a clone, as accused due to an official protest during the tournament. As a consequence, List was disqualified after eight of eleven rounds [6] [7]. In 2005, Fritz Reul was rehabilitated by the ICGA, after List's source code was inspected by an expert approved by the ICGA [8], who stated List was definitely not a clone of any other program, and that it contains some new ideas in chess programming [9] [10].
Was the inspection of List in 2005 before or after the release of Fruit 2.1?
As for List, I guess before, but I'm not sure.

https://www.chessprogramming.org/Fruit
The release of Fruit until version 2.1 under the GNU General Public License was a "revolution" in computer chess in 2005 - an open source engine was "suddenly" competitive with the long time leading programs Shredder and Junior, as demonstrated at the WCCC 2005, where Fruit became runner up behind Zappa.
List's follow- up program was Loop.

https://www.chessprogramming.org/Loop_( ... Complaints
During the ICGA Investigations concerning the Rybka Controversy and evaluation overlaps, 64-bit Loop was inspected by Mark Watkins who found congruence with the evaluation of Fruit 2.1 [16] . As confirmed by David Levy [17], the ICGA has received a complaint on Loop by Fruit author Fabien Letouzey and an investigation has been started about this case, as already mentioned by Watkins in August 2011 [18] .
Peter.
matejst
Posts: 364
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by matejst »

Madeleine, no engine was suspected to have violated Fruit GPL licence. The situation was quite different from today. The main focus was about "cloning", and the definition was much more evasive than it is today. While it is clear that Rybka was coded quite differently (Rybka was bitboard, Fruit mailbox) and much faster therefore, it seemed to use ideas and seemed to be structured similarly to Fruit.

The situation was a mess. What's notable is that there was nothing really new in Fruit -- commercial engines were already more mature, much more complex than Fruit, but Fabien had a brilliant idea: he tested at blitz time controls, and it allowed him to improve his engine quickly. That was in reality the most important idea Vas Rajlich "stole": he tested even faster, at bullet time controls, something he revealed in a conversation with Anthony Cozzie.

Rybka was incredibly fast (it pruned much more than other engines) and well tuned, but Vas obfuscated the depth. He then cooperated with Larry Kaufman on the evaluation. His engine was 200 elos better than anything else, and in a period when lot of authors had commercial projects, and some lived of these projects, it attracted suspicions and ire.

And then, somebody decompiled Rybka, and everybody could see his secrets. Since it was never discovered who the culprit were, Rybka's ideas were diffused and incorporated in all modern engines.

Don't be naive: decompiling has been done from the beginnings. It is done routinely today, not only by the likes of Houdart, but by others. I am quite certain that every version of Komodo has been decompiled and many of Larry's ideas finished in open source, GPLed engines. Ask yourself why Marco Costalba quit the SF project. I don't have an answer, but something is unclear here. Anyway, the GPL has been abused for several years already, to force new authors to reveal their code base and, eventually, worthy ideas.
Madeleine Birchfield
Posts: 512
Joined: Tue Sep 29, 2020 4:29 pm
Location: Dublin, Ireland
Full name: Madeleine Birchfield

Re: Did all top commercial engines around 2005 violate Fruit 2.1's GPL license?

Post by Madeleine Birchfield »

matejst wrote: Sun Jul 11, 2021 1:13 am Madeleine, no engine was suspected to have violated Fruit GPL licence. The situation was quite different from today.
Whether no engine was suspected to have violated Fruit GPL license in the past is irrelevant to whether the engines mentioned above did violate Fruit GPL license. It's like claiming that Houdini 5 was not suspected of violating Stockfish GPL license at the time of its release as a reason to deflect investigation into possible GPL violations. Already, peter has given evidence on this thread sourced from the chessprogramming wiki that one of the engines above, List which was renamed first to Loop List and eventually just to Loop, did end up containing Fruit 2.1 code and thus violating Fruit's GPL license. And there is good reason to investigate other engines, since people like Vasik Rajlich indicated that copying from open source engines was common practice amongst many of the engines at the time of Fruit's release.
matejst wrote: Sun Jul 11, 2021 1:13 am The main focus was about "cloning", and the definition was much more evasive than it is today.
Quite the opposite, some members of the vomputer chess community today seem to consider any copying of code from another engine derivative, which they then equate to cloning. Stockfish developer Vizvezdenec is an extreme example of this, calling Igel and Nemorino outright clones of Stockfish because of the copied NNUE code. The concept of copying ideas as being akin to cloning is well and alive as well, held by the likes of Andrew Grant, Connor McMonigle, and others in the forum with regards to neural network architecture, All this is not that different from the views of cloning held by the developers fifteen years ago like Bob Hyatt and Zach Wegner.

The arguments today over what is a clone and what is original was one of the reasons I decided to ask around about the history of computer chess for similar cases in the past.
matejst wrote: Sun Jul 11, 2021 1:13 am While it is clear that Rybka was coded quite differently (Rybka was bitboard, Fruit mailbox) and much faster therefore, it seemed to use ideas and seemed to be structured similarly to Fruit.

The situation was a mess. What's notable is that there was nothing really new in Fruit -- commercial engines were already more mature, much more complex than Fruit, but Fabien had a brilliant idea: he tested at blitz time controls, and it allowed him to improve his engine quickly. That was in reality the most important idea Vas Rajlich "stole": he tested even faster, at bullet time controls, something he revealed in a conversation with Anthony Cozzie.

Rybka was incredibly fast (it pruned much more than other engines) and well tuned, but Vas obfuscated the depth. He then cooperated with Larry Kaufman on the evaluation. His engine was 200 elos better than anything else, and in a period when lot of authors had commercial projects, and some lived of these projects, it attracted suspicions and ire.
Whatevet the reasons for other engine developers' hostility and suspicions towards Rybka at the time is really irrelevant to whether other engines not named Rybka did violate Fruit's GPL license after the release of Fruit 2.1.
matejst wrote: Sun Jul 11, 2021 1:13 am And then, somebody decompiled Rybka, and everybody could see his secrets. Since it was never discovered who the culprit were, Rybka's ideas were diffused and incorporated in all modern engines.

Don't be naive: decompiling has been done from the beginnings. It is done routinely today, not only by the likes of Houdart, but by others. I am quite certain that every version of Komodo has been decompiled and many of Larry's ideas finished in open source, GPLed engines.
If everybody is decompiling the code of other engines as you say, this means we should have access to the source code of Hiarcs, Fritz, Junior, etc from 2005 like we did to that of Houdini and Fire, and we could compare that code to Fruit 2.1 to see if any of those engines did indeed violate Fruit's GPL license or not.
matejst wrote: Sun Jul 11, 2021 1:13 am Ask yourself why Marco Costalba quit the SF project. I don't have an answer, but something is unclear here.
You would have to explain to me what the relation between Marco Costalba quitting the project and engines from 2005 violating Fruit"s GPL license is, because I do not see any.
matejst wrote: Sun Jul 11, 2021 1:13 am Anyway, the GPL has been abused for several years already, to force new authors to reveal their code base and, eventually, worthy ideas.
Do you have any evidence of any new authors who were forced by the GPL to publicly reveal their source code? The authors who were forced to do so, like Norman Schmidt, 1. were long standing members of the computer chess community, and 2. had a history dating back to the late-2000s of cloning other engines, violating their GPL licenses by making them closed source and sometimes commercial as well, and being banned from the community and various tournaments for their actions.