Speaking of false evidence...

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

Moderator: Ras

Terry McCracken
Posts: 16465
Joined: Wed Aug 01, 2007 4:16 am
Location: Canada

Re: Speaking of false evidence...

Post by Terry McCracken »

Osipov Jury wrote:What's the difference how much code was borrowed/stolen from Fruit by Vas and me? As a result now we have Rybka 3. It is a very great achievement of human race. We all must be very happy.
The GPL, however I concur it's a great program.
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Speaking of false evidence...

Post by tiger »

Uri Blass wrote:
tiger wrote:
Uri Blass wrote:
Tony wrote:
bob wrote:
Tony wrote:
bob wrote:
Dann Corbit wrote:
Graham Banks wrote:Should be interesting to see how the accusers respond to this! :wink:
I hope that they respond as follows:
1. Download the disassembly tools or use their favorite disassembler.
2. Disassemble the binaries themselves.
3. Examine the resulting listings carefully.
4. Form their own conclusions.

I will be genuinely interested in what they have to say if they actually perform these steps. I am not interested in discourse with anyone who has not done so, because they are running on hearsay evidence and evidence I believe to be largely fabricated.
Would you now like to perhaps retract that last statement? rather than someone fabricating something, you simply didn't understand how to use the tools you listed in order to conclude anything that was even close to being correct. That is the very kind of thing we _don't_ need to happen. It only hurts the discussion. I looked at the asm you posted. It appears that it might well be the binary for strtok(). the source for strtok() is quite large, because of the way it is written using other string functions, and if necessary I could easily compile the thing and produce the assembly output to show this... That is the code you said was not called and did not appear anywhere. Which is impossible to verify with a stripped executable. Stripping saves memory, but also hides much. It is not a 10 minute job (which it appears you thought it was) to make these kinds of determinations. it is more complicated than that because of conditions beyond anybody's control (stripping for one). If this were a linux executable we wouldn't even be having this discussion because strtok() would not be anywhere in the executable, it is in a shared lib that is a separate entity.
He isn't as neutral as he tries to appear to be ( see my response 1 page back)

Besides: If you can't recognize Fruit in the Strelka code, how big are the chances you can recognize simmularities in assembly.


Tony
I'm not so willing to jump that far to suspect bias. But clearly there was a gross misunderstanding of disassembled code somehow... To do this kind of stuff, you need one extra tool that he didn't mention, that being enough experience at looking at asm code to recognize it for what it is. This is not "obfuscated" intentionally but when something gets the symbol tables stripped away, the result is a real pain to read.
I've had the same discussion with Dan about the sourcecode of Strelka and Fruit.

Dan claimed they were not related.

Tony
This is not only the opinion of Dann and I remember that Tord also said something similiar.

The question is how much similiarity is allowed in chess programs and there are clearly different opinions about it.

Your opinion and Bob hyatt's opinion seem to be also against taking ideas
if you take too much because if you understand the code well and have a good memory then you may even write from scratch a code that is almost identical without copy and paste.

Chess programs are also different from book.
Every programmer want to be the best so if somebody has good ideas and you understand them it is not logical to modify it to inferior code.

This is the reason that I think that my opinion is that in chess programs(unlike books)sections of equivalent code are not always a proof for copying.

Uri


As you already told us that you program mainly by copying and pasting short sections of code from examples, is there a possibility that you feel that your way of building your chess program could be considered illegal?



// Christophe
I did not say that I program mainly by copying and pasting short section of code from examples.

It is a distortion of my words and most of movei's code is clearly not based on copying and pasting and certainly most of the time of coding is not about copying and pasting.

I worked a lot of time on my move generator.
I have original structure of the board that is not 0x88 or bitboards
so I certainly could not use copy and paste for that code.

Note that I practically did not understand much of fruit or strelka
so part of the reason that movei is more original is the fact that
I did not fully undertstand code of others and used ideas that I did not read from other sources.

I will probably quit chess programming(not that I worked on it in the last months) because it seems to me that if I understand the code of other people and use ideas to improve my program then people are going to consider it as non original and even if I use ideas from fruit to write a go playing program people may blame me that it is against the gpl so I am probably not going to program even non chess game playing program.

Uri


Movei original, my fault, because dont understand Fruit.

Nasty GPL, wants Uri to quit.

Life sssooooo unfair.



// Christophe
Tony

Re: Speaking of false evidence...

Post by Tony »

