Last Rybka Thread for now...

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

Moderator: Ras

chrisw

Re: ChrisW and Uri: "the GPL is invalid"

Post by chrisw »

tiger wrote:
chrisw wrote:
Alexander Schmidt wrote:
chrisw wrote:7. Explain why your case should not be thrown right out of court with demand for costs.
I don't plan to go to court with it. I think you missunderstood my first post, everyone shall decide for himself if it is enough or not. I will not convince you, and you will not convince me.
Fair enough, I understand. But.

If you talk GPL licence, you talk legal. If you talk legal then it's fair to step ahead into a possible legal process. I argue that the thought experiment of stepping into legal process is going to be enough to make anyone recoil from it. Hence the GPL licence talk is weakened to zero as the GPL, is basically unenforcable even if the breaches you argue have taken place.


Finally you say it!

Wow! How many days of arguing using absurd reasoning against the provided evidence?

Wouldn't have been simpler to state it right from the start?

"Zach, Christophe, Norman, we don't care about any evidence, the GPL is invalid anyway."

As far as I can see, there are two programmers arguing against the evidence: you and Uri. And both of you have stated now that they think the GPL is invalid.
// Christophe
Christophe, the reason I don't usually bother responding to your posts is because I would not be responding to factual material or factual arguments but to your distorted and fantased interpretation of what I am saying. Commonly known as the straw man.

When you stop with the pre-assumptive statements "absurb reasoning", "we don't care about any evidence" and so on, I might be bothered to make a sensible communication, but I don't feel obliged to talk with or in propaganda mode. That's for posturing purposes only, imo.

As to the GPL. Hardly an impressive document, imo. Made by well motivated amateurs. Unfortunately they forget there's a real world out there.
Last edited by chrisw on Fri Aug 29, 2008 5:19 pm, edited 1 time in total.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Last Rybka Thread for now...

Post by bob »

rebel777 wrote:Alexander,

This won't do. Please provide:

1) the disassembler you used, preferable with download link;

2) The offsets in both executables of the alleged similar code chunks so a few of us can check ourselves.

3) List the assembler code of both chunks. Are they 100% identical? I would like to see with my own eyes.

Also consider:

1) Have you checked Fruit with other engines? Maybe such similarities are not so uncommon at all? What if you find similar chunks in Fritz, Shredder, Tiger, Hiarcs etc. ?

2) The fact that you don't know if there possible is an agreement between Vas and Fabien that allows Vas to use Fruit code and that both gentlemen also decided to keep that silent. Maybe Vas even paid Fabien for the service. Seems such a natural explanation and if true you better stop your research. Why not research this as first?

Bottom line, you are far from having proofed anything.

Awaiting regards,

Ed
"similar code" won't happen naturally when you are selecting from an infinite number of ways to write the similar algorithms. I've mentioned the othello project I used to use in the AI course here. Over a hundred programs to play the game, programs in the range of 1,000 lines to 2,000 lines. And there is no "close similarities" much less "identical code". It just doesn't happen in projects this big. Chess is far bigger, with crafty having about 40,000 lines of code. My source is publicly available, I've already suggested that someone take any part they want, and compare it to any other program where source is available (source makes it much easier). If this hypothesis holds water, someone should be able to find significant chunks of identical code in both Crafty and another program. It this were true, copyright laws would be meaningless.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Last Rybka Thread for now...

Post by bob »

Uri Blass wrote:<snipped>
Alexander Schmidt wrote:
I think people showed that there must be a relation between Fruit and Rybka.
Of corse there is a relation
People learn from idea of other people.

There is a relation between most modern chess programs and fruit
There where different attempts and both had the same result: Very strange similaries between Rybka 1.0 Beta and Fruit 2.1.
What does that have to do with anything? two wrongs make a right? If someone else copied parts of fruit they also violated the GPL. You should take a drive down the highway, drive well over the speed limit, and when you get a ticket, take it to court. And tell the judge, "your honor, everyone else was speeding at the same time so I didn't really break any law." and see how far that gets you.

