Fabien's open letter to the community

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

Moderators: hgm, Rebel, chrisw

bhandelman
Posts: 16
Joined: Thu Oct 28, 2010 7:43 am

Re: Fabien's open letter to the community

Post by bhandelman »

Ant_Gugdin wrote:
wims wrote:Its not illegal to sell gpled software. The only requirement is that the source has to be open and that all derivatives have to use the same license. For example, its perfectly legal for Red Hat to sell their Red Hat Enterprise linux package, consisting mostly of gpled software. The same way, its perfectly legal for CentOS to take the source code from Red Hat and give it away free of charge as CentOS.
As I read it, you can charge for the service of distributing free GPL'd software but you can't create a derivative work from a GPL'd program and then sell that derivative work. Here's another passage from the GPL:
Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.


Emphasis added. Rybka ain't free. :) However the waters are muddied by the fact that, although it seems Rybka 1 is almost certainly a derivative of Fruit (on the GPL definition), nobody has proved that Rybka 3/4 are.
The misunderstanding you have is the definition of free used in the GPL. You will often hear them use the phrase "free as in libre". They are speaking specifically of the freedom to modify the program. Red Hat is one of the largest linux distributors, and they sell copies of linux and applications, but the license requires them to not only release the source code of the original applications, but any changes they made. Often these changes are then incorporated back "upstream", which means Red Hat made an improvement to the kernel, and it allows Linus Torvalds to then include that patch in the kernel directly so everyone using linux benefits from it. It was the whole reason the GPL was designed by Stallman and chosen by Linus. To make it clear, here is their definition of free from the preamble:

"When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things."

In other words, the only requirements is Vas would have to publish his source code to Rybka, there would be no need for monetary compensation to anyone.
Benjamin Handelman
ICC/FICS/Playchess - bhandelman
User avatar
Graham Banks
Posts: 41416
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Fabien's open letter to the community

Post by Graham Banks »

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.
gbanksnz at gmail.com
Albert Silver
Posts: 3019
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Fabien's open letter to the community

Post by Albert Silver »

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.
No, you are confused. There are lots of criminals who are not guilty, just as there are lots of innocents who are guilty.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
User avatar
Watchman
Posts: 94
Joined: Mon Aug 25, 2008 3:09 pm
Location: Indianapolis, IN USA

Re: Fabien's open letter to the community

Post by Watchman »

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.
Rob O. / Watchman
Christopher Conkie
Posts: 6073
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Fabien's open letter to the community

Post by Christopher Conkie »

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.
Here in Scotland we also have a "not proven" verdict as well Graham.

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

Re: Fabien's open letter to the community

Post by Ant_Gugdin »

bhandelman wrote:
Ant_Gugdin wrote:
wims wrote:Its not illegal to sell gpled software. The only requirement is that the source has to be open and that all derivatives have to use the same license. For example, its perfectly legal for Red Hat to sell their Red Hat Enterprise linux package, consisting mostly of gpled software. The same way, its perfectly legal for CentOS to take the source code from Red Hat and give it away free of charge as CentOS.
As I read it, you can charge for the service of distributing free GPL'd software but you can't create a derivative work from a GPL'd program and then sell that derivative work. Here's another passage from the GPL:
Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.


Emphasis added. Rybka ain't free. :) However the waters are muddied by the fact that, although it seems Rybka 1 is almost certainly a derivative of Fruit (on the GPL definition), nobody has proved that Rybka 3/4 are.
The misunderstanding you have is the definition of free used in the GPL. You will often hear them use the phrase "free as in libre". They are speaking specifically of the freedom to modify the program. Red Hat is one of the largest linux distributors, and they sell copies of linux and applications, but the license requires them to not only release the source code of the original applications, but any changes they made. Often these changes are then incorporated back "upstream", which means Red Hat made an improvement to the kernel, and it allows Linus Torvalds to then include that patch in the kernel directly so everyone using linux benefits from it. It was the whole reason the GPL was designed by Stallman and chosen by Linus. To make it clear, here is their definition of free from the preamble:

"When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things."

In other words, the only requirements is Vas would have to publish his source code to Rybka, there would be no need for monetary compensation to anyone.
What does this bit from the GPL mean?
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
Even if I'm wrong here (and it sounds like I might well be :)), I'm still not convinced that Vas is likely to get off scot free. He clearly hasn't complied with the GPL, so he does not have permission to copy Fruit source code. The questions then are whether he can be sued for some of his profit under the applicable local law and, even if he can, whether the FSF are likely to pursue him.

It doesn't feel like the sort of situation where the FSF should be letting him off with a slap on the wrist. Howver, it's certainly true that he may be able to escape on some sort of technicality. I'd say the most likely ways out are one of the following:

- The applicable law is Russian law, which is very lax about what you can do with other people's code.

- Even though Rybka 1 was a rip-off, the first commercial version, Rybka 3 (I think) is sufficiently different from Fruit that he can't be sued. This is a pretty fundamental point. As I understand it, people have spent ages and ages proving that Rybka 1 is dodgy but nobody has even begun to try with Rybka 3. Proving that Rybka 3 is sufficiently close to Fruit would involve a lot of time and effort.

Moreover, even if he does escape on a technicality, there is a question for Chessbase about whether they want to continue carrying his products in their store.
Robert Flesher
Posts: 1280
Joined: Tue Aug 18, 2009 3:06 am

Re: Fabien's open letter to the community

Post by Robert Flesher »

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.
Ant_Gugdin
Posts: 60
Joined: Sun Dec 26, 2010 9:13 pm

Re: Fabien's open letter to the community

Post by Ant_Gugdin »

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.
If Rybka 1 had been sold for profit then we could make an educated guess that there would be a bad outcome for Vas, although it's a question of either Russian or French law. There appears to be extensive proof that Rybka 1 is a Fruit derivative.

However, you would expect (again, on an educated guess) that if some of Vas' money is to be taken from him, people are going to need to prove that Rybka 3 is a Fruit derivative as well. That would mean all the work which Robert Hyatt, Zach Wegner etc did examining Rybka 1 has to be done again with Rybka 3. And it will be more difficult this time, as the similarities between Rybka 3 and Fruit will be much more nebulous.

Maybe someone should get in touch with the Ippolit authors, to ask for some help. :)

Really, this should have been sorted five years ago by the FSF forcing Vas to release the Rybka 1 source code.
Ant_Gugdin
Posts: 60
Joined: Sun Dec 26, 2010 9:13 pm

Re: Fabien's open letter to the community

Post by Ant_Gugdin »

Edit: I had it in my head from somewhere that Vas lived in Russia. I've just realised that this is actually rubbish - he lives in Poland. So scratch what I said about the relevance of Russian law. The applicable law *may* be Polish law.
diep
Posts: 1822
Joined: Thu Mar 09, 2006 11:54 pm
Location: The Netherlands

Re: Fabien's open letter to the community

Post by diep »

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.