Fwd: Open letter to the CSVN

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

Moderator: Ras

User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Fwd: Open letter to the CSVN

Post by michiguel »

Uri Blass wrote:I think that part of the letter is clearly wrong.

" Rybka is a without a shred of doubt a direct derivative of Crafty/Fruit and Mr. Rajlich concealed these origins from the Tournament Director."


They never checked Rybka3 or Rybka4 so they can tell something about old Rybka and not about new rybka.
They did check and did not find what they found in R1.

BTW, including the word "Crafty" in that sentence is grossly misleading.

Miguel

I also read no evidence that Rybka1 beta or later rybka is a direct derivative of Crafty so I think that the Crafty part is misleading and I know that there are people who disagree with the claim that Rybka is a derivative of fruit(I do not claim that it is not but only that it is not something that all the programmers agree about)
Sean Evans
Posts: 1777
Joined: Thu Jun 05, 2008 10:58 pm
Location: Canada

Re: Fwd: Open letter to the CSVN

Post by Sean Evans »

Did all of the authors that signed the letter to the ICGA sign the letter to the CSVN? Does not look like it to me!

What is to stop the CSVN or any other organization or person from having a computer chess tournament and publishing the results with any chess program that is obtainable either by procurement or freeware?

In other words, what is your leverage to force the CSVN to not include Rybka or any other program for that matter?

For example, if I start a computer chess tourney and include Crafty and Rybka and Hyatt says he wants out and I say "stuff-it", what options would Hyatt have to stop the tourney?

Cordially,

Sean
User avatar
hgm
Posts: 28353
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fwd: Open letter to the CSVN

Post by hgm »

I guess he could sue you for infringement of the license. Doesn't the Crafty license explicitly forbid you to use it in tournaments without Bob's written permission?
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Fwd: Open letter to the CSVN

Post by Don »

Uri Blass wrote:
Don wrote:
Uri Blass wrote:I think that part of the letter is clearly wrong.

" Rybka is a without a shred of doubt a direct derivative of Crafty/Fruit and Mr. Rajlich concealed these origins from the Tournament Director."


They never checked Rybka3 or Rybka4 so they can tell something about old Rybka and not about new rybka.
I don't understand why any logical person would consider this an important distinction. If I went to a mechanic to get work done and he charged me for stuff he didn't do, I would never go back to him again, ever.... How many times do you have to be sucker punched before you get smart?

If such a mechanic had some kind of change of heart, he would have to give me powerful evidence that something had changed and it would have to start with a very sincere apology and admitting what he had done and there is good chance that would not be enough. We don't see anything like that here.
It may not be important for the decision not to pariticipate or to be against Vas but I think that it should be important for the content of the letter.

I see a clear difference between the claim
"Rybka is a direct derivative of Crafty/Fruit "
and the claim:
"Rybka was a direct derivative of Crafty(more than 6 years ago) and a direct derivative of Fruit including Rybka2.3.2a)"

Vas is clearly more quilty in the first case.
The statement, "Rybka is a direct derivative of Crafty/Fruit" is about as accurate as you can get. You are seriously nitpicking here. It's very easy to understand that this applies to older version of Rybka more than newer versions - after all the word "direct derivative" can only apply to one version. Each subsequent version is less like the original. There is nothing whatsoever misleading about this.

The idea that you should wait for Vas to make as many different changes as possible and judge him on the most changed version of Rybka is rather silly. Sooner or later he will make enough changes that it will be difficult to prove it is a Fruit derivative even though it is. Is that really the point of this, to hide the truth as much as possible?
Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: Fwd: Open letter to the CSVN

Post by Terry McCracken »

Don wrote:
Uri Blass wrote:
Don wrote:
Uri Blass wrote:I think that part of the letter is clearly wrong.

" Rybka is a without a shred of doubt a direct derivative of Crafty/Fruit and Mr. Rajlich concealed these origins from the Tournament Director."


They never checked Rybka3 or Rybka4 so they can tell something about old Rybka and not about new rybka.
I don't understand why any logical person would consider this an important distinction. If I went to a mechanic to get work done and he charged me for stuff he didn't do, I would never go back to him again, ever.... How many times do you have to be sucker punched before you get smart?

If such a mechanic had some kind of change of heart, he would have to give me powerful evidence that something had changed and it would have to start with a very sincere apology and admitting what he had done and there is good chance that would not be enough. We don't see anything like that here.
It may not be important for the decision not to pariticipate or to be against Vas but I think that it should be important for the content of the letter.

I see a clear difference between the claim
"Rybka is a direct derivative of Crafty/Fruit "
and the claim:
"Rybka was a direct derivative of Crafty(more than 6 years ago) and a direct derivative of Fruit including Rybka2.3.2a)"