Nothing strange
Alexander Schmidt wrote: There is no doubt that Rybka is an awesome engine. Vas found something that makes Rybka stronger than all others. But the question is, did Vas take some help by Fruit, this would be illegal and would have given him an advantage compared to other programmers. And with that he would also have harmed the others.
I believe that the answer is at least partly negative
I believe that part of the other also took from gpl programs but had not success like Vas.

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

Re: ChrisW and Uri: "the GPL is invalid"

Post by tiger »

chrisw wrote:
tiger wrote:
chrisw wrote:
Alexander Schmidt wrote:
chrisw wrote:7. Explain why your case should not be thrown right out of court with demand for costs.
I don't plan to go to court with it. I think you missunderstood my first post, everyone shall decide for himself if it is enough or not. I will not convince you, and you will not convince me.
Fair enough, I understand. But.

If you talk GPL licence, you talk legal. If you talk legal then it's fair to step ahead into a possible legal process. I argue that the thought experiment of stepping into legal process is going to be enough to make anyone recoil from it. Hence the GPL licence talk is weakened to zero as the GPL, is basically unenforcable even if the breaches you argue have taken place.


Finally you say it!

Wow! How many days of arguing using absurd reasoning against the provided evidence?

Wouldn't have been simpler to state it right from the start?

"Zach, Christophe, Norman, we don't care about any evidence, the GPL is invalid anyway."

As far as I can see, there are two programmers arguing against the evidence: you and Uri. And both of you have stated now that they think the GPL is invalid.
// Christophe
Christophe, the reason I don't usually bother responding to your posts is because I would not be responding to factual material or factual arguments but to your distorted and fantased interpretation of what I am saying. Commonly known as the straw man.

When you stop with the pre-assumptive statements "absurb reasoning", "we don't care about any evidence" and so on, I might be bothered to make a sensible communication, but I don't feel obliged to talk with or in propaganda mode. That's for posturing purposes only, imo.

As to the GPL. Hardly an impressive document, imo. Made by well motivated amateurs. Unfortunately they forget there's a real world out there.


So I'm correct if I say that you do not care about the GPL because it is invalid, in your opinion.

I think it's a very important point that could have been said a thousands of posts ago.



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

Re: Last Rybka Thread for now...

Post by bob »

chrisw wrote:
bnemias wrote:
chrisw wrote:If any code is taken it is certainly relevent what and how much.
Only to the extent of obtaining needed proof. Ethically, "what" and "how much" are irrelevant.
Defence lawyer will demand the following:

1. Prove the code in the GPL program is original and not available anywhere else. For the UCI code or substantial chunks of it that is not going to be easy or possible.
I doubt it. By the time he gets to his defense, it will have presumably already been established that the defendant actually has copied code, presumably GPL'd code. If he borrowed it from elsewhere, it's up to the defense to show that.
6. Explain why you complaint is not vexatious. Defence will declare it is, and provide plenty of CCC posts to demonstrate vexatiousness.
Very funny. If the defense uses CCC posts to demonstrate anything, then it has already lost. Now, I looked up Vexatious litigation because I didn't know what it was. I think you should too, because you clearly don't.
7. Explain why your case should not be thrown right out of court with demand for costs.
Again, the judge would have already thrown out the case if this had merit. This would be argued before and after the case, not during.
Not funny at all. Vexatious litigation ......

Vexatious litigation is legal action which is brought, regardless of its merits, solely to harass or subdue an adversary. It may take the form of a primary frivolous lawsuit or may be the repetitive, burdensome, and unwarranted filing of meritless motions in a matter which is otherwise a meritorious cause of action. Filing vexatious litigation is considered an abuse of the judicial process and may bring down sanctions on the offender.

Some here would and have argued the purpose of all this stuff here is indeed to harass an adversary into (a) not competing in China, (b) reveal his source code. Whether true in all cases here not relevent, any defence will use it though, finding quotes as necessary.
Too easy. I'm not going to china. Is Zach? Don't know. But since I am not going, you would have a tough time proving my intent was to prevent someone else from going...

this is all nonsense, still...
User avatar
Lusakan
Posts: 168
Joined: Tue Aug 26, 2008 5:50 pm
Location: Lusaka Zambia

Re: Last Rybka Thread for now...

Post by Lusakan »

