Fabien's open letter to the community

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

Moderators: hgm, Harvey Williamson, bob

Ant_Gugdin
Posts: 60
Joined: Sun Dec 26, 2010 8:13 pm

Re: Fabien's open letter to the community

Post by Ant_Gugdin » Sat Jan 29, 2011 5:42 pm

bhandelman wrote:This part means you have to let others use your source code in GPL projects for free since it was derived from another GPL project. So Vas could sell Rybka, make the source available for free, and he has to let someone download that source code, make their own chess engine from it, and choose to either sell it or give it away, which no expectation Vas will receive any compensation other than the new modifications to the code. That is what the license part is referring to. An example would be how ICC now includes Stockfish in its Blitzin client. One of the install options is to also install the source code for Stockfish, so they cover the distribution portion of the license, and they haven't made any modifications, so they don't have to include anything special, and they don't have to pay a dime to the Stockfish team because they are distributing on their own. The only requirement is they do not take credit for Stockfish, they still have to acknowledge the proper author/copyright holder for it. Chess companies have been using Crafty in this way for probably a decade; I know Fritz 12 still comes with a version of Crafty, and most of the FICS clients include Crafty as well.
Thanks for clarifying.
All they have to do is prove Rybka 1 was derived from GPL based code. There is no way Rybka 3 contains no code from Rybka 1, so it would be considered derived even if it no longer contained any Fruit code.
It depends on what the applicable law says. This *could* be Polish law. Under Polish copyright law (which I've just been reading - see above) it may well be correct that the FSF/ Fabien only need to prove that Rybka 1 is derived from Fruit 2.1 and would not need to link later versions to Fruit in order to sue Vas for damages/ get Rybka 4 withdrawn.

Robert Flesher
Posts: 1201
Joined: Tue Aug 18, 2009 1:06 am

Re: Fabien's open letter to the community

Post by Robert Flesher » Sat Jan 29, 2011 6:12 pm

diep wrote:
Tord Romstad wrote:My good friend Fabien Letouzey, author of Fruit, asked me to post the following message for him:
Hello,

Long time no see.

First, I am not back to computer chess, sorry about that. I just want to clarify a few things. Sorry if that's old but there is some misunderstanding I need to fix, and I found out only yesterday. Bear in mind that I am mostly unaware of what has happened for five years though.

First there was the Strelka case. Dann approached me with some "Strelka" source code for me to check. I had never heard of it. I assumed it was some closed-source free engine and that people wanted to know whether it was based on the Fruit source code.

The short answer was "no", it was not a verbatim copy of the source code. All the code had been typed (can't say "designed" though, see below) by an individual. So legally there was no issue that I knew of. It was however a whole re-write (copy with different words if you like, similar to a translation) of the algorithms. Not just an extraction of a couple of ideas as is common, and normal.

That being said, some original changes and ideas were also included in the program. So it was, as has since been stated many times in fora I suppose, a bitboard re-write of Fruit with some personal (or otherwise) ideas. Also note that the source code Dann sent me might not be the from the 2.0 version.

Edit: I've just had a look at the 2.0 sources. On top of what I said above, there are many constant and function names that are identical to Fruit's. I remember noticing it back then as well.

Hope it helps, because my email answer to Dann was unusually short and cryptic even by my standards. And Dann, please next time make it clear when you want a public statement instead of a private opinion, thanks.

I want to point out something immediately: there was no mention of Rybka whatsoever. Indeed I was unaware of any relation between Strelka and Rybka, this is precisely what I learned only yesterday. I insist because it seems I have often been quoted about "not caring" about the (possible) Fruit/Rybka relationship, but this is not so. Strelka did not look like a problem because I assumed it was free.

Next, I was approached by Ryan (I think) and Christophe Theron about whether I could help with some "possible Fruit code inside Rybka" issues. I answered "yes, but how?", but did not get a reply. This did not make me really aware of a clone possibility however because I thought they were talking about some insignificant UCI-handling code or whatnot. Also this was several years after the initial Rybka release, and I guess quite a few people had a close look at it. Apparently Chrilly did?

Now if someone could tell me a bit more about the major events last five years and the current state of affairs, I'd be much obliged.

A few things I noticed yesterday, can you confirm?
- Rybka search info was obfuscated in some way (like displaying depth-3 or something), any pointers on details please?
- Vasik claimed that Strelka 2.0 is a clone of Rybka 1.0 (and you know what that would imply!)
- Zach Wegner found many Fruit ideas (and nearly identical code) in Rybka 1.0; I think someone else did, too
- Some even stronger open-source program appeared as a decompilation of Rybka (with own ideas, sounds familiar), what came up of looking at those?

Any questions, now is the one time to ask.

Thanks for your attention,

Fabien Letouzey.
Let me handle your topics 1 by 1.

Seems Rybka took shape based upon some remarks i made.

My remarks on automatic tuning: "It would be possible to automatic tune the material evaluation" (statement done end 2004, januari 2005)

Remark 2: "So far no one managed to automatic tune chess engines very well that have more than a few parameters". (statement done end 2004)

At that time i was unaware of the army helping out the Brutus project, later on called Hydra project, with automatic tuning. Note knowing Chrilly just has a few parameters according to insiders.

Remark on material evaluation: "It is possible to quickly hash it"

Remark on commercially representing a program to the outsid world: "Titled chessplayers seem to sell chess software a lot better than non titled chessplayers". (Q1 2005)

Finding someone from who always says 'see ya' for selling rybka of course was a direct consequence of my above remark.

I did do more remarks:

Remark on obfuscation: "For many years the secret of Frans Morsch and Richard Lang was the amount of nps it got." (Q1 2005)

"In fact it seems even a good idea to hide the super selective search depth that's behind the mainsearch". (Q1 2005)

At an experimental Diep version where i forward pruned a lot last 3 plies, i reduced search depth with 3. (Q4 2004 / Q1 2005)

My explanation then was: "If you search that deep you don't want to give away that info of course". (end 2004/ start 2005)

Then came a kiler Fruitversion end Q1 2005.

The next remarks all are from around the world champs, during it or short after it:

The generic question i dropped was this: "How strong would Fruit be if you fix some obvious holes of it".

And i listed the next holes:

a) it is crappy programmed C++ code, quick & dirty, you can speedup this code quicktime getting more nps

b) it's not parallel