Vas is clearly more quilty in the first case.
The statement, "Rybka is a direct derivative of Crafty/Fruit" is about as accurate as you can get. You are seriously nitpicking here. It's very easy to understand that this applies to older version of Rybka more than newer versions - after all the word "direct derivative" can only apply to one version. Each subsequent version is less like the original. There is nothing whatsoever misleading about this.

The idea that you should wait for Vas to make as many different changes as possible and judge him on the most changed version of Rybka is rather silly. Sooner or later he will make enough changes that it will be difficult to prove it is a Fruit derivative even though it is. Is that really the point of this, to hide the truth as much as possible?
A lot of people seem to think so. Why?...well that's human nature for you-convolute reality so you can digest it. To justify your beliefs when they're challenged.
Terry McCracken
User avatar
marcelk
Posts: 348
Joined: Sat Feb 27, 2010 12:21 am

Re: Fwd: Open letter to the CSVN

Post by marcelk »

Sean Evans wrote:Did all of the authors that signed the letter to the ICGA sign the letter to the CSVN? Does not look like it to me!
No, they didn't. Why do you need to ask that question. It is relatively easy to compare the names and figure out, perhaps after a few sleepless nights, the differences (at least for a fifth-grader it is. The general level in this forum is above that. If you have difficulties please explain so and somebody will probably help you out.)
Sean Evans wrote:What is to stop the CSVN or any other organization or person from having a computer chess tournament and publishing the results with any chess program that is obtainable either by procurement or freeware?

In other words, what is your leverage to force the CSVN to not include Rybka or any other program for that matter?
Nothing. They can do what they want to do within their charter and within local law. They live in a free world. Their members might or might not agree that respecting IP rights is something that is part of their charter. In general, in this country nothing is stopping anyone beforehand from doing anything if it doesn't cause immediate harm to another person (except for speeding). Go ahead, come over and try, it is really fun here.
Sean Evans wrote:For example, if I start a computer chess tourney and include Crafty and Rybka and Hyatt says he wants out and I say "stuff-it", what options would Hyatt have to stop the tourney?
Nothing stops you from starting that tourney. Why would he try to stop it? If he wants to, there are many options for him. He can send you an e-mail. He can file a frivolous lawsuit. He can fly over, break your window, enter your house and unplug your computer. He can fly over and kidnap your cat and make a demand and you might give in. What is your point?
Last edited by marcelk on Fri Sep 23, 2011 12:24 am, edited 1 time in total.
rodolfoleoni
Posts: 263
Joined: Mon Nov 29, 2010 9:16 pm

Re: Fwd: Open letter to the CSVN

Post by rodolfoleoni »

Don wrote:
Uri Blass wrote:
Don wrote:
Uri Blass wrote:I think that part of the letter is clearly wrong.

" Rybka is a without a shred of doubt a direct derivative of Crafty/Fruit and Mr. Rajlich concealed these origins from the Tournament Director."


They never checked Rybka3 or Rybka4 so they can tell something about old Rybka and not about new rybka.
I don't understand why any logical person would consider this an important distinction. If I went to a mechanic to get work done and he charged me for stuff he didn't do, I would never go back to him again, ever.... How many times do you have to be sucker punched before you get smart?

If such a mechanic had some kind of change of heart, he would have to give me powerful evidence that something had changed and it would have to start with a very sincere apology and admitting what he had done and there is good chance that would not be enough. We don't see anything like that here.
It may not be important for the decision not to pariticipate or to be against Vas but I think that it should be important for the content of the letter.

I see a clear difference between the claim
"Rybka is a direct derivative of Crafty/Fruit "
and the claim:
"Rybka was a direct derivative of Crafty(more than 6 years ago) and a direct derivative of Fruit including Rybka2.3.2a)"

Vas is clearly more quilty in the first case.
The statement, "Rybka is a direct derivative of Crafty/Fruit" is about as accurate as you can get. You are seriously nitpicking here. It's very easy to understand that this applies to older version of Rybka more than newer versions - after all the word "direct derivative" can only apply to one version. Each subsequent version is less like the original. There is nothing whatsoever misleading about this.

The idea that you should wait for Vas to make as many different changes as possible and judge him on the most changed version of Rybka is rather silly. Sooner or later he will make enough changes that it will be difficult to prove it is a Fruit derivative even though it is. Is that really the point of this, to hide the truth as much as possible?
I wish to spend my two cents here: one cent to say I agree with ICGA panel sentence and the last cent to put a question.

Let us assume I want to build my first chess program, so I take the good old TSCP and I start making experiments to learn how the whole stuff works. At a point I'm able to improve it and I call it kkk v. 0.x. I build as many 0.x versions as I can, until I decided I learned enough from it and I build my engine kkk v. 1.0, with 0% code from the original TSCP. Should it be considered a derivative?

