Rybka 1.0 vs. Strelka

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

Moderator: Ras

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 »

gerold wrote:
mclane wrote:terry, don't disturb rolf in his way of doing computerchess.
you think he insults christophe. but you are wrong. :wink:

actually he is doing computerchess.

he needs no computer for it.
he needs no software for it.

the only thing he needs is people like christophe, bob, ed, ...

to shorten the list: he needs US to do computerchess.
we are his vehicle to allow HIM to make his kind of computerchess.

maybe you would call it insult. but only because you don't have the same ethical point of view rolf has.

:wink:
:roll:

:oops:

:shock:

:D
Very good. I like this post you have made.

Rybka is getting free online publicity. The longer it lasts the
more advertising it gets. :)
Of course there will be no court case There is always the counter
suit. With a big court case Rybka would be known world wide. :)

No Rybka code no case.

Best to you,

Gerold.


It's not about publicity. We are talking about a possible infringement of the GPL backed up by concrete evidence.



// 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 »

Tony wrote:
bob wrote:
I'm old enough that I don't really care about this stuff. I have slowly learned that human nature is what it is. People lie, cheat, steal, kill, etc all the time ....

.
IMO there are 2 reasons why people do that.

1 They think they can get away with it
2 There will always be people defending them because they think it's great that they managed to get away with it. Seen the people cheer for massmurderers that go to court ?

And the people from 2 help to make 1 happen, because they make it people very difficult to speak up.

I'm not sure wich people I dislike most.

Tony


Tony, as a computer chess programmer and after seeing the evidence, do you believe that we have a breach of the GPL here?



// 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 »

Uri Blass wrote:
bob wrote:
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
Unfortunately that is enough to settle this immediately. "part of fruit" is unacceptable since _all_ of fruit is GPL'ed. This issue is black or white, with no grey at all.

BTW, in some cases development is obvious. You can go back to reg.games.chess.computer circa 1994 november or so, and find posts by me where I was working on a _new_ program (now called Crafty). I started with the move generator and published the source there and got lots of feedback. You can also find discussions about search and evaluation as they were written, not copied. So starting with someone else's code is not a normal development course.
I do not know what is the normal course.

I know some programs that started with the full tscp code like trace
and I am not sure if most chess programs started without code from other programs.

In my case
I started with legal move generator but I used some constants and variables from tscp and also some names of functions.

My move generator never used mailbox that is part of tscp and used some structures of me that are not part of tscp so it is clearly different than tscp move generator.

Uri


Is TSCP protected by the GPL?

It looks like you have acted without even looking at the licence your model has been published under. Read the licence and so you will know if you have infringed on it or not.

If you have, maybe it's not too late to apologize in good faith and to clean your work. That is a more honorable behaviour that the mutism we see from another person.

I see that most of your posts seem tainted by the fear that you have yourself done something wrong. What is legal and what is not is already well defined and will not change because you defend here.

So just clean your stuff first.



// Christophe
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Wanted: some opposition to the provided evidence

Post by Rolf »

bob wrote:You are assuming too much. For example, would you file suit against someone that was making a claim that hurt you, if you_knew_ that the claim was true? Because to file the suit, you have to make a sworn statement that the claim is false in order to seek damages. And if the claim is later proven true, you just committed perjury and are now looking at prison time rather than seeking financial redress from someone else. The sword of justice cuts both ways so caution is required.
I could cut out the other stuff because this here already shows your bias. You simply argue always from the position that Vas has done something wrong. I already wrote a message to write my astonishment how experts could be biased. If you at least would find arguments in favor of Vas, just out of principle. Or also in case you knew how something might have no legal relevance.
-Popper and Lakatos are good but I'm stuck on Leibowitz
Uri Blass
Posts: 10790
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Wanted: some opposition to the provided evidence

Post by Uri Blass »

tiger wrote:
Uri Blass wrote:
bob wrote:
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
Unfortunately that is enough to settle this immediately. "part of fruit" is unacceptable since _all_ of fruit is GPL'ed. This issue is black or white, with no grey at all.

BTW, in some cases development is obvious. You can go back to reg.games.chess.computer circa 1994 november or so, and find posts by me where I was working on a _new_ program (now called Crafty). I started with the move generator and published the source there and got lots of feedback. You can also find discussions about search and evaluation as they were written, not copied. So starting with someone else's code is not a normal development course.
I do not know what is the normal course.