Terry McCracken wrote:
Osipov Jury wrote:What's the difference how much code was borrowed/stolen from Fruit by Vas and me? As a result now we have Rybka 3. It is a very great achievement of human race. We all must be very happy.
The GPL, however I concur it's a great program.
I do not disagree (with the second part)

What seems to get snowed under is that most (if not all) of the Rybka improvements were not from Fruit.

IMO It's because of Vasik's way of testing. I think it's vastly superior to what anybody has done before. It may have been based on others ideas or all by himself (themselves) but it seems pretty unique.

But that doesn't excuse breaking the GPL

Tony
chrisw

Re: Speaking of false evidence...

Post by chrisw »

tiger wrote:
Uri Blass wrote:
tiger wrote:
Uri Blass wrote:
Tony wrote:
bob wrote:
Tony wrote:
bob wrote:
Dann Corbit wrote:
Graham Banks wrote:Should be interesting to see how the accusers respond to this! :wink:
I hope that they respond as follows:
1. Download the disassembly tools or use their favorite disassembler.
2. Disassemble the binaries themselves.
3. Examine the resulting listings carefully.
4. Form their own conclusions.

I will be genuinely interested in what they have to say if they actually perform these steps. I am not interested in discourse with anyone who has not done so, because they are running on hearsay evidence and evidence I believe to be largely fabricated.
Would you now like to perhaps retract that last statement? rather than someone fabricating something, you simply didn't understand how to use the tools you listed in order to conclude anything that was even close to being correct. That is the very kind of thing we _don't_ need to happen. It only hurts the discussion. I looked at the asm you posted. It appears that it might well be the binary for strtok(). the source for strtok() is quite large, because of the way it is written using other string functions, and if necessary I could easily compile the thing and produce the assembly output to show this... That is the code you said was not called and did not appear anywhere. Which is impossible to verify with a stripped executable. Stripping saves memory, but also hides much. It is not a 10 minute job (which it appears you thought it was) to make these kinds of determinations. it is more complicated than that because of conditions beyond anybody's control (stripping for one). If this were a linux executable we wouldn't even be having this discussion because strtok() would not be anywhere in the executable, it is in a shared lib that is a separate entity.
He isn't as neutral as he tries to appear to be ( see my response 1 page back)

Besides: If you can't recognize Fruit in the Strelka code, how big are the chances you can recognize simmularities in assembly.


Tony
I'm not so willing to jump that far to suspect bias. But clearly there was a gross misunderstanding of disassembled code somehow... To do this kind of stuff, you need one extra tool that he didn't mention, that being enough experience at looking at asm code to recognize it for what it is. This is not "obfuscated" intentionally but when something gets the symbol tables stripped away, the result is a real pain to read.
I've had the same discussion with Dan about the sourcecode of Strelka and Fruit.

Dan claimed they were not related.

Tony
This is not only the opinion of Dann and I remember that Tord also said something similiar.

The question is how much similiarity is allowed in chess programs and there are clearly different opinions about it.

Your opinion and Bob hyatt's opinion seem to be also against taking ideas
if you take too much because if you understand the code well and have a good memory then you may even write from scratch a code that is almost identical without copy and paste.

Chess programs are also different from book.
Every programmer want to be the best so if somebody has good ideas and you understand them it is not logical to modify it to inferior code.

This is the reason that I think that my opinion is that in chess programs(unlike books)sections of equivalent code are not always a proof for copying.

Uri


As you already told us that you program mainly by copying and pasting short sections of code from examples, is there a possibility that you feel that your way of building your chess program could be considered illegal?



// Christophe
I did not say that I program mainly by copying and pasting short section of code from examples.

It is a distortion of my words and most of movei's code is clearly not based on copying and pasting and certainly most of the time of coding is not about copying and pasting.

I worked a lot of time on my move generator.
I have original structure of the board that is not 0x88 or bitboards
so I certainly could not use copy and paste for that code.

Note that I practically did not understand much of fruit or strelka
so part of the reason that movei is more original is the fact that
I did not fully undertstand code of others and used ideas that I did not read from other sources.

I will probably quit chess programming(not that I worked on it in the last months) because it seems to me that if I understand the code of other people and use ideas to improve my program then people are going to consider it as non original and even if I use ideas from fruit to write a go playing program people may blame me that it is against the gpl so I am probably not going to program even non chess game playing program.

Uri


Movei original, my fault, because dont understand Fruit.

Nasty GPL, wants Uri to quit.

Life sssooooo unfair.

// Christophe
If your case was any good, you'ld be sticking to the original target.