Of course, I could keep all 0.x versions private, so nobody would never say anything about cloning, copying, etc... But, what if I release all of them? Is the only difference between an honest and a dishonest work the fact of releasing all versions?

Thanks for opinions... :)
Rodolfo (The Baron Team)
User avatar
marcelk
Posts: 348
Joined: Sat Feb 27, 2010 12:21 am

Re: Fwd: Open letter to the CSVN

Post by marcelk »

rodolfoleoni wrote:I wish to spend my two cents here: one cent to say I agree with ICGA panel sentence and the last cent to put a question.

Let us assume I want to build my first chess program, so I take the good old TSCP and I start making experiments to learn how the whole stuff works. At a point I'm able to improve it and I call it kkk v. 0.x. I build as many 0.x versions as I can, until I decided I learned enough from it and I build my engine kkk v. 1.0, with 0% code from the original TSCP. Should it be considered a derivative?

Of course, I could keep all 0.x versions private, so nobody would never say anything about cloning, copying, etc... But, what if I release all of them? Is the only difference between an honest and a dishonest work the fact of releasing all versions?

Thanks for opinions... :)
There are two things.

TSCP is of is of a different order of magnitude than Fruit. In running a marathon, it matters if you cheat with a foot step at the start of the race or if you take a taxi for the first 10 km.

Second, in making a chess engine, you make a lot of micro-decisions in your game playing code that are rather arbitrary. In the end your program may have 40,000 lines of code, and it might contains maybe 250 chess-domain ideas that affect strength. But in those 40k lines of code, you make a lot of choices that affect strength not at all, or below 0.1 elo. And you make these decisions every 50 lines of code or so. That gives you 800 arbitrary choices in a normal program.

Now, anyone who writes a chess engine from scratch, the 250 ideas will overlap a lot, but the micro-dicisions will be more more or less made at random. One programmer uses A and another one uses B. They are at least as random such that they correlate with nobody else's engine. Now if a lot of those micro-decisions turn out to be the same as somebody else's, then that is very strong evidence that you didn't do a cleanroom reimplementation of ideas, but that you took somebody's else's implementation to built your own program by copying step by step of it. And that is plagiarism.

Whether or not such practice is acceptable or not depends on the culture that you live in. I have a nice Chinese painting on my wall here with huge red name stamps on it representing the emperors who once 'owned' the painting. On the other side of the spectrum, in ICGA tournaments the originality requirement is relatively high, maybe even surpassing those of the Berne convention. If you don't agree with them, then don't join their tournaments (or become a member and try to change their rules from within)
rodolfoleoni
Posts: 263
Joined: Mon Nov 29, 2010 9:16 pm

Re: Fwd: Open letter to the CSVN

Post by rodolfoleoni »

marcelk wrote:
rodolfoleoni wrote:I wish to spend my two cents here: one cent to say I agree with ICGA panel sentence and the last cent to put a question.

Let us assume I want to build my first chess program, so I take the good old TSCP and I start making experiments to learn how the whole stuff works. At a point I'm able to improve it and I call it kkk v. 0.x. I build as many 0.x versions as I can, until I decided I learned enough from it and I build my engine kkk v. 1.0, with 0% code from the original TSCP. Should it be considered a derivative?

Of course, I could keep all 0.x versions private, so nobody would never say anything about cloning, copying, etc... But, what if I release all of them? Is the only difference between an honest and a dishonest work the fact of releasing all versions?

Thanks for opinions... :)
There are two things.

TSCP is of is of a different order of magnitude than Fruit. In running a marathon, it matters if you cheat with a foot step at the start of the race or if you take a taxi for the first 10 km.

Second, in making a chess engine, you make a lot of micro-decisions in your game playing code that are rather arbitrary. In the end your program may have 40,000 lines of code, and it might contains maybe 250 chess-domain ideas that affect strength. But in those 40k lines of code, you make a lot of choices that affect strength not at all, or below 0.1 elo. And you make these decisions every 50 lines of code or so. That gives you 800 arbitrary choices in a normal program.

Now, anyone who writes a chess engine from scratch, the 250 ideas will overlap a lot, but the micro-dicisions will be more more or less made at random. One programmer uses A and another one uses B. They are at least as random such that they correlate with nobody else's engine. Now if a lot of those micro-decisions turn out to be the same as somebody else's, then that is very strong evidence that you didn't do a cleanroom reimplementation of ideas, but that you took somebody's else's implementation to built your own program by copying step by step of it. And that is plagiarism.