I know some programs that started with the full tscp code like trace
and I am not sure if most chess programs started without code from other programs.

In my case
I started with legal move generator but I used some constants and variables from tscp and also some names of functions.

My move generator never used mailbox that is part of tscp and used some structures of me that are not part of tscp so it is clearly different than tscp move generator.

Uri


Is TSCP protected by the GPL?

It looks like you have acted without even looking at the licence your model has been published under. Read the licence and so you will know if you have infringed on it or not.

If you have, maybe it's not too late to apologize in good faith and to clean your work. That is a more honorable behaviour that the mutism we see from another person.

I see that most of your posts seem tainted by the fear that you have yourself done something wrong. What is legal and what is not is already well defined and will not change because you defend here.

So just clean your stuff first.



// Christophe
I simply responded to Bob hyatt.
Tscp is not protected by the GPL

I think that what is legal and what is not legal is not well defined.

What is derivative work?
If you have one line that you copied then I do not think that you can call it derivative work and you can have one common line also without copying.

What is the minimal number of lines that you copy that your program is defined to be derivative?

Things are not clear.

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

Re: Wanted: some opposition to the provided evidence

Post by Zach Wegner »

Uri Blass wrote:I do not know what is the normal course.

I know some programs that started with the full tscp code like trace
and I am not sure if most chess programs started without code from other programs.

In my case
I started with legal move generator but I used some constants and variables from tscp and also some names of functions.

My move generator never used mailbox that is part of tscp and used some structures of me that are not part of tscp so it is clearly different than tscp move generator.

Uri
It is a bit more complicated than that. IIRC TSCP uses a sort of "do not modify" license, where distributing modified copies with or without source is not allowed without Tom's permission. On the TSCP website there is a "wall of shame" of those who have made TSCP clones. Engines like Trace and the Baron are not there, so I assume that they have Tom's permission. I think in your case that you have done nothing wrong because you have not copied any code. As you said in another post, the issue is not so clear. Theoretically, it is very simple. If you use one line of source code copied-and-pasted from a GPL program, you have broken the license. But when code is modified, and especially when we only have the binary produced from the source code, not the actual code. So the matter comes down to how likely it is that a program copied lines directly from a GPL program. And IMO in this case that probability is growing quite large...
Dirt
Posts: 2851
Joined: Wed Mar 08, 2006 10:01 pm
Location: Irvine, CA, USA

Re: Wanted: some opposition to the provided evidence

Post by Dirt »

bob wrote:Once it is released as GPL, it is GPL. Even if the original author gives permission to someone to use it, it is still GPL.
That "permission" presumably would be in the form of another license, even if an informal one. So the code would be dual licensed under the GPL and something else.
User avatar
mclane
Posts: 18891
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 »

i am happy that you like my posting.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Wanted: some opposition to the provided evidence

Post by Rolf »

bob wrote:
Rolf wrote:
tiger wrote: The fact that Rybka 1.0 is derived from Fruit 2.1 is a common opinion amongst programmers, especially since the reconstructed source code of Rybka 1.0 has been published (it is Strelka 2.0).

For some reason this fact has remained such a taboo that very few established programmers have dared to state clearly their opinion about it.

Now evidence is posted here for everybody to build his own opinion.

The important point to keep in mind is that if the evidence is considered as convincing it will demonstrate that an open source program has been used against the spirit of open source.

More specifically, the evidence is posted to show that a work derived from GPL'ed source code has been published as closed source, when the spirit of the GPL licence under which the original work was published is to always allow the source code to be kept open and shared. It is not only against the spirit, it is also explicitely forbidden by the GPL licence, which is the licence the author of the original work has chosen.

// Christophe
Often something shows only indirectly that and why it's worthless. And this is the case with this whole message.

Here a programmer, experienced technically as he might be, I can only trust Bob regarding this point, is talking too much about showing, forbidden, published, but also about spirit, taboo, opinion and fact, and all what he shows with all this is that he has nothing.
Rolf, I have to make detecting plagiarism a daily task when students turn in programming assignments. Most are too intelligent to just give me duplicate copies. They change variables. They change from a "for" loop (talking C here) to a "while" loop. They change the comments and the way they are structured. But the underlying structure of the program is still there to see. There are even software tools that help with this, as this is a problem at all universities, and some have spent a lot of time trying to develop automated tools to help.