c) its search is very inefficient and history pruning prunes too little;
with such simplistic evaluation function that's so dependant upon static piece square tables you can prune way more, especially last few plies.

d) biggest gap, so i said, were 3 huge weaknesses in its evaluation function, all of which have been fixed in rybka 1.0 already:
a) Fruit knows too little about material evaluation; it takes too many times the wrong material
b) it doesn't know about stopped passed pawns a lot, it gives too big bonuses for stopped/blocked passed pawns at 6th and especially 7th row;
in many testgames here it lost because of taking a passer at 7th row + 2 other pawns, against a piece and lost then.
c) its kingsafety is too limited and vulnerable to surprise attacks

e) I noticed also that much of Fruit's succes, despite such tiny evaluation function being so passive tuned, was because it searched that 17 ply. Other beancounters from the past which were passive tuned usually got completely hammered at the kingsafety. With Fruit this occured a lot less, as it seems majority of kingside evaluation is short term knowledge; if you search your way out there, most of the bonuses/penalties there are just patzerknowledge that can distract your search a lot.

For example who doesn't remember how Fritz easily sacraficed 1 or 2 pawns just to get half open files against the opponent king, as it simply gave half open file against opponent king 0.5 pawn bonus. Fritz lost many games that manner against lesser gods at the time.

Even then of course, objectively seen Fruit lacks knowledge there.

I also made a huge mistake when observing next. First the correct observation:

f) Fruit seems to make a lot of points because it only has knowledge in its evaluation function that works, it has basically no bugs there.

This bugfreeness was however a result of huge automatic testing carried out by Fabien. A primitive form of automatic tuning i'd call it.

Q1 2005 several automatic tuning project got announced towards me.

Not knowing the huge obfuscation games that got played out there, end 2005 several persons again started lying to me, claiming those projects all failed, whereas Zappa had won the world title.

Silly me.

It took until 2007 the release of the strelka code, for me to realize, that the whole project was one giant NSA project about automatic tuning.

At least $100 milllion must have been put into it.

As for the software engineering, they just grabbed the above remarks i made. It's possibe just 1 programmer carried out the project and then they found someone from the see ya dudes with a chess title to walk around abroad.

