Fabien's open letter to the community

General discussion about computer chess...
User avatar
Kevin Frayer
Posts: 53
Joined: Fri Jun 11, 2010 8:07 pm
Real Name: Kevin Frayer
Location: Vincennes IN USA
Contact:

Re: Fabien's open letter to the community

Post by Kevin Frayer » Fri Jan 28, 2011 2:48 am

kingliveson wrote:
Jeremy Bernstein wrote:
kingliveson wrote:Why does anyone even care if a 5 year old program is a clone (derivative work)?
I don't know whether to laugh or cry. :|
Seriously, I want people to pause for a second, and assess in midst of all the noise...look at what has happened to the chess community in the last few years. Who is the villain, and what exactly is the ultimate end game that we seek...?!
The end game... very good point. I don’t believe we are there yet, but many can see the holes in the Rybka supporters pawn structure, no grandmaster draw will be offered here.

What we have participated in, and been witness too, in this “Clone War” should never be forgotten. The damage it has caused in both stagnation of engine development and divided purposes of the computer chess community has been substantial. It will be shaken off and we will continue. Some reputations will be tarnished, some will be vindicated. We put all our eggs in one basket, this should not be repeated. Greed is the great destroyer of men.

I would like to see all engines including Rybka competing side by side for the title of strongest chess engine in the world. After the armistices is signed, let us all work to this end.
Sic gorgiamus allos subjectatos nunc.

User avatar
kingliveson
Posts: 1388
Joined: Thu Jun 10, 2010 1:22 am
Real Name: Franklin Titus
Location: 28°32'1"N 81°22'33"W

Re: Fabien's open letter to the community

Post by kingliveson » Fri Jan 28, 2011 3:35 am

Kevin Frayer wrote:
kingliveson wrote:
Jeremy Bernstein wrote:
kingliveson wrote:Why does anyone even care if a 5 year old program is a clone (derivative work)?
I don't know whether to laugh or cry. :|
Seriously, I want people to pause for a second, and assess in midst of all the noise...look at what has happened to the chess community in the last few years. Who is the villain, and what exactly is the ultimate end game that we seek...?!
The end game... very good point. I don’t believe we are there yet, but many can see the holes in the Rybka supporters pawn structure, no grandmaster draw will be offered here.

What we have participated in, and been witness too, in this “Clone War” should never be forgotten. The damage it has caused in both stagnation of engine development and divided purposes of the computer chess community has been substantial. It will be shaken off and we will continue. Some reputations will be tarnished, some will be vindicated. We put all our eggs in one basket, this should not be repeated. Greed is the great destroyer of men.

I would like to see all engines including Rybka competing side by side for the title of strongest chess engine in the world. After the armistices is signed, let us all work to this end.
The initial question as to why anyone should care can be rephrased to why any individual having no stake on the matter even care -- but you've already answered it from your point of view, and given what you believe is at stake.

I am as guilty as any other contributing to the noise. No one forces me to buy Rybka or any other commercial engine, Ippolit based engines are free, I know how strong they are without the need of chess engine ratings lists, and yet...all the fuss the past 2 years. I say inanity at its core.
PAWN : Knight >> Bishop >> Rook >>Queen

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Fabien's open letter to the community

Post by hyatt » Fri Jan 28, 2011 5:20 am

There are several reasons that some of us care, none of which are financial in nature.

(1) We have requirements for tournament participation. No derivative works allowed. Yet we have been sucker-punched with this for a few years now. There's little point in going back and voiding wins and titles as is often done in college athletics here in the US. But there is interest in correcting the overall record with respect to who did what.

(2) A chess program is a lot of work. It is _FAR_ easier to copy someone else's program and make a few changes and call that your own. There is an ethical component that some of us want to follow carefully.