Readers will draw their own conclusions.
Uri Blass
Posts: 10897
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Speaking of false evidence...

Post by Uri Blass »

tiger wrote:
Uri Blass wrote:
tiger wrote:
Uri Blass wrote:
Tony wrote:
bob wrote:
Tony wrote:
bob wrote:
Dann Corbit wrote:
Graham Banks wrote:Should be interesting to see how the accusers respond to this! :wink:
I hope that they respond as follows:
1. Download the disassembly tools or use their favorite disassembler.
2. Disassemble the binaries themselves.
3. Examine the resulting listings carefully.
4. Form their own conclusions.

I will be genuinely interested in what they have to say if they actually perform these steps. I am not interested in discourse with anyone who has not done so, because they are running on hearsay evidence and evidence I believe to be largely fabricated.
Would you now like to perhaps retract that last statement? rather than someone fabricating something, you simply didn't understand how to use the tools you listed in order to conclude anything that was even close to being correct. That is the very kind of thing we _don't_ need to happen. It only hurts the discussion. I looked at the asm you posted. It appears that it might well be the binary for strtok(). the source for strtok() is quite large, because of the way it is written using other string functions, and if necessary I could easily compile the thing and produce the assembly output to show this... That is the code you said was not called and did not appear anywhere. Which is impossible to verify with a stripped executable. Stripping saves memory, but also hides much. It is not a 10 minute job (which it appears you thought it was) to make these kinds of determinations. it is more complicated than that because of conditions beyond anybody's control (stripping for one). If this were a linux executable we wouldn't even be having this discussion because strtok() would not be anywhere in the executable, it is in a shared lib that is a separate entity.
He isn't as neutral as he tries to appear to be ( see my response 1 page back)

Besides: If you can't recognize Fruit in the Strelka code, how big are the chances you can recognize simmularities in assembly.


Tony
I'm not so willing to jump that far to suspect bias. But clearly there was a gross misunderstanding of disassembled code somehow... To do this kind of stuff, you need one extra tool that he didn't mention, that being enough experience at looking at asm code to recognize it for what it is. This is not "obfuscated" intentionally but when something gets the symbol tables stripped away, the result is a real pain to read.
I've had the same discussion with Dan about the sourcecode of Strelka and Fruit.

Dan claimed they were not related.

Tony
This is not only the opinion of Dann and I remember that Tord also said something similiar.

The question is how much similiarity is allowed in chess programs and there are clearly different opinions about it.

Your opinion and Bob hyatt's opinion seem to be also against taking ideas
if you take too much because if you understand the code well and have a good memory then you may even write from scratch a code that is almost identical without copy and paste.

Chess programs are also different from book.
Every programmer want to be the best so if somebody has good ideas and you understand them it is not logical to modify it to inferior code.

This is the reason that I think that my opinion is that in chess programs(unlike books)sections of equivalent code are not always a proof for copying.

Uri


As you already told us that you program mainly by copying and pasting short sections of code from examples, is there a possibility that you feel that your way of building your chess program could be considered illegal?



// Christophe
I did not say that I program mainly by copying and pasting short section of code from examples.

It is a distortion of my words and most of movei's code is clearly not based on copying and pasting and certainly most of the time of coding is not about copying and pasting.

I worked a lot of time on my move generator.
I have original structure of the board that is not 0x88 or bitboards
so I certainly could not use copy and paste for that code.

Note that I practically did not understand much of fruit or strelka
so part of the reason that movei is more original is the fact that
I did not fully undertstand code of others and used ideas that I did not read from other sources.

I will probably quit chess programming(not that I worked on it in the last months) because it seems to me that if I understand the code of other people and use ideas to improve my program then people are going to consider it as non original and even if I use ideas from fruit to write a go playing program people may blame me that it is against the gpl so I am probably not going to program even non chess game playing program.

Uri


Movei original, my fault, because dont understand Fruit.

Nasty GPL, wants Uri to quit.

Life sssooooo unfair.



// Christophe
The problem is that I feel like Chris Whittington that it is a witchhunt.
I feel that even if I do not break the GPL people are going to claim that I break the GPL because of some similiar parts to another program.

Not that I am not convinced that Vas broke the GPL and I think that people consider the GPL as something more strong then it really is.

The target based on Fabien was against copy and paste and not against using ideas and what is done against rybka seems to me against the intentions of Fabien.

Note that Fabien did not say that Strelka break the GPL when he was asked to give an opinion.

Uri
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Speaking of false evidence...