The bottom line is that for regular programming assignments, there are _so_ many different ways to write a program that will take the same input and produce the same output, that the probability of two students writing nearly the same code/algorithm is extremely small. A chess program goes _far_ beyond the complexity of these assignments (and we even have an othello assignment in the AI class, which while not nearly as complex as chess is nevertheless very complex). The probability that program A will have major parts written _exactly_ the same as program B is not just vanishingly small. The old saying about putting enough monkeys in a room full of typewriters, and give them enough time, and one will manage to type the complete text of Lincoln's Gettyesburg address is a good example. It will probably happen with a probability > 0.00, but it is also probably going to take a _long_ time, and a _lot_ of monkeys.

I have not been one of the investigators here. But from what I have seen, it is pretty clear. And it isn't _that_ uncommon an experience. But the problem is amplified when the new program becomes commercial. "Standing on the shoulders of giants" is one thing. But ripping hunks out of the giants is a completely different matter.

From what I have seen, the case is becoming very clear. whether you like the conclusion or not notwithstanding. This is beyond the bounds of reasonable probability that it "happened by chance". Even small parts of chess engines (take the move generator which has a fixed input (a position) and a fixed output (a set of either legal or pseudo-legal moves) looking nothing alike when you compare them. Crafty would be a good example of comparison. Take gnuchess as an example, and compare the two programs. You might occasionally find a single printf() that matches since both support the winboard protocol, but no piece of code of any significant size will match up. Not the search, not the winboard communication, not the evaluation, not anything. That is the norm for every program I have looked at. I have looked at several open-source programs, and when I compare I find "ideas" that obviously came from Crafty in several places. I very rarely find "code".

So what is being presented here is both serious and accurate as best I can tell. While some might not like the conclusions, the evidence has a lot of factual weight behind it. It would be better to try and attack the evidence, rather than the presenter, because the evidence looks to be quite damning.

I'm old enough that I don't really care about this stuff. I have slowly learned that human nature is what it is. People lie, cheat, steal, kill, etc all the time and most of us depend on law enforcement to deal with it, having seen it for so many years. There have been so many "clone wars" over the years, some involving me, some (this one) not. But it isn't new. And it probably isn't going to suddenly go away either. To quote a former president, "it is what it is" but it depends on the meaning of "is"..



Because if it were different, this would mean a court case. Because only this could legally prove anything. While this here is a political campaign from a tech knowie programmer who cant find the linkage from his tech to what he's really doing and implying on a social and psychological level.
Something tells me this will _never_ become a "court case". The risks are _way_ too high with this volume of evidence to support the person being sued over this claim. Only a fool would start such an action given the potential risks of losing, which in my opinion would be extremely likely given what has been shown so far.

It's also important to remember, that messages like mine here must be carefully pronounced because other than the tech knowie who is allowed of the whole shameful campaign against other collegues in computerchess it is almost tabooed if it's described and criticised from an expert in psychological and sociological terms. As if the community couldnt understand that a tech knowie level by definition is sub-optimal to analyse itself for the positivistic reasons which can be learned elsewhere. If you want to criticise such a limited tech sphere there is but one possibility and that is from outside so to speak with social psychology.
Problem is, you are not qualified to weigh in on the discussion. This could likely turn _very_ ugly if people trained in copyright infringement become involved. recognizing copied code is not easy, but there are software tools that will do this with high accuracy. I believe Stanford developed such a system and made it public. And something tells me no one will take that source and try to copy it and call it their own, either. :)