(3) In academia, credit should always be given where it is due. In my code, you can certainly find who suggested what idea, for those that have made suggestions. One doesn't sneak in, copy an existing program, and then suddenly become a "peer". I (and most others) worked my way up, getting my brains beat out by Belle, Chess 4.x, and such, until I finally caught up to them with hard work and good hardware. There is a feeling of accomplishment one gets by doing things that way. And others respect you for expending the effort. Today it is more about instant gratification. Which is sad. Doping. HGH/steroids. Do things the easy way...

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Another spit-take moment from Graham Banks

Post by Jeremy Bernstein » Fri Jan 28, 2011 12:03 pm

Graham Banks wrote:
AdminX wrote:
Graham Banks wrote:
AdminX wrote:A expert has spoken, but lets be honest here, you still will not accept it. It does not change your mind one way or the other. So what is the point of your question? In the above statement even if Vas were convicted, I don't think you would accept it, only if he were found not guilty would you agree.
Not true. The whole reason I'd like to see it decided through the FSF is to get finality.
Unlike Bob, I would accept whatever decision they made and then move on.
So you would accept it, but would you agree with it? Thats what I wonder, not that you have to mind you. The same could be said for myself, I could accept it, but that does not mean that I agree with it. To bad as I don't think it will ever be decided or taken up by the FSF.
To me, an FSF decision would be good enough to give finality, which I was really hoping was what we all wanted.
Where is the legal decision which led to the declaration of Ippolit as engine non grata, Graham? I agree with you, in fact. A body of people with expertise in software and copyright matters should examine the Fruit/Rybka situation and clarify the matter. Likewise for Ippolit.

Amusingly, this follows on the heels of another post, where the case was made for ethical standards above and beyond legal minimums in the case of chess engines.
H.G. Muller wrote:It is clear that for the purposeof Computer Chess as a viable sport, we need rules that transgress those of copyright law. Compare the Olympics: there are many substances that are perfectly legal to take for a law-obiding citizen (non-prescription drugs) which would make you test positive for doping.
Now, Graham didn't say that. Does he agree with it? With these standards, Muller hopes to make the case that Ippolit is unethical and therefore outcast, despite the lack of any legal rulings. Why don't they apply to Rybka as well?

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: Fabien's open letter to the community

Post by Chris Whittington » Fri Jan 28, 2011 12:08 pm

hyatt wrote:
Chris Whittington wrote:
Uly wrote:
What is the 'bomb'? I only see Fabien agreeing with Hyatt that 'If [he does] _exactly_ the same thing [in mailbox], because [he copies] the code and then adapt[s] it to bitboard, [he doesn't] call that "original"'.
Hyatt is doing a cheat argument when he talks about mailbox/bitboard conversions.
What on earth are you talking about. The continual claim here is that Rybka is bitboards, fruit is not, they can't be the same. The conversion from mailbox to bitboard is too difficult. The conversion _I_ did in 1994 was _exactly_ this. I wanted to start to work on a bitboard engine. I took Cray Blitz, ran it thru a FORTRAN-to-C compiler, and cleaned that up. I then started to convert the thing to bitboards. And over time, I rewrote substantial parts as I wanted to use a recursive search rather than the iterated version we had in Cray Blitz. But the original conversion did not change the entire program. Search was unchanged. Move ordering and move selection code was unchanged. Code to deal with extensions, with hashing, etc were all unchanged. Parts of the move generator were changed since the board representation was altered, but this was not a huge effort. The eval was the most difficult, but I found it changed a good bit syntactically, but _not_ semantically. One continues to evaluate the same things, using the same weights, but using different comparisons and such.

That is a derivative work, period. Using bitboards to justify rybka 1 is pretty disingenuous, IMHO. It is an argument no person actually doing chess programming will consider for a minute. How many changed from an 8x8 board, to something else, to 0x88? New programs? Hardly. The better the programmer, the easier that is to do in fact...




Hyatt refers to his own conversion of Cray Blitz to Whatever (I forget the name) and calls the conversion copying.
In this case Hyatt wants to "copy" the original, perhaps with some additions optimisations along the way.

