Rybka 1.0 vs. Strelka

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

Moderator: Ras

chrisw

Re: Wanted: some opposition to the provided evidence

Post by chrisw »

bob wrote:
chrisw wrote:
bob wrote:
chrisw wrote:
bob wrote:
chrisw wrote:
bob wrote:
Enir wrote:
chrisw wrote:
Enir wrote:Hi Chris,

[snip]
chrisw wrote:Fabien says he has no problem.
Where did Fabien say it? This is of key importance in the whole issue.

Enrique
It's a bit convoluted, but the argument of the "Rybka 1.0 beta might be a clone camp" goes like this ...

Strelka is a reproduction of Rybka 1.0 beta.
Strelka resembles Fruit at a programming level
Therefore Rybka 1.0 resembles Fruit.

The "Rybka 1.0 beta protection society" argues:
Fabian has no worries with Strelka.
If other side wants to argue Strelka = Fruit
then Fabian by extension also has no problems with Rybka.


Bob wrote:
Didn't Vas clearly post "Strelka is a reproduction of Rybka 1.0 and I am claiming it as my own code now"??? I saw that specific comment (probably not those exact words, but semantically _identical_ posted by him when the Strelka / clone issue first broke.

Dan Corbit wrote:
This is what Fabian said about Strelka:
"No worries as far as I am concerned.
Ideas are not a legal property.
The code was rewritten so it's OK with me.
Tournament organisers might think differently.
I cannot say a definite yes or no ..."
Some programmers found code similarities between Strelka and Fruit; Vasik said that Strelka was R1 beta; Fabien told Corbit that he didn’t mind about Strelka. When was all that?

I’m asking because I would like to know why these accusations take place now and not in the old times of Rybka 1 beta. And whether they are related to other accusations here last week about Rybka giving R2 for free and not showing the true node count. I’m not saying it’s a campaign, but it might very well look like it, with these three simultaneous accusations against Rybka just before China 2008 and immediately after the huge lead of Rybka 3.

By the way, when Vasik said that Strelka was R1 beta, was he referring to the whole program or to parts of it? If to parts of it, the whole accusing syllogism (part of Str = Fr, part of Ry = Str, therefore Ry = Fr) is false, because Strelka could have copied parts of Rybka code different than Fruit. Possible? I'm asking you as programmer. I'm lay. :)

As for your "Tournament organizers might think differently", Rybka 3.x will play in China, not R1 beta, so I don’t see on which grounds the organizers could object.

Enrique
It is not much of a stretch to believe that R2 has much of the same source as R1. And that R3 has much of the same source as R2. So _if_ R1 is a partial or complete copy of fruit, R1 is automatically GPL code. And unless R2 was 100% rewritten, R2 would also be GPL. Ditto for R3.

So we end up with a direct connection from fruit -> strelka -> rybka 1, with the probable connection of Rybka 1 -> Rybka 2 -> Rybka 3.

I have not been involved in discovering this, I have followed the discussions, and have stated several times that based on the evidence that has been presented, things appear to be a bit off-color. Since the Rybka group are offering no arguments or evidence to the contrary, it would be hard to draw any other conclusion.
You say "_if_" above, and then go on to "probable connection".

Methinks you should be extremely cautious before alleging a connection between R1->R2->R3 and then asserting a problem with R1.

Do you have evidence that R3 has R1 beta code contained within? If not, the comments above are exceptionally dangerous.
Did you read what I wrote? I wrote (and rewrote) "blitz" 7 times. _major_ changes. But big chunks of code were reused. Who needs a new opening book format, new PGN parser, new move input/output code, etc? I then rewrote Cray Blitz three times. Major changes. 20,000 lines of assembly language added. over a Period of several years. Yet each had at least 60% of code re-used. I have rewritten Crafty 3-4 times as it was time to clean up and re-do. And again, 50+ % (if not more) of the code was kept. The most recent rewrite where I eliminated all duplicate code was a big change, but tons of reuse.

