yes. the whole day i was listening to depeche mode,
julian dawson and
bruce cockburn
If I Had a Rocket Launcher (4:59)
here comes the helicopter -- second time today
everybody scatters and hopes it goes away
how many kids they've murdered only god can say
if i had a rocket launcher...i'd make somebody pay.
i don't believe in guarded borders and i don't believe in hate
i don't believe in generals or their stinking torture states
and when i talk with the survivors of things too sickening to relate
if i had a rocket launcher...i would retaliate
on the rio lacantun one hundred thousand wait
to fall down from starvation -- or some less humane fate.
cry for guatemala, with a corpse in every gate
if i had a rocket launcher...i would not hesitate
i want to raise every voice -- at least i've got to try.
every time i think about it water rises to my eyes.
situation desperate echoes of the victims cry
if i had a rocket launcher...some sonofabitch would die
(CHIAPAS, MEXICO AND TORONTO -- FEBRUARY AND APRIL 1983)
3 of my favourite artists/groups in doing music.
great sound.
oops. completely off topic here.
maybe something for CTF
i was in school when this song was "in".
i remember the girls went crazy about depeche mode and most of us males were kind of jealous and NOT listening to these "idiots".
these days are gone. now we can listen to it without negative connotation.
its a competitive world. everything counts in large amounts.
Graham Banks wrote:I think the thing that disturbs me most about all this is the timing.
It certainly gives the appearance that because Vas released Rybka 2.2 as a free engine, this is payback from a lot of pissed off programmers.
If this info came out 2, or 3, or 4, etc. months before the release of Rybka 3, people could then say 'why is this happeneing 2, or 3, or 4 months before the release of Rybka 3? hmmm...it looks to be an attempt to damage sales'...
maybe the timing is coincidental and means nothing?
While it would be good to see this thing settled once and for all, I just hope the accusers have got their arses covered!
Another attempt to psycho-attack? Rolf quit, Graham took his place.
Graham, why to make noise if you're not an expert in this matter?
Not an attack at all Geno.
You're right in that I'm no expert, but I can still voice an opinion.
I'd like to see the whole issue settled once and for all also.
Christophe, Zach and others have got balls to go ahead with this. As I regard them both highly, I'm hoping that nothing bad will come of it for them.
Cheers, Graham.
Why is it so different than the dozen of cases we have already seen discussed here on CCC?
Several people are asking questions based on facts: "Please have a look, this is identical or equivalent or very similar to that, how comes?".
An hypothesis about how it happened is suggested, and leads to the conclusion that there would be a serious infringement on the GPL.
If there is none, then it must be easy to contradict the presented facts.
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.
It seems to me that it has a life of its own. I didn't bring any of this up this time around. nor the last time. Nor the time before that... I believe Vincent was the first one to express this idea. I assume he won't be the last. It seems that several are actively working on comparisons still today...
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.
I think I have first hand experience on this and I know that you are wrong.
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
Of these 700 elos, Vas said 30 could be attributed to Fruit. Must be a typo.
chessfurby wrote:It is well known fact. That is why those who knew it all the time are not worshipping Vas or rybka for that matter. However if you speak out loud you get silenced by the knights guarding the holy grail...
Cheers
"You must be motivated by jealousy or envy". That's the only counter argument. No wonder they are not silencing anybody with that.
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.
I think I have first hand experience on this and I know that you are wrong.
chrisw wrote:[snip]
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.
I think I have first hand experience on this and I know that you are wrong.
If you need examples, Verizon sued by BusyBox developers. Redhat v SCO, Sun v Microsoft. These occur all the time because major players push software that isn't "squeaky clean." So it's hard to use Chessbase's intelligence as proof of anything concerning Rybka 3.
chessfurby wrote:It is well known fact. That is why those who knew it all the time are not worshipping Vas or rybka for that matter. However if you speak out loud you get silenced by the knights guarding the holy grail...
Cheers
"You must be motivated by jealousy or envy". That's the only counter argument. No wonder they are not silencing anybody with that.
// Christophe
You have to prove your case. The other side can remain silent in the meantime. In any case, how do they prove a negative? The onus is on you.