But the argument is about person A "copying" person B's program, "using ideas" from B's program.
In this case A does *not* want to "copy" the original, and he will definitely want his own ideas in there as well.
Only problem is, more than "ideas" were copied. Blocks of code were copied. And hand-waving is not going to make that go away anytime soon it would appear. Particularly now that Fabien has stepped into the discussion.

The act of wanting/not wanting to "copy" makes all the difference. Maybe by clean room, maybe by making a spec, maybe by total data structure change, certainly by using the *ideas* and not the code.
Bunch of nonsense. You either copy or you don't. Copying without wanting to copy, not copying but wanting to copy? All crapola.


Hyatt's attempt to use his own experience as a universal template is invalid in the context.
However, everything you wrote is nonsensical and irrelevant in any context...
The usual fatuous Hyatt response "in Crafty I did blah blah" and that's supposed to be the definitive only way anything can ever happen because High Priest Hyatt did it first (allegedly).

Well, Bob, you're not the only person to have made a bitboard conversion, I did one too from CSTal2 to CSTal3 (unpublished), as have many others, it was basically a re-write using the ideas of bitboard and the ideas of speculative CSTal, so that gives us three pathways, as opposed to the ONLY ONE HYATT WAY for everything

1. Own programmer makes the copy/conversion trying to be as true to the original as possible. We can call that a copy, perhaps, and that's what you more or less claim you did with Crafty

2. Own programmer re-writes using ideas (a spec basically) and doesn't care either way whether he uses or resuses his old code in the process

3. A different programmer writes his own material having studied and taken ideas from some open source. In this case he would care very much NOT to reuse code and to make each and any idea implentation as different as possible. That's not a copy.

One-way Hyatt seems stuck on the idea that 1. is the only way whereas 3. fits to the Rybka evidence so far. For example use of bitboards which numbers of programmers are telling you is a very non-trivial change and practically impossible line by line. In fact the only reason for trying a line by line approach (maddenly difficult, parallel to line by line converting a Newtonian paradigm to an Einsteinian one and missing completely the need for a new way of thought) would be to try and get a fully faithful exact replica of the old program, which, if all you want is the *idea*, is pointless.

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: Fabien's open letter to the community

Post by Chris Whittington » Fri Jan 28, 2011 12:20 pm

Terry McCracken wrote:
Chris Whittington wrote:
Uly wrote:
What is the 'bomb'? I only see Fabien agreeing with Hyatt that 'If [he does] _exactly_ the same thing [in mailbox], because [he copies] the code and then adapt[s] it to bitboard, [he doesn't] call that "original"'.
Hyatt is doing a cheat argument when he talks about mailbox/bitboard conversions.

Hyatt refers to his own conversion of Cray Blitz to Whatever (I forget the name) and calls the conversion copying.
In this case Hyatt wants to "copy" the original, perhaps with some additions optimisations along the way.

But the argument is about person A "copying" person B's program, "using ideas" from B's program.
In this case A does *not* want to "copy" the original, and he will definitely want his own ideas in there as well.

The act of wanting/not wanting to "copy" makes all the difference. Maybe by clean room, maybe by making a spec, maybe by total data structure change, certainly by using the *ideas* and not the code.

Hyatt's attempt to use his own experience as a universal template is invalid in the context.
Whittington, compared to Dr. Hyatt you're a hack and unlike Dr. Hyatt have no concept of integrity.
AFAIC, all the clones, derivitives and Rybka should be flushed to sea.
Terry, the reason talkchess tolerates your spitting oneliners, idiocies and pointless contributions is, in general, that they recognise you have mental health problems. They throw you out from time to time, as now, hence you bring your problems here, but appear to relent, often, as I learnt when moderating, after listening to your private message whingeing and cringeing about how you'll never do it again, promise, pretty please etc. etc. All to be subsequently broken by yet more mentally unbalanced rudenesses and so the cycle goes on. The amusing part is that moderation is deluged by you more than anyone else with fatuous complaints when you are actually the main problem. A typical compliant from you might read "!!!!!!!!!! ban him" or "troll!!!!!!" I suppose you can be grateful to a general level of humanity that you don't get filed to the same place as your complaints and your posts, namely the wastebin.