Post by Zach Wegner »

Uri Blass wrote:Note that Fabien did not say that Strelka break the GPL when he was asked to give an opinion.
Of course he said that, because Strelka doesn't. Strelka is a translation of code. C code->compiler->disassembler->Strelka. AFAIK that is perfectly legal as far as the GPL is concerned. The issue is what the code was like before it was translated.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Speaking of false evidence...

Post by bob »

Uri Blass wrote:
Tony wrote:
bob wrote:
Tony wrote:
bob wrote:
Dann Corbit wrote:
Graham Banks wrote:Should be interesting to see how the accusers respond to this! :wink:
I hope that they respond as follows:
1. Download the disassembly tools or use their favorite disassembler.
2. Disassemble the binaries themselves.
3. Examine the resulting listings carefully.
4. Form their own conclusions.

I will be genuinely interested in what they have to say if they actually perform these steps. I am not interested in discourse with anyone who has not done so, because they are running on hearsay evidence and evidence I believe to be largely fabricated.
Would you now like to perhaps retract that last statement? rather than someone fabricating something, you simply didn't understand how to use the tools you listed in order to conclude anything that was even close to being correct. That is the very kind of thing we _don't_ need to happen. It only hurts the discussion. I looked at the asm you posted. It appears that it might well be the binary for strtok(). the source for strtok() is quite large, because of the way it is written using other string functions, and if necessary I could easily compile the thing and produce the assembly output to show this... That is the code you said was not called and did not appear anywhere. Which is impossible to verify with a stripped executable. Stripping saves memory, but also hides much. It is not a 10 minute job (which it appears you thought it was) to make these kinds of determinations. it is more complicated than that because of conditions beyond anybody's control (stripping for one). If this were a linux executable we wouldn't even be having this discussion because strtok() would not be anywhere in the executable, it is in a shared lib that is a separate entity.
He isn't as neutral as he tries to appear to be ( see my response 1 page back)

Besides: If you can't recognize Fruit in the Strelka code, how big are the chances you can recognize simmularities in assembly.


Tony
I'm not so willing to jump that far to suspect bias. But clearly there was a gross misunderstanding of disassembled code somehow... To do this kind of stuff, you need one extra tool that he didn't mention, that being enough experience at looking at asm code to recognize it for what it is. This is not "obfuscated" intentionally but when something gets the symbol tables stripped away, the result is a real pain to read.
I've had the same discussion with Dan about the sourcecode of Strelka and Fruit.

Dan claimed they were not related.

Tony
This is not only the opinion of Dann and I remember that Tord also said something similiar.

The question is how much similiarity is allowed in chess programs and there are clearly different opinions about it.

Your opinion and Bob hyatt's opinion seem to be also against taking ideas
if you take too much because if you understand the code well and have a good memory then you may even write from scratch a code that is almost identical without copy and paste.
Again, I only wish it were possible to accurately quote what I have written dozens of times. Using ideas is fine. I even explained where I got the idea for transposition tables from, namely directly from a paper published by Greenblatt in the 1960's that was published in the Digital Journal. Taking "ideas" is fine. Taking source code may or may not be fine. Many people have asked if they can use parts of Crafty. Parts outside what I consider the "engine-critical code" of search and evaluation. And I have said "I have no problem with that." But for a GPL program, what I think and what the law says are two different things.

Chess programs are also different from book.
Every programmer want to be the best so if somebody has good ideas and you understand them it is not logical to modify it to inferior code.
All I can say there is "that's just tough". I wish I had more money. So I should walk in and rob a bank?

This is the reason that I think that my opinion is that in chess programs(unlike books)sections of equivalent code are not always a proof for copying.

Uri
Unfortunately, there is no other way to get sections of equivalent code, but copying...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Speaking of false evidence...

Post by bob »

Uri Blass wrote:
tiger wrote:
Uri Blass wrote:
Tony wrote:
bob wrote:
Tony wrote:
bob wrote:
Dann Corbit wrote:
Graham Banks wrote:Should be interesting to see how the accusers respond to this! :wink:
I hope that they respond as follows:
1. Download the disassembly tools or use their favorite disassembler.
2. Disassemble the binaries themselves.
3. Examine the resulting listings carefully.
4. Form their own conclusions.