Now the big question is of course, why use secret software to tune. In this nation all that is forbidden as far as i know. It is not legal here to use software from a classified project to tune and test a program that is out there available to freely copy or buy.

All this just to win from a few Einsteins, so just to avoid them looking brilliant?

It is obvious some Russians didn't miss this and threw the code of it, under the name strelka, on the internet. Then everyone could learn the truth.

So by 2007 when some programmers started studying that source code, i got from several chessprogrammers the same comment, GCP being the first "Would all those parameters in Rybka be tuned by hand, they look SO SO bizarre".

Rybka is a classical form of NSA software engineering: do the minimum to get strong, and a maximum of usage of hardware at an unknown NSA location somewhere in the USA.

At that time, we simply didn't have the hardware in Netherlands to do tuning just like that.

So my big mistake was to initially guess just 1 guy had done the programming of rybka; whereas the programmers of course knew better, as already commented here in CCC by several programmers over the past years; it is possible to prove how many people have been involved in the different projects as shown by several authors, which proves clearly that dozens of guys were involved somehow, and they all got paid for many years.

Total project costs must've been at least a 100 million dollar.

It is amazing why at such a late stage they involved chessprogrammers into the project. Maybe because majority comes from Europe.

My conclusion is they wasted a lot of government funding just for a few mediocre guys, whose intelligence can't really handle the information they have, to play at the level of the Einsteins. Just for wanting to feel better than they are using sneaky methods. Very disgusting.

If you throw 100 million at a project in a science where everything is about testing, of course you always win.

Vincent

p.s. If a lot of people start lying towards you, in order to cover up something, you know secret services are involved; therefore proving it is a military project. All the cables in wikileaks are a joke and most of it is desinformation, compared to what happened here.

It's really great to see this thread bringing back some old ghosts. Welcome back Vincent! Nice to see your thoughts on the issue.

CatPower
Posts: 19
Joined: Tue Dec 21, 2010 6:49 pm

Re: Fabien's open letter to the community

Post by CatPower » Sat Jan 29, 2011 8:21 pm

diep wrote: If you throw 100 million at a project in a science where everything is about testing, of course you always win.
Why would anyone or any government spend 100mln on a chess program?

Tom Barrister
Posts: 227
Joined: Tue Oct 05, 2010 3:29 pm

Re: Fabien's open letter to the community

Post by Tom Barrister » Sat Jan 29, 2011 8:28 pm

Xann wrote:
Tom Barrister wrote:Hi, xann. I haven't seen you since the IOS days and Turtle and company. Good to see you're alive and well.
Wow!!!

What was your nickname?
Did you write a program?

I spent a lot of time on Othello.
Because of this, my approach to chess search was much more mature than say evaluation.
Thinking about it, it also affected evaluation: continuous game phases for instance.

For readers, <iOs> stands for Internet Othello Server (in the nineties).
Turtle is one of the programs I wrote during that period.

Fabien.
I was kingt on IOS. Didn't have a program, rating never made it much above 1400 (which is low for Othello there). I never got the hang of the game, could barely beat ant (one-ply Logistello) 1 game in 3, if that. I gave up about 1999, just about the time the game was considered solved as drawish with winning chances for White, and about the time the 16 piece random thing started up.

For those who aren't familiar with the Othello scene, no human can touch any of the top computer programs there without using a prepared line, and it isn't close. The problem is that humans did use prepared lines to win/draw. The 16 piece random game changed that. A world-class human would do well to stay within 20 pieces of the evaluation in a random game against the top programs. Logistello was probably the top banana, although it wasn't a big gap, followed by (in no order) Turtle , Hannibal and Zebra. All four of those won a tournaments each with the other three present.
This production is being brought to you by Rybka: "The engine made from scratch.™"

Robert Flesher
Posts: 1201
Joined: Tue Aug 18, 2009 1:06 am

Re: Fabien's open letter to the community

Post by Robert Flesher » Sat Jan 29, 2011 9:22 pm