User avatar
Chris Whittington
Posts: 437
Joined: Wed Jun 09, 2010 6:25 pm

Re: Another spit-take moment from Graham Banks

Post by Chris Whittington » Fri Jan 28, 2011 1:04 pm

Jeremy Bernstein wrote:
Graham Banks wrote:
AdminX wrote:
Graham Banks wrote:
AdminX wrote:A expert has spoken, but lets be honest here, you still will not accept it. It does not change your mind one way or the other. So what is the point of your question? In the above statement even if Vas were convicted, I don't think you would accept it, only if he were found not guilty would you agree.
Not true. The whole reason I'd like to see it decided through the FSF is to get finality.
Unlike Bob, I would accept whatever decision they made and then move on.
So you would accept it, but would you agree with it? Thats what I wonder, not that you have to mind you. The same could be said for myself, I could accept it, but that does not mean that I agree with it. To bad as I don't think it will ever be decided or taken up by the FSF.
To me, an FSF decision would be good enough to give finality, which I was really hoping was what we all wanted.
Where is the legal decision which led to the declaration of Ippolit as engine non grata, Graham?
Because-I-Can appears to be the "legal" base for much non-expert nonsense nowadays

User avatar
kingliveson
Posts: 1388
Joined: Thu Jun 10, 2010 1:22 am
Real Name: Franklin Titus
Location: 28°32'1"N 81°22'33"W

Re: Fabien's open letter to the community

Post by kingliveson » Fri Jan 28, 2011 3:13 pm

hyatt wrote:There are several reasons that some of us care, none of which are financial in nature.

(1) We have requirements for tournament participation. No derivative works allowed. Yet we have been sucker-punched with this for a few years now. There's little point in going back and voiding wins and titles as is often done in college athletics here in the US. But there is interest in correcting the overall record with respect to who did what.

(2) A chess program is a lot of work. It is _FAR_ easier to copy someone else's program and make a few changes and call that your own. There is an ethical component that some of us want to follow carefully.

(3) In academia, credit should always be given where it is due. In my code, you can certainly find who suggested what idea, for those that have made suggestions. One doesn't sneak in, copy an existing program, and then suddenly become a "peer". I (and most others) worked my way up, getting my brains beat out by Belle, Chess 4.x, and such, until I finally caught up to them with hard work and good hardware. There is a feeling of accomplishment one gets by doing things that way. And others respect you for expending the effort. Today it is more about instant gratification. Which is sad. Doping. HGH/steroids. Do things the easy way...
Rybka 1.0 is no longer officially competing. Is there anyone bold enough (if this continues to be an issue) to bring it up to the ICGA when Rybka 4 or later versions tries to enter?

This was why I asked what the ultimate end game was. While Kevin's response to the matter argues for fairness and fairplay, you argue from an integrity stance.

We've been arguing about this matter now for over 3 years to no resolute. At what point do we say it's time to move on...
PAWN : Knight >> Bishop >> Rook >>Queen

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Fabien's open letter to the community

Post by hyatt » Fri Jan 28, 2011 6:33 pm