I will be genuinely interested in what they have to say if they actually perform these steps. I am not interested in discourse with anyone who has not done so, because they are running on hearsay evidence and evidence I believe to be largely fabricated.
Would you now like to perhaps retract that last statement? rather than someone fabricating something, you simply didn't understand how to use the tools you listed in order to conclude anything that was even close to being correct. That is the very kind of thing we _don't_ need to happen. It only hurts the discussion. I looked at the asm you posted. It appears that it might well be the binary for strtok(). the source for strtok() is quite large, because of the way it is written using other string functions, and if necessary I could easily compile the thing and produce the assembly output to show this... That is the code you said was not called and did not appear anywhere. Which is impossible to verify with a stripped executable. Stripping saves memory, but also hides much. It is not a 10 minute job (which it appears you thought it was) to make these kinds of determinations. it is more complicated than that because of conditions beyond anybody's control (stripping for one). If this were a linux executable we wouldn't even be having this discussion because strtok() would not be anywhere in the executable, it is in a shared lib that is a separate entity.
He isn't as neutral as he tries to appear to be ( see my response 1 page back)

Besides: If you can't recognize Fruit in the Strelka code, how big are the chances you can recognize simmularities in assembly.


Tony
I'm not so willing to jump that far to suspect bias. But clearly there was a gross misunderstanding of disassembled code somehow... To do this kind of stuff, you need one extra tool that he didn't mention, that being enough experience at looking at asm code to recognize it for what it is. This is not "obfuscated" intentionally but when something gets the symbol tables stripped away, the result is a real pain to read.
I've had the same discussion with Dan about the sourcecode of Strelka and Fruit.

Dan claimed they were not related.

Tony
This is not only the opinion of Dann and I remember that Tord also said something similiar.

The question is how much similiarity is allowed in chess programs and there are clearly different opinions about it.

Your opinion and Bob hyatt's opinion seem to be also against taking ideas
if you take too much because if you understand the code well and have a good memory then you may even write from scratch a code that is almost identical without copy and paste.

Chess programs are also different from book.
Every programmer want to be the best so if somebody has good ideas and you understand them it is not logical to modify it to inferior code.

This is the reason that I think that my opinion is that in chess programs(unlike books)sections of equivalent code are not always a proof for copying.

Uri


As you already told us that you program mainly by copying and pasting short sections of code from examples, is there a possibility that you feel that your way of building your chess program could be considered illegal?



// Christophe
I did not say that I program mainly by copying and pasting short section of code from examples.

It is a distortion of my words and most of movei's code is clearly not based on copying and pasting and certainly most of the time of coding is not about copying and pasting.

I worked a lot of time on my move generator.
I have original structure of the board that is not 0x88 or bitboards
so I certainly could not use copy and paste for that code.

Note that I practically did not understand much of fruit or strelka
so part of the reason that movei is more original is the fact that
I did not fully undertstand code of others and used ideas that I did not read from other sources.

I will probably quit chess programming(not that I worked on it in the last months) because it seems to me that if I understand the code of other people and use ideas to improve my program then people are going to consider it as non original and even if I use ideas from fruit to write a go playing program people may blame me that it is against the gpl so I am probably not going to program even non chess game playing program.

Uri
I don't understand why you won't converse with others using accepted definitions of words, not definitions that come from Uriland/Twilight-Zone. I have not seen a single person say that taking an idea from another program or person is not allowable. I have seen most say that taking source code snippets is not acceptable. If you don't see the difference between the two, you first need to figure out why that is, and then try to grasp what everyone is saying, not what you apparently think they are saying.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Speaking of false evidence...

Post by bob »

Zach Wegner wrote:
Uri Blass wrote:Note that Fabien did not say that Strelka break the GPL when he was asked to give an opinion.
Of course he said that, because Strelka doesn't. Strelka is a translation of code. C code->compiler->disassembler->Strelka. AFAIK that is perfectly legal as far as the GPL is concerned. The issue is what the code was like before it was translated.
AND, if you copy GPL code, and then release your source, you are complying with the GPL no matter how much you copy.
Dr.Ex
Posts: 202
Joined: Sun Jul 08, 2007 4:10 am

Re: Speaking of false evidence...

Post by Dr.Ex »

Damir wrote:I do not understand you guys, nobody wanted to know if Rybka had some of the Fruit code inside 2 years ago.
Vas made himself clear that he looked on the free source of Fruit and took many things when he created Rybka in that interview on superchessengines.
The guy has been honest all along.

I doubt it. He spoke of 30 ELO his engine gained from Fruit source. I don't believe it at all.
I don't think he is completely honest. You don't obfuscate node count and depth of your engine if you are.


Why jumping the gun around, and accuse Vas of beeing a cloner?