The official argument now is "is there any fuit code in Rybka?", but I can bet my botom doller that if ever the Rybka code is released and has fruit code no one will be interested in any fruit code, they will go strait in a bee line to the none fruit parts. No one here is dull. Every one knows that what people really want to know is how Rybka code differs from other programs rather than how it is similar.

But what do we want to achieve with this matter? Simply investigate and enforce GPL compliance without regard to consequences or counter vailing factors? How many people are reverse engineering Fritz, Naum, Hiarcs, or Zappa right now to verify GPL compliance?

Let's assume for arguments sake that there had been an infridgement of GPL, what is the way forward? Rybka the strongest engine in the world will be made open source and a humiliated Vas will stop developing it because he will no longer be able to earn a living from it. He will move on to other work. Rybka will be declared a clone of fruit and all testing groups will stop testing it and test fuit and Toga instead. Other programmers, the same ones we have had for decades, will get ideas from the source code and adjust them to make them "original" and then encorporate them in their own engines. We will soon be back to the good old days of having on the rating lists a dozen engines of equal strength that are developing at 20 elo a year. This whole thing is like killing the goose that lays the golden eggs to get the eggs inside.

To some of us the narrow, blindly legalistic, "pound of flesh" band wagon we are seeing which refuses to recognise the significance of Vas's work, not only doesnt sound right but is counter progress. Perhaps the GPL itself is outdated and counter progress. Dont most dictators work legally within the law?

One outcome that perhaps will be occasion for celebration is that Zack Wegner, Norman Schmit, and Terry McCracken, "the GPL police" and innocent "seekers after truth", will enter the CCC hall of fame with the debatable distinction, honor and satisfaction of having nailed Vas, distroyed Rybka and taken computer chess to the good old days. Then what?
"you are OK, I am Ok"
Albert Silver
Posts: 3026
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: Last Rybka Thread for now...

Post by Albert Silver »

Lusakan wrote:Let's assume for arguments sake that there had been an infridgement of GPL, what is the way forward?
Actually, if I understood correctly, nothing would happen at all. Rybka 1.0 is no longer distributed, so it is a dead issue either way. The only way something could theoretically happen, would be by proving Rybka 2.2n (the current free version) or Rybka 3 was guilty.

Albert
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
chrisw

Re: Last Rybka Thread for now...

Post by chrisw »

bob wrote:
chrisw wrote:
Alexander Schmidt wrote:
chrisw wrote:The first link is a spreadsheet with some parameter passing code from the UCI. All engines have to have this stuff.
Yes, all engines have it. But at least in a different order. This looks very similar. If this is not enough for you, OK.
chrisw wrote:and certainly absolutely nothing at all to do with the engine AI.
I gonna repeat myself :) The GPL simply doesn't allow to copy a single line of GPL code or to start a new project with GPL code. All this work must be released under GPL too. So the question is not: "how much or which code is taken" from a GPL programm, the question is: "Is there any code taken from a GPL program." It is not relevant which or how much code from a GPL program is taken
chrisw wrote:The second link is to data passed back to the interface. All programs pass data backwards and forwards to the interface and in many ways the data that gets passed is forced, else the interface won't work.
I think I elaborately explained why the similaries are suspicious. I even showed other engineoutput. Take some time and read it. If it is not enough for you, OK.
chrisw wrote:Your analysis of the GPL is also faulty.
No :)
If any code is taken it is certainly relevent what and how much.

Defence lawyer will demand the following:

1. Prove the code in the GPL program is original and not available anywhere else. For the UCI code or substantial chunks of it that is not going to be easy or possible.
That is wrong. DNA is not 100.00000% proof as when there are a finite number of possibilities, duplication is always posible. Ditto for fingerprints. So the standard is not "beyond all doubt" but "beyond a _reasonable_ doubt". No two programmers will produce the same blocks of code. Because there, there is an _infinite_ number of ways to write code to produce the same results. Enough expert witnesses familiar with the would be more than enough to convince a jury that this simply does not happen. And it is well _past_ time to get off of this bandwagon. This simply does not happen naturally.