Chris Whittington wrote:
hyatt wrote:
Chris Whittington wrote:
Uly wrote:
What is the 'bomb'? I only see Fabien agreeing with Hyatt that 'If [he does] _exactly_ the same thing [in mailbox], because [he copies] the code and then adapt[s] it to bitboard, [he doesn't] call that "original"'.
Hyatt is doing a cheat argument when he talks about mailbox/bitboard conversions.
What on earth are you talking about. The continual claim here is that Rybka is bitboards, fruit is not, they can't be the same. The conversion from mailbox to bitboard is too difficult. The conversion _I_ did in 1994 was _exactly_ this. I wanted to start to work on a bitboard engine. I took Cray Blitz, ran it thru a FORTRAN-to-C compiler, and cleaned that up. I then started to convert the thing to bitboards. And over time, I rewrote substantial parts as I wanted to use a recursive search rather than the iterated version we had in Cray Blitz. But the original conversion did not change the entire program. Search was unchanged. Move ordering and move selection code was unchanged. Code to deal with extensions, with hashing, etc were all unchanged. Parts of the move generator were changed since the board representation was altered, but this was not a huge effort. The eval was the most difficult, but I found it changed a good bit syntactically, but _not_ semantically. One continues to evaluate the same things, using the same weights, but using different comparisons and such.

That is a derivative work, period. Using bitboards to justify rybka 1 is pretty disingenuous, IMHO. It is an argument no person actually doing chess programming will consider for a minute. How many changed from an 8x8 board, to something else, to 0x88? New programs? Hardly. The better the programmer, the easier that is to do in fact...




Hyatt refers to his own conversion of Cray Blitz to Whatever (I forget the name) and calls the conversion copying.
In this case Hyatt wants to "copy" the original, perhaps with some additions optimisations along the way.

But the argument is about person A "copying" person B's program, "using ideas" from B's program.
In this case A does *not* want to "copy" the original, and he will definitely want his own ideas in there as well.
Only problem is, more than "ideas" were copied. Blocks of code were copied. And hand-waving is not going to make that go away anytime soon it would appear. Particularly now that Fabien has stepped into the discussion.

The act of wanting/not wanting to "copy" makes all the difference. Maybe by clean room, maybe by making a spec, maybe by total data structure change, certainly by using the *ideas* and not the code.
Bunch of nonsense. You either copy or you don't. Copying without wanting to copy, not copying but wanting to copy? All crapola.


Hyatt's attempt to use his own experience as a universal template is invalid in the context.
However, everything you wrote is nonsensical and irrelevant in any context...
The usual fatuous Hyatt response "in Crafty I did blah blah" and that's supposed to be the definitive only way anything can ever happen because High Priest Hyatt did it first (allegedly).
I cite what _I_ did. Which is a lot better than trying to cite what _others_ 'might have done' without knowing. Something you ought to consider trying from time to time.


Well, Bob, you're not the only person to have made a bitboard conversion, I did one too from CSTal2 to CSTal3 (unpublished), as have many others, it was basically a re-write using the ideas of bitboard and the ideas of speculative CSTal, so that gives us three pathways, as opposed to the ONLY ONE HYATT WAY for everything

1. Own programmer makes the copy/conversion trying to be as true to the original as possible. We can call that a copy, perhaps, and that's what you more or less claim you did with Crafty.
Which was exactly what I did, of course, and was exactly what I stated.

2. Own programmer re-writes using ideas (a spec basically) and doesn't care either way whether he uses or resuses his old code in the process
What does this have to do with anything? Did you not reuse _any_ pre-bitboard code? Of course you did, which is the exact argument being discussed in the fruit/rybka case.

3. A different programmer writes his own material having studied and taken ideas from some open source. In this case he would care very much NOT to reuse code and to make each and any idea implentation as different as possible. That's not a copy.
Except that there _is_ copied code from fruit, so this pig won't fly. Your basic premise has already been violated (very much NOT to reuse code...) The argument has been that rybka used bitboards, fruit did not, so that it would be impossible to copy code. That is pure nonsense. Search won't change. move ordering won't change. hashing won't change. book code won't change. learning code won't change. move selection code won't change. Overall eval structure and values won't change. Etc. This argument fails the most basic "stink test". And here you are _guessing_ what happened. Ignoring the similar program structure that would not happen if you started over from the "specs" which exist for no chess program I have ever seen, by the way. So how about stopping with the arguments that don't hold water, which don't pass a basic "stink test" and which clearly are at odds with observed facts and past experience. Again, did you rewrite everything in your conversion to bitboards? I certainly did not. And Crafty today doesn't look much like the released CB source, although you might recognize the basic chess program overall structure, the search output (which is identical by the way), and other ideas. Over 15 years the code has been modified, and re-modified, yet there are still blocks of code that will match up well with Cray Blitz, when you factor in bitboards vs mailbox...