Whether or not such practice is acceptable or not depends on the culture that you live in. I have a nice Chinese painting on my wall here with huge red name stamps on it representing the emperors who once 'owned' the painting. On the other side of the spectrum, in ICGA tournaments the originality requirement is relatively high, maybe even surpassing those of the Berne convention. If you don't agree with them, then don't join their tournaments (or become a member and try to change their rules from within)
Agreeable.

What seems to me is that CSVN standards became lower than ICGA ones. Evidences about Rybka first versions being a derivative seem clear to me, at least about movegen and eval. So, if they accept a derivative, maybe next step could be to accept the Ippos.... :roll:

I'm rather proud to be a Baron team member, and to see Richard sign in the document.
Rodolfo (The Baron Team)
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Fwd: Open letter to the CSVN

Post by Don »

rodolfoleoni wrote:
Don wrote:
Uri Blass wrote:
Don wrote:
Uri Blass wrote:I think that part of the letter is clearly wrong.

" Rybka is a without a shred of doubt a direct derivative of Crafty/Fruit and Mr. Rajlich concealed these origins from the Tournament Director."


They never checked Rybka3 or Rybka4 so they can tell something about old Rybka and not about new rybka.
I don't understand why any logical person would consider this an important distinction. If I went to a mechanic to get work done and he charged me for stuff he didn't do, I would never go back to him again, ever.... How many times do you have to be sucker punched before you get smart?

If such a mechanic had some kind of change of heart, he would have to give me powerful evidence that something had changed and it would have to start with a very sincere apology and admitting what he had done and there is good chance that would not be enough. We don't see anything like that here.
It may not be important for the decision not to pariticipate or to be against Vas but I think that it should be important for the content of the letter.

I see a clear difference between the claim
"Rybka is a direct derivative of Crafty/Fruit "
and the claim:
"Rybka was a direct derivative of Crafty(more than 6 years ago) and a direct derivative of Fruit including Rybka2.3.2a)"

Vas is clearly more quilty in the first case.
The statement, "Rybka is a direct derivative of Crafty/Fruit" is about as accurate as you can get. You are seriously nitpicking here. It's very easy to understand that this applies to older version of Rybka more than newer versions - after all the word "direct derivative" can only apply to one version. Each subsequent version is less like the original. There is nothing whatsoever misleading about this.

The idea that you should wait for Vas to make as many different changes as possible and judge him on the most changed version of Rybka is rather silly. Sooner or later he will make enough changes that it will be difficult to prove it is a Fruit derivative even though it is. Is that really the point of this, to hide the truth as much as possible?
I wish to spend my two cents here: one cent to say I agree with ICGA panel sentence and the last cent to put a question.

Let us assume I want to build my first chess program, so I take the good old TSCP and I start making experiments to learn how the whole stuff works. At a point I'm able to improve it and I call it kkk v. 0.x. I build as many 0.x versions as I can, until I decided I learned enough from it and I build my engine kkk v. 1.0, with 0% code from the original TSCP. Should it be considered a derivative?

Of course, I could keep all 0.x versions private, so nobody would never say anything about cloning, copying, etc... But, what if I release all of them? Is the only difference between an honest and a dishonest work the fact of releasing all versions?

Thanks for opinions... :)
A big part of open source programs is to learn from them. Bob Hyatt has said this many times about Crafty. So there is no problem with taking a program like Crafty and learning as much as possible from it. Or even modifying it for you own pleasure and fun. You can even make your modifications public source too - you just cannot change the licence and take credit for it. Of course you also cannot use this modified Crafty to play in ICGA rules.

You can then write your own program and use the ideas you learned from Crafty and other open source programs and add your own ideas too. What you cannot do is make a functionally identical clone of Crafty and/or copy code verbatim. Without actually copying code in cut and paste style you could still "copy" it pretty much verbatim by porting it to a different programming language, which is still plagiarism. Or you could change the data representation which amounts to a different kind of "port." If translate any great work of literature into another language it's still the same work of literature. Same with chess.

It's true that if you are clever enough, you might manage to pull it off if you make enough changes and try to hide what you are doing - but it is amazingly difficult to do this well enough to fool anybody and even if you could, would you really gain any satisfaction from doing so?

You would probably be given a lot of slack if you started with TSCP. It's not a highly developed programs to start with and the data structure is pretty ubiquitous. I don't think anybody is going to really care if you "borrow" the data structure from such a program and I personally believe it would be a silly exercise to make minor changes just to make it different.

This is my personal opinion, but the most difficult part of a chess program is the evaluation function and if you copy that from a top program, you really have stolen it. It's very difficult to get this part right and most people are not capable of it. However, given a top notch evaluation function it's not that difficult to find a number of improvements. Komodo's evaluation function has taken us years to develop and tune and we are STILL tuning and developing it. Imagine someone just taking those years from you as a starting point for their "new" chess engine and you might start to understand how chess authors feel about plagiarism.