bob wrote:
Robert Flesher wrote:
Watchman wrote:
Graham Banks wrote:
bob wrote:.....the verdict is always "not guilty" as opposed to "innocent"............
I always thought that a court either convicted someone or cleared them of guilt.
Not under U.S. Law. As Dr. Hyatt has said, beyond a reasonable doubt is the standard of proof required for a conviction in a criminal (as opposed to a civil) case. It does not establish innocence… just that the “facts” and evidence of the case, presented by the prosecution, were not enough to lead a “reasonable person” to believe beyond any reasonable doubt that the accused had met or committed certain acts or elements that led to the violation of a criminal statute (hence a crime being committed).

Example from an Indiana Statute:
IC 35-43-4-2
Theft; receiving stolen property
Sec. 2. (a) A person who knowingly or intentionally exerts unauthorized control over property of another person, with intent to deprive the other person of any part of its value or use, commits theft, a Class D felony.

So you must (all terms defined by statute):
(a) knowingly or intentionally
(b) exert unauthorized control over property of another person
(c) with intent to deprive the other person of any part of its value or use

If a prosecutor cannot convince a reasonable person (twelve in this case) that a person committed each of those elements (beyond a reasonable doubt, not 100% doubt, just what is reasonable)… there is no conviction or establishment of guilt. Innocence is an entirely another matter.

The type of case we are talking is a civil case… again Dr. Hyatt has said this, one that uses a much lower standard of proof, that of “preponderance of the evidence.” Preponderance of the evidence is nothing more than a fancy way of saying: “more likely than not” or a greater that 50% chance. Put everything in the scales… if it tips slightly in one direction… that is “preponderance of the evidence.” It is the burden of proof I have argued before that should be applied in instances such as this (though with some of our programming experts, I dare say, they sound convinced to a higher standard, one exceeding “beyond a reasonable doubt” yet that is still not enough for many).

What I cannot understand is… why this community does not select individuals with certain programming qualifications who have researched this matter thoroughly to the point of giving an educated opinion… and then abiding by that decision. Would not that be preferable? The community “policing” itself? If there were 9 chess engine authors and you get a majority vote (and a brief, layman’s explanation why their opinion).

Graham I know you to be a reasonable man... would something like that, a "review board"... be acceptable to you? It's basically a rhetorical question and I certainly do not expect an answer (I am not attempting to “put you on the spot”). Something like that would be wise to consider for a time… and in this case with Fruit/Rybka it is essentially a loaded question.

I think that any case involving the issues presented here will most certainly fall under the same verdict ruling that civil law follows, that being the " balance of probabilities". These situations are almost always solved under tort law rules from my experience. Whereas "beyond a reasonable doubt" is the standard for the more serious criminal acts such as, crimes against a person ( assualt, robbery, theft, murder, etc, etc), or crimes against property. I am not sure how this works in other countries, but this is a brief explantion of how it works here in Canada. With tort law it will not be easy for Vas ( trust me I have vast experience here), as the balance of probabilities weight heavily against him.
I think you mean "preponderance of the evidence" which is, simply, that there is more evidence supporting one side than the other, but only a simple majority, not the "reasonable doubt" standard for criminal proceedings.