One-way Hyatt seems stuck on the idea that 1. is the only way whereas 3. fits to the Rybka evidence so far. For example use of bitboards which numbers of programmers are telling you is a very non-trivial change and practically impossible line by line. In fact the only reason for trying a line by line approach (maddenly difficult, parallel to line by line converting a Newtonian paradigm to an Einsteinian one and missing completely the need for a new way of thought) would be to try and get a fully faithful exact replica of the old program, which, if all you want is the *idea*, is pointless.
[/quote]

Look up "Occam's razor". Then come back. The simplest explanation fits the observed facts. none of your speculative hand-waving fits anything remotely similar to what we have seen so far. So which explanation seems most reasonable? Again, re: Occam's razor for help.

I believe my "one-way" thought process works pretty well. As opposed to trying to find the most indirect route between two points, convoluting the reasoning, and adding things no rational programmer would do. Again, Occam's razor applies.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Fabien's open letter to the community

Post by hyatt » Fri Jan 28, 2011 6:39 pm

kingliveson wrote:
hyatt wrote:There are several reasons that some of us care, none of which are financial in nature.

(1) We have requirements for tournament participation. No derivative works allowed. Yet we have been sucker-punched with this for a few years now. There's little point in going back and voiding wins and titles as is often done in college athletics here in the US. But there is interest in correcting the overall record with respect to who did what.

(2) A chess program is a lot of work. It is _FAR_ easier to copy someone else's program and make a few changes and call that your own. There is an ethical component that some of us want to follow carefully.

(3) In academia, credit should always be given where it is due. In my code, you can certainly find who suggested what idea, for those that have made suggestions. One doesn't sneak in, copy an existing program, and then suddenly become a "peer". I (and most others) worked my way up, getting my brains beat out by Belle, Chess 4.x, and such, until I finally caught up to them with hard work and good hardware. There is a feeling of accomplishment one gets by doing things that way. And others respect you for expending the effort. Today it is more about instant gratification. Which is sad. Doping. HGH/steroids. Do things the easy way...
Rybka 1.0 is no longer officially competing. Is there anyone bold enough (if this continues to be an issue) to bring it up to the ICGA when Rybka 4 or later versions tries to enter?

This was why I asked what the ultimate end game was. While Kevin's response to the matter argues for fairness and fairplay, you argue from an integrity stance.

We've been arguing about this matter now for over 3 years to no resolute. At what point do we say it's time to move on...

I would not want to see Rybka banned from ICGA events. The reason? In 1989 I really did not want to go to the WCCC event. I had no doubt who was going to win (deep thought) and the trip to Canada was fairly expensive and at a bad time. But I went because I had won the past 2 WCCC events and felt that it was necessary to show up so that if DT won, it would have won in a tournament where we participated, so that there would be none of the "They might not have won had the Cray T90 played...". Rybka is currently the best, based on tournaments, I'd hate to see it be forced to step aside so that tournaments beyond that point alway would have an * beside the winner's name.

That being said, it would be nice to at least close the issue on where it came from. I would be perfectly happy if Fabien/Vas simply wrote "Yes, Rybka is substantially a copy of fruit, with 5 years worth of changes. Fruit is not going to participate in future events, and we agree that Rybka will therefore be allowed as the successor to fruit." Then all is clean, everyone knows where it came from, and we can move on. I doubt that will happen, but it would represent a clean closure of the issue.

Post Reply