Just to summarize what that angle allows me to conclude. The many professionals weho have read of the CT campaign cant want to openly enter such a debate because to a community with a rest of ethical considerations it would look strange if people raise their fingers and point on a scapegoat for a practice that they themselves are potentially also guilty of. At least that then their own work would be questioned.
I think that most have simply come to accept this as a common action, and have concluded that it just a part of computer chess from here on. I rest with the attitude that I know that whatever I have done in the past was my work, and my work alone (excepting that I do get help with Crafty of course, with Tracy, Mike and Peter, just as I did with Cray Blitz with Harry and Bert). I have not cheated in games using things like "move now" or providing other hints to the program, unlike some that have even been caught on video tape. When I win an event, our group can feel pride in doing so, untainted by the knowledge that we stole something from someone else. And that is good enough for us. We don't have the time nor energy to dwell on "how did they do that, did they cheat? did they copy code? etc. And a lot of us (not all) feel that way. And we can sleep at night knowing that _our_ actions are ethical. And we don't lose sleep over others that are not so ethical. Otherwise we would never sleep.
That context is so trivial and easy to understand that it really takes a tech knowie wih a very resticted view, one could call it 1-dimensional somewhat, who continues to propagate his limited perception. Not only that, he's now already on the lane where he thinks he can trust the deafening silence frfom his collegues as if that would mean that his restrictions have not yet been widely noticed. So here we have a clear aspect of tragical comedy content.
The evidence is convincing to those of us that understand software development. I have not personally validated the evidence, but several that I trust highly have done so. If you are unhappy with the conclusions, you are single-handedly keeping this story alive and active with your protests over and over and over.
I must thank you for this long and in detail answer which sounds to me as very clear and possible as a position for you.

But since you follow certain people's exact wording I became suspicious and honestly I dont buy all that against Vas. Because it all started in the deleted thread with the claim that he just obfuscated his output to hide how he had cheated, that was the wording. Now this is no longer the top argument, now we are bombed with these GPL violating stuff. For me Vas is not the one who does all such a crap but let me believe what I want and I let you do the same against Vas. You sit in a boat with a clone guy, all as I understood the mention here because I missed the original story, and with someone who allegedly obfuscated his own output allegedly. I even read that this was proven.

From the beginning of the campaign I asked for the legal relevance because the computerchess code details are completely unknown to me.

Now I read that Fabien as the owner of Fruit didnt take offense by Rybka code. Reasonable or not what is exactly your business, of you, Bob and these two "known" obfuscators, to be further busy in the anti-Rybka campaign or coalition? What legal sense this all does have??

Do you want to stop Rybka or its participation in China? So that a program wins the title which is in the third or fifth position in the known ranking lists?

Or is it your interest with Rybka that you have the hobby of fishing since long?

But my main question is how you can be happy in a boat with people who accuse others for something they have done themselves? What is your personal motivation to be so against Vas and with buddying Norm and Christophe? And with ignoring Dann Corbit? If you seek a friend, Bob, then you can well count on me, I have never cheated anyone with my program output, I swear to Mother Mary Magdalena. :roll:
-Popper and Lakatos are good but I'm stuck on Leibowitz
Uri Blass
Posts: 10790
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Wanted: some opposition to the provided evidence

Post by Uri Blass »

Zach Wegner wrote:
Uri Blass wrote:I do not know what is the normal course.

I know some programs that started with the full tscp code like trace
and I am not sure if most chess programs started without code from other programs.

In my case
I started with legal move generator but I used some constants and variables from tscp and also some names of functions.

My move generator never used mailbox that is part of tscp and used some structures of me that are not part of tscp so it is clearly different than tscp move generator.

Uri
It is a bit more complicated than that. IIRC TSCP uses a sort of "do not modify" license, where distributing modified copies with or without source is not allowed without Tom's permission. On the TSCP website there is a "wall of shame" of those who have made TSCP clones. Engines like Trace and the Baron are not there, so I assume that they have Tom's permission. I think in your case that you have done nothing wrong because you have not copied any code. As you said in another post, the issue is not so clear. Theoretically, it is very simple. If you use one line of source code copied-and-pasted from a GPL program, you have broken the license. But when code is modified, and especially when we only have the binary produced from the source code, not the actual code. So the matter comes down to how likely it is that a program copied lines directly from a GPL program. And IMO in this case that probability is growing quite large...
I think that it is not so simple because I doubt if a license that does not allow me even to copy one line of code is a legal license.

If I write a book and use some word in the book.
Can I forbid everybody to use the same word?
Obviously not.

The same is for one line of source code.
Note that there are functions that you have to copy from other sources.

I simply had no idea without looking at source code of other chess programs how to measure time and I simply have to use some copy and paste from some source to do it (it does not have to be be a source of a chess program but I do not remember the exact commands so I have to copy and paste from some source).

Uri