In my occupation I have spent the last 7 years in court hundreds of times. I was pretty sure what I meant, but perhaps it did not translate to my post. There is a clear difference in which different illegal acts are dealt with here in Canada. As I explained there are the "criminal" acts of a more serious nature ( see Martin's annual criminal code), these being summary, indictable, and hydrib offences. It is these offences that use the "beyond a reasonable doubt" for powers of arrest and then conviction.
( there are also provincial offences, but they do not concern with this comparision)

Tort or Civil law uses "the balance of probabilities"( also see, "burden of proof") this is the system in which the current Fruit-Rybka affair would be addressed here. The point being, it is MUCH easily to be found innocent when using " beyond a reasonable doubt" doctrine (as in criminal proceedings) as all that needs to be achieved is the introduction of "DOUBT". I can tell you from experience, lawyers are damned good at this!

User avatar
JuLieN
Posts: 2945
Joined: Mon May 05, 2008 10:16 am
Location: Nantes (France)
Contact:

Re: Fabien's open letter to the community

Post by JuLieN » Sat Jan 29, 2011 9:24 pm

@Diep
Nice to see you back, Vincent, and in what is obviously a great spirit! :D
"The only good bug is a dead bug." (Don Dailey)
Image [Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]

Robert Flesher
Posts: 1201
Joined: Tue Aug 18, 2009 1:06 am

Re: Fabien's open letter to the community

Post by Robert Flesher » Sat Jan 29, 2011 9:52 pm

Robert Flesher wrote:
bob wrote:
Robert Flesher wrote:
Watchman wrote:
Graham Banks wrote:
bob wrote:.....the verdict is always "not guilty" as opposed to "innocent"............
I always thought that a court either convicted someone or cleared them of guilt.
Not under U.S. Law. As Dr. Hyatt has said, beyond a reasonable doubt is the standard of proof required for a conviction in a criminal (as opposed to a civil) case. It does not establish innocence… just that the “facts” and evidence of the case, presented by the prosecution, were not enough to lead a “reasonable person” to believe beyond any reasonable doubt that the accused had met or committed certain acts or elements that led to the violation of a criminal statute (hence a crime being committed).

Example from an Indiana Statute:
IC 35-43-4-2
Theft; receiving stolen property
Sec. 2. (a) A person who knowingly or intentionally exerts unauthorized control over property of another person, with intent to deprive the other person of any part of its value or use, commits theft, a Class D felony.

So you must (all terms defined by statute):
(a) knowingly or intentionally
(b) exert unauthorized control over property of another person
(c) with intent to deprive the other person of any part of its value or use

If a prosecutor cannot convince a reasonable person (twelve in this case) that a person committed each of those elements (beyond a reasonable doubt, not 100% doubt, just what is reasonable)… there is no conviction or establishment of guilt. Innocence is an entirely another matter.

The type of case we are talking is a civil case… again Dr. Hyatt has said this, one that uses a much lower standard of proof, that of “preponderance of the evidence.” Preponderance of the evidence is nothing more than a fancy way of saying: “more likely than not” or a greater that 50% chance. Put everything in the scales… if it tips slightly in one direction… that is “preponderance of the evidence.” It is the burden of proof I have argued before that should be applied in instances such as this (though with some of our programming experts, I dare say, they sound convinced to a higher standard, one exceeding “beyond a reasonable doubt” yet that is still not enough for many).

What I cannot understand is… why this community does not select individuals with certain programming qualifications who have researched this matter thoroughly to the point of giving an educated opinion… and then abiding by that decision. Would not that be preferable? The community “policing” itself? If there were 9 chess engine authors and you get a majority vote (and a brief, layman’s explanation why their opinion).

Graham I know you to be a reasonable man... would something like that, a "review board"... be acceptable to you? It's basically a rhetorical question and I certainly do not expect an answer (I am not attempting to “put you on the spot”). Something like that would be wise to consider for a time… and in this case with Fruit/Rybka it is essentially a loaded question.

I think that any case involving the issues presented here will most certainly fall under the same verdict ruling that civil law follows, that being the " balance of probabilities". These situations are almost always solved under tort law rules from my experience. Whereas "beyond a reasonable doubt" is the standard for the more serious criminal acts such as, crimes against a person ( assualt, robbery, theft, murder, etc, etc), or crimes against property. I am not sure how this works in other countries, but this is a brief explantion of how it works here in Canada. With tort law it will not be easy for Vas ( trust me I have vast experience here), as the balance of probabilities weight heavily against him.
I think you mean "preponderance of the evidence" which is, simply, that there is more evidence supporting one side than the other, but only a simple majority, not the "reasonable doubt" standard for criminal proceedings.

In my occupation I have spent the last 7 years in court hundreds of times. I was pretty sure what I meant, but perhaps it did not translate to my post. There is a clear difference in which different illegal acts are dealt with here in Canada. As I explained there are the "criminal" acts of a more serious nature ( see Martin's annual criminal code), these being summary, indictable, and hydrib offences. It is these offences that use the "beyond a reasonable doubt" for powers of arrest and then conviction.
( there are also provincial offences, but they do not concern with this comparision)

Tort or Civil law uses "the balance of probabilities"( also see, "burden of proof") this is the system in which the current Fruit-Rybka affair would be addressed here. The point being, it is MUCH easier to be found innocent when using " beyond a reasonable doubt" doctrine (as in criminal proceedings) as all that needs to be achieved is the introduction of "DOUBT". I can tell you from experience, lawyers are damned good at this!

Ant_Gugdin
Posts: 60
Joined: Sun Dec 26, 2010 8:13 pm

Re: Fabien's open letter to the community

Post by Ant_Gugdin » Sat Jan 29, 2011 10:03 pm

Robert Flesher wrote:Tort or Civil law uses "the balance of probabilities"( also see, "burden of proof") this is the system in which the current Fruit-Rybka affair would be addressed here. The point being, it is MUCH easily to be found innocent when using " beyond a reasonable doubt" doctrine (as in criminal proceedings) as all that needs to be achieved is the introduction of "DOUBT". I can tell you from experience, lawyers are damned good at this!
Hi Robert

You are right about the distinction between the civil and criminal law standard of proof (assuming the applicable law applies the same standards of proof as the US or the UK). However, the criminal law standard of proof may also be relevant here, as Vas may have committed a criminal offence under the law of Poland, where he is resident. Disseminating a derivative of someone else's work without authorisation (there is no authorisation here as there is no GPL compliance) is a criminal offence in Poland. The maximum sentence is three years' imprisonment. If the perpetrator "makes the criminal offence a regular source of income" or "manages" a criminal activity of this type, he will get a prison sentence of between six months and five years. Other Polish law criminal offences are also potentially in point. I pasted the relevant provisions of the Polish legislation into an earlier post on this thread.

If Fabien/ the FSF sue Vas (or perhaps Chessbase) for damages and/or the withdrawal of Rybka 4 --> Civil law standard of proof

If the Polish police prosecute Vas for the offence of disseminating a derivative of someone else's work, without authorisation (and/or another criminal offence) --> Criminal law standard of proof

diep
Posts: 1780
Joined: Thu Mar 09, 2006 10:54 pm
Location: The Netherlands
Contact:

Re: Fabien's open letter to the community

Post by diep » Sat Jan 29, 2011 10:21 pm

CatPower wrote:
diep wrote: If you throw 100 million at a project in a science where everything is about testing, of course you always win.
Why would anyone or any government spend 100mln on a chess program?
If you'd use non-top secret classified learners/parameter tuners, let's say only stuff that's there out in the public, to achieve the same results at hardware from back then you'd need some billions rather than a 100 million.

In such type of projects they are not allowed to post the code even to show *how* the input works.

What all kind of programs share now is that even the connectivity to the learner is not there to modify parameters within the program. Each team shows up with their own silly excuses.

Why don't you ask them code towards the connectivity, as they can't afford to give that.

They'd get shot.

Vincent

diep
Posts: 1780
Joined: Thu Mar 09, 2006 10:54 pm
Location: The Netherlands
Contact:

Re: Fabien's open letter to the community

Post by diep » Sat Jan 29, 2011 10:40 pm

JuLieN wrote:@Diep
Nice to see you back, Vincent, and in what is obviously a great spirit! :D
I am not back in computerchess at all. Too much money has been thrown at computerchess to beat guys who could not even afford testhardware at home.

It is not new to fund projects there. In 90s so many got funded. I remember also neural networks that got especially funded back then for learning; most of them had a cost of some thousands to millions each. That's all ok, as they didn't play a foreground role back then.

Accurate tuning now has become so important to computerchess, as it also fixes bugs, and increase in hardware allows now to get things done there, that the government dudes can play a foreground role while playing the Einsteins.

What happened here is much more than just fund a few projects.

What's tougher to prove, yet very obvious if you joined all events, is that specific engine and engine authors have been systematically sabotaged in tournaments, which statistically lost them many points.

It was 'coincidentally' always original engines with original authors who got sabotaged. Never one of the obvious N*SA guys joining in events, these guys were the guys profitting always, even if they joined with an elo 2000 engine.

It is difficult to do statistics with 1 occasion, but if you put in a line 20 of such occurances, then a systematic pattern is there, which already gives an error of under alpha 0.05 ( 2SD ), in court more than accepted as a proof.

In fact new medicines already get allowed with alpha 0.05 ( = 2SD), which delivers those manufacturers billions (you can really say this is total outdated way to deal with it from government side - that's another discussion, government still lives in 1950s).

You can be sure it drew a lot of attention world wide. Suddenly China got interested past few years, Brazil lately, and though i completely missed that chapter, it seems also Cuba tried to get their guys in.

Post Reply