2. Demonstrate the code is non-trivial. What means non-trivial?
A bubble sort is trivial. A piece of code to break a command up into tokens is trivial. But several trivial pieces of code make a non-trivial piece of code. I don't see why this is so complicated. If I should be asked to testify, I have a mountain of data to bring to the table as already mentioned. Othello is pretty simple compared to chess. Othello programs written in less than one semester are far simpler than chess programs with 10x the number of lines of code. Yet these othello programs I have (over 100) show no similarities beyond the overview level that all play the same game. There are simply too many ways to write the same algorithm. Even the searches look nothing alike except for functionality. I believe that any impartial jury would take this, plus similar data from places like Stanford, Dartmouth, Carnegie-Melon, etc, and conclude that this is a red-herring claim.


3. Demonstrate the code chunk is substantive. What means substantive?

4. Account for the differences contained within the code chunks (you posted already comments that Fruit does so and so, Rybka not within the code chunks)
Students are quite good at trying this kind of stuff. Change the variable names. Change the order of statements when it doesn't change the semantics. Change the structures used when possible, to conceal plagiarism. Does it really matter whether I zero a counter at the top of a piece of code, or right before the loop where it is modified?

Once again, if you were grading the projects I have to deal with, you would _always_ say "original work" if you use that approach. Yet any competent person, once shown the "tricks" used to disguise copying, will see through it immediately.

5. Account for the massive non-similarities, 99.99999% of the programs
What does that have to do with GPL? We are looking for significant similarities.

6. Explain why you complaint is not vexatious. Defence will declare it is, and provide plenty of CCC posts to demonstrate vexatiousness.
For a finding of fact, motive is irrelevant. If I present a video recording of someone committing a murder, the fact that I like or don't like them is completely irrelevant.


7. Explain why your case should not be thrown right out of court with demand for costs.
Because there is significant evidence, validated by many experts, suggesting that something improper has happened.
1. I believe you miss the point

Let A = some precursor program
Let B = Fruit protected by GPL
Let C = Rybka, allegadly copying piece of Fruit

To prove C copied a code chunk from B in contravention of the GPL, you need to prove that code chunk was original and hence protectable by the GPL. Not all of B is protected, is it?

If in fact A contained something similar, for example a piece of UCI code that transmitted the desired user thinking time parameter, then the fact that chunk C is similar to chunk B (allegedly) would be negated by the fact that chunk B may be similar to chunk A.

My point was this: since all programs have to handle in the UCI simple stuff like how many seconds can I think for, please; you'll need to demonstrate that similar code does not exist across many other engines. And it very probably will.

2. Well, good we agree. The question of trivial/non-trivial is important and subject to judgement. Therefore you need to demonstrate some standard of non-triviliaty. We can argue what this standard is, but importantly, we've agreed that there's a line between trivial andf non-trivial and your sides case has to cross that lien decisively. I don't think use of setjmp() or some time parameter passing code does that for you. My opinion.

3. You forgot to define substantive. Unsurprisingly, because you can't. It's a judgement call. Bits of non-parallel UCI code full of "Fruit does something different here" won't wash. imo.

4. This constant reference to the tricks of your students won't wash either. Where is the evidence of so much as one "trick" in Rybka sources? Hmmm? That's right, there isn't one. Your comments are just slurs by association.

5. The massive difference and huge ELO leap of Rybka are as described by Fernando. A new work in all variations.

6. If it ever came to costs, the vexatious litigant would find out soon enough when his motives were revealed by the use of published documentation.
User avatar
tiger
Posts: 819
Joined: Sat Mar 11, 2006 3:15 am
Location: Guadeloupe (french caribbean island)

Re: Last Rybka Thread for now...

Post by tiger »

Lusakan wrote:The official argument now is "is there any fuit code in Rybka?", but I can bet my botom doller that if ever the Rybka code is released and has fruit code no one will be interested in any fruit code, they will go strait in a bee line to the none fruit parts. No one here is dull. Every one knows that what people really want to know is how Rybka code differs from other programs rather than how it is similar.

But what do we want to achieve with this matter? Simply investigate and enforce GPL compliance without regard to consequences or counter vailing factors? How many people are reverse engineering Fritz, Naum, Hiarcs, or Zappa right now to verify GPL compliance?