I wrote above "It is not much of a stretch to believe that most of R1 source was retained and used in R2, and that most of R2 would be reused in creating R3." I see _zero_ danger there and if someone would want to challenge me on it, suits me. The university has a team of lawyers to handle such nonsense. I did not say "absolutely, R3 contains part of R1". I said "it most likely does" and I'd stake my software engineering reputation on such a statement any day of the week... The probability is _HIGH_ that if R1 contains GPL code, R2 and R3 also do. But even if not, if R1 contains GPL code, that could be a significant legal issue for someone if the FSF folks get interested.
_If_ R1 beta contained GPL code then the probability that R3, a commercial release through a publisher, contains any of that code is extremely low, not high. The simplistic assumption via the naming does not apply.
If you believe that, fine. Personally, I don't rewrite code that is working, that is functional, and that does exactly what is needed. I rewrite the parts that are being improved. That is a basic tenet of every software engineering book on the planet, AKA "code reuse". It is _the_ reason languages like C++ were developed, to make reuse even easier.
What you would do is not relevent. You are not commercial. Commercial software has to be clean without danger of challenge. A company with shareholders will be hit by a double whammy if it asserts it owns or licences assets which it knows are of dubious legality. Whammy one - get sued by the real owner. Whammy two - get sued by the shareholders for
not informing them, not putting aside money in the accounts for the risk, and positing untrue asset value statements.

No commercial company with half a brain will publish software claiming total rights over it if not true. That's the overpowering evidence one that R3 is clean. Chessbase won't licence it unless absolutely certain it's clean. That's overpowering evidence two. Say anything else and you play with fire. imo.
Sorry but that is naive. I have sold commercial rights to other programs. They included the standard disclaimer in the contracts that made it clear that any copyright issues would be mine and mine alone. I just did one of these 6 months ago with a company in the UK in fact. They don't have the time to do this kind of analysis, taking an executable from a competing program, disassembling it and comparing it to the source they are buying. It just doesn't happen.

I will also point out that some disassembled Rybka 1 (not beta) code has been posted, so this beta to release rewrite for version 1 is not based on reality.
I said nothing about R1 (not beta).

Naive yourself. Who "owns" the copyright issues if hypothetically there were any would not be up to a contract or licence between you and the other contracting party (the publisher).

Anyone who decided their rights were being infringed would choose themselves who to sue, you or the other party to the contract, both or either. The best the other party could get from you would be an indemnification for their costs. And, if you had insufficients funds, such an indemnification would be useless anyway.

Those indemnifications are in licences broadly to demonstrate the contracting parties have taken the appropriate safeguards.

People behave and perform for contract because the clauses are to the effect this:

if you warrant something that is not true, you can then place your right arm on the table to be chopped off.

the idea being we don't offer our right arm as hostage if there's any chance it gets hacked off. hence we do what we say we're going to do in the contract, including being truthful when warranting ownership of rights.

That's the assurance that R3 is squeaky clean.
bnemias
Posts: 373
Joined: Thu Aug 14, 2008 3:21 am
Location: Albuquerque, NM

Re: Wanted: some opposition to the provided evidence

Post by bnemias »

Olivier Deville wrote:Very wise policy Bob.

Be a candidate for next mod elections and I'll vote for you.

Olivier
I appreciate that, thanks. Honestly, I just outlined my observations about how another forum I participate in [not chess related] operates. It's like a well oiled machine compared to this one, way larger, and under constant watch by some of the largest companies in the world. (Sony, Macrovision, Microsoft, plus the RIAA and MPAA)
Uri Blass
Posts: 10793
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Wanted: some opposition to the provided evidence

Post by Uri Blass »

