Golem wrote:Thanks for the response on my previous question. I will try to find the person who said that strelka is 99% decompiled rybka if I had the time because all of this is a bit confusing.
I have another naive question (maybe this has already been answered somewhere but I'm too lazy to read every rybka thread to be sure).
Suppose that Vas has used the GPLed fruit code of the UCI parser in Rybka 1.0. (Only the UCI parser, nothing more). The fact that he use this part of the fruit code implies that all the rybka 1.0 code become GPL ? (every single line of his code ?).
If the above is true, suppose that Vas rewrote everything from scratch with rybka 3 except a function that evaluate when a bishop is trapped by a pawn wall. This function is exactly the same in rybka 1.0. Does the source code of rybka 3.0 become GPL ? Is GPL transitive ?
I think I don't understand something with the GPL concept but what ?
If that work like I understand it works, it does not seems fair for Vas.
Look at this. Hope it helps a bit:
Theron
The important things to read in what I have written are:
- the ideas used by a program are not protectable
- what is protected is the EXPRESSION of the idea
if you build your program by copying another program, translate it (to another programming language for example), change variable and function names, reorder lines, you will get caught by the process used by the courts.
Dart
GPL version 2 uses the word "derives". This has specific meaning in the context of copyright law. And Christophe is correct that in that context ideas are not protected, only expression. See
http://en.wikipedia.org/wiki/Derivative_work for a brief discussion.
GPL version 3 in fact does not even use the word "derive" but makes clear that to "modify" a work means "to copy from or adapt all or part of the work in a fashion requiring copyright permission". So the copyright rules still apply and generally copyright does not protect ideas, or specifically, algorithms or methods.
Hyatt
Alpha/beta is an "idea". search.c in Crafty is an expression of that idea. The GPL is absolutely not about protecting ideas, quite the opposite, it is about making ideas public through the code that implements them. But then it requires that any use of the _code_ (not the idea) be followed by releasing the new code developed from the GPL code
Hyatt
I only want to know the truth. It would change my opinion of the program/author somewhat if the claims are true. Rybka will still be an outstanding program. There might be some issues to bring it into compliance with the GPL, such as removing any remaining code. Other than that, it is not particularly important to me what happens, how it happens or when it happens. Probably the best thing to come out of the past year or two is that copying is not acceptable, and perhaps it will tend to cut down on such stuff in the future..
Hyatt
There are only two possibilities, if this proves to be true.
1. The source of Rybka has to be released (unlikely).
2. The source of Rybka will have to be completely cleaned up so that people inside the FSF verify that no GPL code remains.
I'm only interested to determine if it actually happened (copying code). I really don't care beyond that point. It is far harder to write a world-beater from scratch than to take a good program and make it even better (Toga comes to mind as one example). That's why I am interested, simply to determine which approach was used. It won't make a difference to most, but would for me.
Schroeder
In case idea's do fall under the GPL agreement I wonder how many engines are really clean as it is my estimation 90% of those who studied Fruit have taken something. I am awaiting to see many new GPL engines to be released soon. Sarcasm intended.
Blass
It is hard to prove GPL violations so the only fair competition is competition that allows everybody to start from public code(when the only limitation can be against clear case of derivatives like toga that is a derivative of fruit)
If it is clear that majority of the code was changed then my opinion is for the author or for the modifier.(majority is about important things and if a program has different opening book you cannot say that you changed the opening book so majority of the code was changed)
Whittington
Another way to see it, *if* the GPL is breached in some trivial non-AI aspect, is to ask the question "who is damaged by the breach?" and "quantify the damages".
Quantification = $0, because the program is not subject to any royalties anyway.
Who is damaged? Nobody and by amount $0
So what would be the point of a court case? Who would bring one? Which, in itself, calls into question the value of the GPL. With apologies to Norm if he thinks that was too lawyer-like
Scheidl
But all of that is totally speculative, as it seems that F.Letouzey is not concerned at all. Or at least, there are no public signs for it. I do not assume that the FSF would take any action unless the original programmer takes an action into this direction, somehow. But who knows. But it seems logical that he would be the first person the FSF would ask to verify the accusations.
Schmidt,Alexander
I am sure Vas would be able to write such a strong engine that is Rybka right now without violating the GPL. The question is, how fast?
What if he would need 5 or 10 years, Shredder 16, Hiarcs, Fritz, Toga... would maybe have passed him. So if he took Fruit as a start he not just violated GPL, he harmed other programmers.
<in direct reply Whittington wrote:>
Whittington
Well here you dangerously connect the two sides to the anti-argument, possibly not intentionally, but connect nevertheless ....
1. Vas engine is too strong in too short a time. Implication: this not possible without stealing ideas/code.
2. Vas allegedly violated GPL. But *no* examples of engine code produced, unsurprisingly because one engine is bitboard and the other not.
The objective of the anti-camp alleging and processing evidence of GPL breach in UCI/user interface/parameter passing/non AI parts of Rybka is to then make the leap to the engine, that (1) above queries.
But, antis have absolutely NO evidence relating to the engine, and all evidence is that it must be utterly different since the fundamental data structures are fundamentally different.
Talk of Rybka unable to progress so far, so fast, is just speculative conjecture, no more and no less.
<Schmidt,Alexander replied:>
Schmidt,Alexander
GPL is thought to get a strong project, not to help single persons. Every programmer knows this, and should start from scratch and not from a GPL code.
//Now a big quote from the main starter of the campaign
against Vas; here you can IMO see how wrong all the
attempts to prove something, if you dont have
a science at hand with absolutely clear rules and orders///
Theron in reply to Whittington:
Maybe you don't get the point. I'm showing how absurd some reasoning is.
The arguments that have been given to brush away the possibility that Rybka 1.0 has started its life as Fruit 2.1 could be used to deny that any copyright violation could ever happen, in any case.
Absurd reasoning include:
- We can decide which parts of a program are important and which are not. If a part shows similarities with the same part of another program, let's just postulate that it is not an important part.
[ => I can take a scene from the movie Starwars and include it in my own movie as long as no important character appears ]
- One line of code cannot violate any copyright. Let's examine a program line by line and conclude that no line violates any copyright and so the program is perfectly clean.
[ => a movie is composed of pixel of various colors, none of these colors are protected by a copyright, so a movie cannot be protected by copyright ]
- If one program has more features than another (for example it is stronger) then it follows naturally that it cannot be a derivative work of the other one.
[ => Spielberg could take a few minutes from any lame movie and include it in Starwars ]
These absurd arguments have been used by several people including you, and actually you are the one who has been using all of them.
At the same time, after brushing away the first bits of evidence with the above absurd arguments, you have insisted that more evidence is provided. I guess they will go through the same absurdity mill.
We have a hard time convincing people with evidence because we are forced to show very technical parts to people who lack the necessary expertise. It is not meant as an elitist statement. We have tried to explain the evidence in non-technical terms as much as possible. Nobody has been excluded from the discussion on the basis that he was not a programmer. The choice of this forum and not the programming forum shows that nobody is excluded.
If the evidence shown is so weak, I guess it should be possible to argue against it on a true technical level. Instead, the absurd reasoning I have listed above is used against it. While it may be effective in deceiving people with less expertise or less experience in programming, it is still wrong.
I would encourage the readers to view the following refutations with a very critical eye:
- we can select the parts that are important
- we can dismiss lines one by one
- we can infer similarity by looking at features or strength
I think those who are defending the possibility that Rybka 1.0 is a derivative work of Fruit 2.1 would be able to accept that they are wrong. But certainly not when faced with the above deceptive arguments.
//in a much shorter reply Smith,Robin knocked out Theron://
Smith,Robin
If Fabien Letouzey doesn't care, and if the FSF doesn't care, then why should anyone else care? To use your Star Wars movie analogy, if someone makes a spoof movie called "Star Bars", and in their movie they insert a brief clip from the Star Wars bar scene, but George Lucas (not Spielberg, wrong producer/director) doesn't care, and 20th Century Fox doesn't care, then why should we care?
//still on the ground Theron replied with a confession
of his true motives for the campaign against Vas,
note, he's prejudiced that Vas is guilty otherwise
the speech is making no sense://
Theron
Because if you do not care, then don't complain when someone steals your own code.
It would have been good to know if people were actually concerned by fairness in computer chess.
It is wrong to say that the copyright owner does not care. The FSF is entitled to take legal actions, as Fabien as given his copyright to them, but they will probably not step in until they receive enough information about the possible violation.
//then Bob Hyatt tooted into the same horn, as if
he knew that Vas was guilty, but both actors
only use the speech but they dont have the
necessary proof, which normally in civilized
regions, in special science, would end further
beating whipped cream, all now written from me, Rolf://
Hyatt
Here's the reason. How would beginners feel if they spend months getting their first program written and running, and then decide to compete in a CCT or whatever, only to discover that most everybody copied program X and started off at 2600+ from day one, where he/she took months to break 2400?
That is the issue. Less copying encourages more participation, because not everyone gets a thrill out of stealing code and using that to compete, most of us would rather use what we wrote ourselves, so that there is a feeling of accomplishment if we do well.
Smith,Robin to Theron
I am concerned by fairness in computer chess, but I might perhaps have a slightly different idea from you of what is and is not fair. In fact I haven't even made up my mind yet regarding what is fair or not fair in this debate. Two separate questions regarding fairness remain unresolved in my mind:
1) Is it fair to borrow small snippets of GPL code if the code author and FSF do not object? I don't know, but the way I am leaning right now is that it is probably not totally fair, but also perhaps not that big a deal since ideas can't be protected and therefore the code itself could be modified (probably without too much difficulty(?) since we aren't, AFAIK, talking about any complicated ideas or engine code) to bring it into compliance. At least that is my neophyte understanding.
2) Is it fair to conduct "research" into license violations by posting in a public forum in a manner that tends to imply a chess programmer is a code thief? Again I don't know, but the way I am leaning right now is that this, too, is perhaps not totally fair. My reasoning is that there is not a lot that can be accomplished in a public forum that could not be accomplished in private; while if the allegations should (however unlikely that might appear to you in this specific case) turn out to be unfounded, the damage would already be done.
...But what will happen if, after the FSF receives enough information, they decide to take no action?
Schmidt,Norman
there is no clear definition of what constitues proof.
that's in fact been a huge problem here in the discussion.
and it's unlikely that the FSF is going to appear suddenly and pronounce it's opinion. even less likely that it will ever be presented in front of a judge. (i think chrisw has made this point).
what's important is the 'public' opinion here in the community. they will ultimately decide what i happens i believe. unless someone, or some group decides to spend all their money on lawyers and pursue a case...maybe risking their reputation as well.
Rolf
What you avoid to see is this: without such a clarification you in special shouldnt discriminate critical questions from people like me who is arguing from a interdisciplinary viewpoint. How can you all discriminate this when you have no certainty yourself? Why digging such a nonsense hole?
Anil
I have considerable respect for all the programmers and other wise people posting their views on this forum. I have read most of the posts, including the one you have suggested. But, my thought in this particular case is that:
"One cannot show GPL violation (with 100% surety) without comparing the 2 source codes in question."
Hence, all the attempts to try to show similarities by disassembling the binaries may not be enough to convince the GPL infringement.