Let's assume for arguments sake that there had been an infridgement of GPL, what is the way forward? Rybka the strongest engine in the world will be made open source and a humiliated Vas will stop developing it because he will no longer be able to earn a living from it. He will move on to other work. Rybka will be declared a clone of fruit and all testing groups will stop testing it and test fuit and Toga instead. Other programmers, the same ones we have had for decades, will get ideas from the source code and adjust them to make them "original" and then encorporate them in their own engines. We will soon be back to the good old days of having on the rating lists a dozen engines of equal strength that are developing at 20 elo a year. This whole thing is like killing the goose that lays the golden eggs to get the eggs inside.

To some of us the narrow, blindly legalistic, "pound of flesh" band wagon we are seeing which refuses to recognise the significance of Vas's work, not only doesnt sound right but is counter progress. Perhaps the GPL itself is outdated and counter progress. Dont most dictators work legally within the law?

One outcome that perhaps will be occasion for celebration is that Zack Wegner, Norman Schmit, and Terry McCracken, "the GPL police" and innocent "seekers after truth", will enter the CCC hall of fame with the debatable distinction, honor and satisfaction of having nailed Vas, distroyed Rybka and taken computer chess to the good old days. Then what?


Two facts:

- the code we are talking about, Rybka 1.0, has already been reverse-engineered and published. The bees are not after Vas to force him to show his code, it has already been published.

- the FSF, which is the copyright owner of Fruit 2.1, generally solves this kind of problem by asking the author of the infringing program to either publish it under the GPL, or, if he does not want to, to simply remove the GPL-protected parts from it.

So don't worry too much for Vas. Nothing terrible will happen to him.



// Christophe
chrisw

Re: ChrisW and Uri: "the GPL is invalid"

Post by chrisw »

tiger wrote:
chrisw wrote:
tiger wrote:
chrisw wrote:
Alexander Schmidt wrote:
chrisw wrote:7. Explain why your case should not be thrown right out of court with demand for costs.
I don't plan to go to court with it. I think you missunderstood my first post, everyone shall decide for himself if it is enough or not. I will not convince you, and you will not convince me.
Fair enough, I understand. But.

If you talk GPL licence, you talk legal. If you talk legal then it's fair to step ahead into a possible legal process. I argue that the thought experiment of stepping into legal process is going to be enough to make anyone recoil from it. Hence the GPL licence talk is weakened to zero as the GPL, is basically unenforcable even if the breaches you argue have taken place.


Finally you say it!

Wow! How many days of arguing using absurd reasoning against the provided evidence?

Wouldn't have been simpler to state it right from the start?

"Zach, Christophe, Norman, we don't care about any evidence, the GPL is invalid anyway."

As far as I can see, there are two programmers arguing against the evidence: you and Uri. And both of you have stated now that they think the GPL is invalid.
// Christophe
Christophe, the reason I don't usually bother responding to your posts is because I would not be responding to factual material or factual arguments but to your distorted and fantased interpretation of what I am saying. Commonly known as the straw man.

When you stop with the pre-assumptive statements "absurb reasoning", "we don't care about any evidence" and so on, I might be bothered to make a sensible communication, but I don't feel obliged to talk with or in propaganda mode. That's for posturing purposes only, imo.

As to the GPL. Hardly an impressive document, imo. Made by well motivated amateurs. Unfortunately they forget there's a real world out there.


So I'm correct if I say that you do not care about the GPL because it is invalid, in your opinion.

I think it's a very important point that could have been said a thousands of posts ago.



// Christophe
No, again you try to put words into my mouth. Again trying to set up straw man.

I think the GPL is not enforcable in cases where heavy modification of the GPL protected code has been made. I think it is enforcable for someone who changed 10% or 5% and tried calling it his own. But a massive rewrite, no way. Not that I believe this happened in the case in question anyway.

I also think that any person assigning his code into GPL licence knows perfectly well that he is only really potentially stopping the kind of usage that turned Crafty in Drafty or whatever they called it back whenever. Ie fiddling with text strings, calling it your own name and so on. The licensor knows perfectly well that competitors and other persons are going to be majorly hacking his stuff and pinching things, either lifting code or lifting knowledge. My guess is that Fabien understood that from the start, which is why he apparently shows little concern now. Did he use GPL because it was the best choice out of several or did he use it because it was all there was?