bob wrote:I think the thing that worries me the most here is that this dicussion would give _anyone_ serious doubts about the functionality of a trial-by-jury system. You'd think that everyone would look at the evidence _first_ and then form an opinion. Not so here. The evidence is not even considered. Hopefully none that operate like that get called for jury duty, otherwise the criminal justice system will be about anything _but_ justice.

The current discussion is hinging on the thread from Rybka 1 beta obviously being similar to Strelka (Vas' words) and Strelka being nearly identical with Fruit. That evidence is overwhelming.
It is not correct that Strelka is nearly identical to fruit.

This is the opposite
Rybka1 beta nearly identical with Strelka and Strelka has some small parts of fruit(but not nearly identical and bitboard program cannot be nearly identical to fruit)
So now several with significant experience in chess program development (as well as operating system development, compiler development, etc) suggest that Rybka-1 beta to Rybka 1almost certainly included borrowing most of the beta code for the final release, and then that Rybka 2 almost certainly contains much code from Rybka 1, and ditto for version 3 with respect to version 2.
This is correct but this process does not mean that rybka3 include parts of fruit.

The evidence suggested that Rybka1 beta included only minority of fruit so even if most of rybka1 remained the same rybka3 can include no parts of fruit.

I do not know if rybka3 includes parts of fruit.

Uri
User avatar
Olivier Deville
Posts: 937
Joined: Wed Mar 08, 2006 9:13 pm
Location: Aurec, France

Re: Wanted: some opposition to the provided evidence

Post by Olivier Deville »

Uri Blass wrote:
tiger wrote:Zach is showing code snippets where Rybka 1.0 is actually more similar to Fruit than Strelka 2.0.

A few days ago there was some vocal opposition to the idea that Rybka 1.0 coud be a derived work of Fruit 2.1.

Where is the opposition now?

There are several skilled people ready to explain why many programmers think (without daring to tell it) that Rybka started its life as Fruit 2.1.

The evidence is now being shown factually. Feel free to contradict it factually.



// Christophe
There is a second possibility that rybka started her life with part of fruit but never had the full source.

I know that movei started its life with part of tscp structures and names of variables and constants (but no chess working code)

Uri
The Rybka story did not start with Rybka 1.0b.

I was a tester of primitive private versions of Rybka. I have tested several beta versions during year 2004. Their playing strength was around 2100 Elo.

Rybka 1.0b that was publicly released in December 2005 was 700 Elo stronger.

Olivier
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Wanted: some opposition to the provided evidence

Post by bob »

Uri Blass wrote:
bob wrote:I think the thing that worries me the most here is that this dicussion would give _anyone_ serious doubts about the functionality of a trial-by-jury system. You'd think that everyone would look at the evidence _first_ and then form an opinion. Not so here. The evidence is not even considered. Hopefully none that operate like that get called for jury duty, otherwise the criminal justice system will be about anything _but_ justice.

The current discussion is hinging on the thread from Rybka 1 beta obviously being similar to Strelka (Vas' words) and Strelka being nearly identical with Fruit. That evidence is overwhelming.
It is not correct that Strelka is nearly identical to fruit.

This is the opposite
Rybka1 beta nearly identical with Strelka and Strelka has some small parts of fruit(but not nearly identical and bitboard program cannot be nearly identical to fruit)

Out of 40,000 lines of C in Crafty, how many lines do you think are dealing with and specific to bitboards? Search doesn't mention them, generating moves is more specific, but then choosing which moves to search does not express bitboard concepts. Nor repetition stuff. Nor hashing. Nor extensions/reduction code. Nor move input/output. nor parallel search. etc. A program can be modified to use bitboards and anyone with two eyes and some time could discover that one was a derivative of the other.
So now several with significant experience in chess program development (as well as operating system development, compiler development, etc) suggest that Rybka-1 beta to Rybka 1almost certainly included borrowing most of the beta code for the final release, and then that Rybka 2 almost certainly contains much code from Rybka 1, and ditto for version 3 with respect to version 2.
This is correct but this process does not mean that rybka3 include parts of fruit.

The evidence suggested that Rybka1 beta included only minority of fruit so even if most of rybka1 remained the same rybka3 can include no parts of fruit.
Even 1,000 lines is _not_ a "minority" with respect to GPL. As I have said in the past, so long as someone doesn't copy the chess-playing part of the code (search, eval, etc) the rest doesn't bother me. The GPL is more specific however.


I do not know if rybka3 includes parts of fruit.

Uri
Nobody does, yet. But as questions continue, someone is going to break out the disassembler one more time and then I suppose we will know. It is pretty clear that Rybka 1 beta has unacceptable pieces based on what has been presented, as does Strelka which has been claimed as a rybka derivative by the author, etc...
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Wanted: some opposition to the provided evidence

Post by tiger »

chrisw wrote:
kranium wrote:
Olivier Deville wrote:
chrisw wrote:
GenoM wrote:
Graham Banks wrote: I'm not a programmer and so all this code being produced means little to me.
However, from what I've read, it seems that no matter what is said, there will still be disagreement amongst more knowledgeable people than myself over what constitutes absolute proof of anything untoward.
What I would be interested in is what those like yourself, Bob and Zach are therefore trying to achieve. What exactly is it that you want as the end outcome?

Regards, Graham.
Hyatt, Wegner, Schmidt, Donninger, Cozzie, Theron, Korshunov and other russian programmers are on the same side. Mehrmann and Benitez have had some suspicions too. Who's on the other side, Graham? From these 'more knowledgeable than yourself' people?
Are you expecting God come down and said the ultimate truth?
Well I'm an ex-programmer, but more to the point I ran a business based on games AI, and my view is that Vas has done nothing wrong.

1. The alleged connection with Strelka is completely irrelevent to Fruit

2. That version 1 beta was not commercial and I doubt it any different to the 500 or more, whatever the number, of "amateur" programs that have suddenly been created in the wake of published free source codes.

3. The Fruit programmer who owns the GPL licence says he has no problems with Rybka in any form, beta, 1, 2, 3

4. If there ever was any Fruit code in beta 1, then it is an absolute guarantee that future commercial versions created will have removed every last bit of it.

5. If Vas looked at Crafty, TSCP, Fruit or anything else he did no more and no less than any other current programmer. If he used bits and pieces of other programs to get his version up and running he will have done no different to any other programmer. Or is anybody seriously suggesting all those amateurs started absolutely from scratch? Hahaha.

All that counts now from his commercial business point of view and that of his publisher is that the R3 version is squeaky clean. Which it is, obviously.

For those people who complain that their source is used by commercials, or that other source is used by commercials (and by used, I mean read, rewritten, learnt from, whatever) the answer is easy. Don't publish your sources over the internet.
I am very shocked to read such general accusations from a moderator of this forum. Is the charter gone ?

Olivier
Chris-
Specifically, in response to your points # 2 and # 5 from above.
2 wrongs doesn't make it right...
500 wrongs doesn't make it right
if there are 500 programs in violation of the GPL, then they should come under scruntiny
Via the described development method there is no reason at all why anyone should be in violation of GPL. The GPL code would be used as test bed to get up and running and then thrown out and replaced.

Why is it "wrong" to develop in such a way? It is perfectly legal, senseful and a fine way to handle the complexity.


There is at least one thing I'm certain of: it is wrong to release the result as a closed, proprietary program and claim it as your own, because the GPL which has been chosen by the original author explicitely forbids it.

If you want to release as closed source and proprietary and claim it is your own, just don't start by modifying GLP'ed code.



// Christophe
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Wanted: some opposition to the provided evidence

Post by tiger »

chrisw wrote:
Tony wrote:
chrisw wrote:
GenoM wrote:
Graham Banks wrote: I'm not a programmer and so all this code being produced means little to me.
However, from what I've read, it seems that no matter what is said, there will still be disagreement amongst more knowledgeable people than myself over what constitutes absolute proof of anything untoward.
What I would be interested in is what those like yourself, Bob and Zach are therefore trying to achieve. What exactly is it that you want as the end outcome?

Regards, Graham.
Hyatt, Wegner, Schmidt, Donninger, Cozzie, Theron, Korshunov and other russian programmers are on the same side. Mehrmann and Benitez have had some suspicions too. Who's on the other side, Graham? From these 'more knowledgeable than yourself' people?
Are you expecting God come down and said the ultimate truth?
Well I'm an ex-programmer, but more to the point I ran a business based on games AI, and my view is that Vas has done nothing wrong.

1. The alleged connection with Strelka is completely irrelevent to Fruit

2. That version 1 beta was not commercial and I doubt it any different to the 500 or more, whatever the number, of "amateur" programs that have suddenly been created in the wake of published free source codes.

3. The Fruit programmer who owns the GPL licence says he has no problems with Rybka in any form, beta, 1, 2, 3

4. If there ever was any Fruit code in beta 1, then it is an absolute guarantee that future commercial versions created will have removed every last bit of it.

5. If Vas looked at Crafty, TSCP, Fruit or anything else he did no more and no less than any other current programmer. If he used bits and pieces of other programs to get his version up and running he will have done no different to any other programmer. Or is anybody seriously suggesting all those amateurs started absolutely from scratch? Hahaha.

.
1. The connection is neither alleged nor irrelevent.
2. irrelevent
3. irrelevent
4. irrelevent
5. I'm not sure if you are talking about the programmers in this forum where you choose the be a moderator, or about the programmers in your company.
But if it's the first, then I know you're wrong and I really dislike your accusation. I'm not saying it hasn't happened, but you're suggesting everybody does, which isn't true.

Tony
Any speculative development project (for example developing a chess engine) by a competent developer, will include detailed analysis of the competition. Since some of the competition publishes source, any developer is going to take a good look at that too. All design process starts with analysis. Programmer looks at everything and thinks, "hmmm, I can do better".

Since published source also provides a testbed environment, the idea that it is not general for programmers (inexperienced at start, and in a huge, complex project such as chess engine) won't use such a generally available testbed environment to get up and running beggars belief. It is not illegal in any way to do so, all that matters is that the end result If any) has thrown away all the original published material.

Of course not _everybody_ develops this way. Some may well start from scratch, it used to be (pre 1990's) that everybody had to start from scratch - hence fewer programs then and lots now.

I wrote a quite strong Shogi program once. It took two months. My GUI programmer modified the CSTal user interface which mostly involved dealing with the change in board size, the artist gave him some shogi piece graphics, I gutted the CSTal engine, rewrote the move and genmove stuff, reused search with lots of the fancy stuff removed and wrote an evaluation function based on the Tal evaluation. If thatI'ld been done that within equivalent GPL code? Well the next task would be to take the Shogi specific engine modules, which by definition all work, and wrap them into an entirely new interface. Voila - an entirely squeaky clean product, all one's own work.

Anyway, quite why do you feel the need to describe this development mechanism as an "accusation". It's a sensible and entirely legal way to progress. It saves time, there'll be fewer bugs and the chances that the whole thing doesn't just fall apart through complexity is reduced. If the result is for release or publication then that's fine, as long as there is nothing of the original in place. my 2c.


Save your energy Chris, we are not in this case. Big parts of the original, GPL protected code, are still in place, apparently.



// Christophe
User avatar
mclane
Posts: 18897
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: Wanted: some opposition to the provided evidence

Post by mclane »

today i was sitting in my car for a while, driving through the landscape.
and with the songs that came in the my radio,
i was thinking about many things:

listened to a song by julian dawson:
Refrain

Steal that beat
turn it into money
take out all the heart and throw it back into the jungle


I'm a spy I've been sent on secret mission
To purify your ears and keep the airwaves clean
To seek and destroy every beat musician
Clogging up the dial with his Beatles dream


There's faces and they're watching, watching and they're waiting
Waiting and they're watching and they're in control
Want to keep you dancing want to keep you dreaming
Waking to the voodoo of rhythm and roll

I'll do anything I can to keep the dance in motion
Sex and a tango in a tinsel town
The sand and the sea and the suntan lotion
Machines and money go around and around
and there was also
Depeche Mode - Everything Counts
Construction Time Again

The handshake seals the contract
From the contract there's no turning back
The turning point of a career
In Korea being insincere
The holiday was fun-packed
The contract, still intact

The grabbing hands grab all they can
All for themselves - after all
The grabbing hands grab all they can
All for themselves - after all
It's a competitive world
Everything counts in large amounts


The graph on the wall
Tells the story of it all
Picture it now
See just how
The lies and deceit gained a little more power
Confidence - taken in
By a suntan and a grin

Everything counts in large amounts
Last edited by mclane on Sun Aug 24, 2008 11:02 pm, edited 2 times in total.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: Wanted: some opposition to the provided evidence

Post by geots »

bob wrote:
Uri Blass wrote:
bob wrote:I think the thing that worries me the most here is that this dicussion would give _anyone_ serious doubts about the functionality of a trial-by-jury system. You'd think that everyone would look at the evidence _first_ and then form an opinion. Not so here. The evidence is not even considered. Hopefully none that operate like that get called for jury duty, otherwise the criminal justice system will be about anything _but_ justice.

The current discussion is hinging on the thread from Rybka 1 beta obviously being similar to Strelka (Vas' words) and Strelka being nearly identical with Fruit. That evidence is overwhelming.
It is not correct that Strelka is nearly identical to fruit.

This is the opposite
Rybka1 beta nearly identical with Strelka and Strelka has some small parts of fruit(but not nearly identical and bitboard program cannot be nearly identical to fruit)

Out of 40,000 lines of C in Crafty, how many lines do you think are dealing with and specific to bitboards? Search doesn't mention them, generating moves is more specific, but then choosing which moves to search does not express bitboard concepts. Nor repetition stuff. Nor hashing. Nor extensions/reduction code. Nor move input/output. nor parallel search. etc. A program can be modified to use bitboards and anyone with two eyes and some time could discover that one was a derivative of the other.
So now several with significant experience in chess program development (as well as operating system development, compiler development, etc) suggest that Rybka-1 beta to Rybka 1almost certainly included borrowing most of the beta code for the final release, and then that Rybka 2 almost certainly contains much code from Rybka 1, and ditto for version 3 with respect to version 2.
This is correct but this process does not mean that rybka3 include parts of fruit.

The evidence suggested that Rybka1 beta included only minority of fruit so even if most of rybka1 remained the same rybka3 can include no parts of fruit.
Even 1,000 lines is _not_ a "minority" with respect to GPL. As I have said in the past, so long as someone doesn't copy the chess-playing part of the code (search, eval, etc) the rest doesn't bother me. The GPL is more specific however.


I do not know if rybka3 includes parts of fruit.

Uri
Nobody does, yet. But as questions continue, someone is going to break out the disassembler one more time and then I suppose we will know. It is pretty clear that Rybka 1 beta has unacceptable pieces based on what has been presented, as does Strelka which has been claimed as a rybka derivative by the author, etc...

But Bob, herein lies the problem. You say "Nobody does yet" and "as questions continue"...... "Yet" and "Continue" belie the future- and as time passes interest wanes. There will have to be a self-proclaimed "shit-stirrer" to keep the pot boiling each and every day.
User avatar
Graham Banks
Posts: 44056
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Wanted: some opposition to the provided evidence

Post by Graham Banks »

mclane wrote: Depeche Mode - Everything Counts
Good song that one. 8-)
gbanksnz at gmail.com