World's Best Chess Engine Outlawed and Disqualified
An anonymous reader writes "Rybka, the winner of the last four World Computer Chess Championships, has been found guilty by a panel of 34 chess engine programmers of plagiarizing two open-source chess engines: Crafty and Fruit. The governing body of the WCCC, the International Computer Games Association, is even demanding that Rybka's author — the international chess master and MIT graduate Vasik Rajlich — returns the trophies and prize money that he fraudulently won. Rybka will no longer be allowed to compete in the World Championships, and the ICGA is asking other tournaments around the world to do the same."
If he was just ripping off two other engines, why did his win?
Sounds like he at least made improvements to them, and isn't that what open source is supposed to be all about? In fact, the article even acknowledges "ICGA isn’t even disqualifying Rybka because it copies Fruit — rather, it’s simply upset that Rajlich claims his engine is original, and refuses to give credit where it’s due." Okay, so maybe he should have given the other coders credit, but why should that disqualify him from winning? He still won. He didn't cheat. He didn't steal the code from the other engines (it was open source). His biggest offense is denying the other coders credit.
I think he should have to share the prize with the other coders (since they contributed code to the final product). But it still doesn't take away from the fact that his fork won. It doesn't justify taking away the win, as if he had cheated. His engine is still the best, open source code and all.
And, nothing against FOSS, but why on earth would you even release code designed for competition as open source, BTW? Aren't you essentially unzipping your fly and telling you competitors all your secrets? Couldn't releasing the source code wait until after the software was "retired" from competition?
SJW: Someone who has run out of real oppression, and has to fake it.
Taking credit for others work is just part of the job!
No Rybka, but Houdini:
http://www.cruxis.com/chess/houdini.htm
Rybka/Houdini played a 40-game match recently, and Houdini won by a wide margin of 23.5-16.5. You can see the match here:
http://livechess.chessdom.com/site/ (Check for TCEC S1 Elite Match)
Now that it isn't distracted by chess this poor little computer will have nothing else to do except plot its revenge against man.
This doesn't really hold up. Yes, Rajlich is trying to sell his software, so he can't open-source it to the world. But to exonerate himself he doesn't have to release the source-code to the world; he simply needs to arrange for the source code to be shown to the expert panel. As long as they can both confirm that: (1) the provided source compiles to the binary used in competition, and (2) there is no substantial overlap between the provided source and other known codebases, then he's in the clear. The expert panel doesn't have to retain copies of the source code beyond the review period (all copies could be destroyed).
So, really, it should be possible for Rajlich to demonstrate the originality of his code without releasing it or decreasing his commercial opportunities. The fact that he hasn't done this is strange. In that sense, it sounds to me like the ICGA made the right decision here.
Checkmate?
What aside is there? It's fairly clear that his claiming the work of others as his own is the issue.
Here's a quote from the an open letter announcing the ban.
"Each program must be the original work of the entering developers. Programming teams whose code is derived from or including game-playing code written by others must name all other authors, or the source of such code, in their submission details."
Open source is fine - so long as credit is given.
-- Using the preview button since 2005
What if someone made it financially tenable for him to show his code?
"Oh. You did in fact innovate. Okay, we're sorry. But we won't take back the reputation tsunami we unleashed on you."
Anyone see parallels with the whole DHS theme of accuse first and question later?
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
"Your [chess program] is both good and original; but the parts that are good are not original, and the parts that are original are not good."
Welcome to the Panopticon. Used to be a prison, now it's your home.
This explains it, but without an exact source:
http://blog.chess.com/clizaw/did-ibm-cheat-kasparov
He didn't even do that, he combined two separate opensource engine making one better engine.
According to the allegations, he did not combine two open-source programs into a super-bot. They claim that the current version of his bot (Rybka) is a copy of Fruit, and an earlier version of his software was a copy of Crafty.
As you said, he closed-sourced them and claimed them as his own without giving attribution -- thereby breaking the software licenses of at least one of them (Fruit), which is GPL.
The panel was made up of every computer chess expert the organization could get their hands on, which of course included competitors.
But if he wanted to avoid those, he could have proposed to send his source to a neural subselection.
He didn't reply at all. What could he say? The full reports are posted, and they're completely damning. I guess the writer of the article linked here didn't manage to understand that.
What you say is completely disconnected from what actually happened. The conviction didn't happen by observing the engine, the conviction happened because the panel reverse engineered the binary exacutable and found a huge similarity, including exactly identical implementations of non-obvious functions, identical bugs and identical dead code in the commercial engine and the opens source engines.
He's using a funny way of not redistributing binaries, then:
http://www.rybkachess.com/index.php?auswahl=Purchase+Rybka
Kasparov thought that people were helping Deep Blue during the game. That would be cheating.
A) As was already pointed out, he sells the binary engine, so he did redistribute it.
B) The rules of the competition require disclosure of any used third party libraries or components. Since he didn't disclose this usage, he violated the competition rules regardless of whether he was complying with the license conditions or not.
I read that article. What a joke.
His "evidence":
- He thought humans must have intervened in the middle of the game because the machine did something he didn't expect. But no actual evidence whatsoever was provided for this serious charge.
- He asked for the machine's logs, but IBM refused to provide them. If he wanted the logs, he should have made that part of the agreement beforehand. IBM probably withheld them at the time to preserve secrets on exactly how the machine worked, which could have given Kasparov an advantage IBM didn't want him to have.
- IBM changed the programming between games. Which the agreement allowed it to do.
- IBM "must" have cheated because it refused to do a rematch and immediately retired the machine. What did he think Deep Blue was? A product announcement? Of course it was a publicity stunt! IBM never pretended otherwise. Did he think Poughkeepsie was going to start rolling them off the assembly line and start selling the software on the internet? Of note here is that this was around the time the RS/6000 (now pSeries) product line began to take off, eventually eclipsing Sun. (pun not intended) So the machine did exactly what it was supposed to do there...
Let's see, should we take the word of Ken Thompson (yes that one), who according to the fine article seems to have been on the investigative panel, or the word of a random slashdot troll? Duhhh...
Actually neither. We should Read The Fine Reports.
Beyond the plain expression of the program, there are lots if artifacts which come through from source to binary. Even if two progammers start in the same language to develop the same algorithm to solve the same problem they will normally end up with great differences. The exceptions are the stuff of legends, and we are talking about 20 line long assembly programs. One programmer will choose an integer because it's big enough, another a long because the variable will mostly be used with other longs. This choice will not be optimised out of existence.
Looking at the report, it seems they used various different artifacts and clearly showed similarity between the programs.
=~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();