Uri Blass wrote: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
The GPL licence is clear:
From section 0: ...a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications...
So there is no minimal number of lines required to start to infringe on the GPL. It starts at one line, or in the case of programs presented on one line (there are such programs), it starts at a few characters.
What's left to be proven is that some part of a source code that is supposed to infringe on the GPL has indeed been taken from a GPL source code and is not an original creation.
This is going to be left at the appreciation of software experts. So if all you have copied is "i++;" I guess you are safe. If you have copied a one hundred lines routine, I think you are not, because the experts are likely to rule that there is no chance that you have come up with exactly the same 100 lines of code by pure luck.
Remember, it does not matter if the routine you have copied is of vital importance in your program or if it is not. It does not even matter if the routines you have copied come from a program that has absolutely nothing to do with yours. For example, you are not allowed to use a routine from a financial program even if you are going to use it in a chess program.
The spirit of the GPL is that some guy gives away his work by generosity. What he asks you in exchange is to do the same if you take all or even just a part of his work to include it in your creations. So
if your intention is to keep your work closed, then the least you can do is to respect the will of the guy and not copy ANY part of his work. Hence the relative intolerance against such re-use, even for what you call "unimportant" parts.
It is also the reason why there is no minimal number of identical lines you would be allowed to use. You are not allowed to use this work
at all if you do not want to accept the rules of the game, so if there is evidence of re-use of code, as small as it is, you are caught.
It's up to you to decide if you could be caught or not with your current code, knowing the original programs you may have copied in part.
Now if you want to be safe, make at least sure that you do not have 800 identical lines of code that some program protected by the GPL.
It has been shown that at least 800 lines of Strelka 2.0 are identical to lines of Fruit 2.1. Ask an expert what he thinks about it. I don't think the answer will be unclear.
// Christophe