Fabien's open letter to the community

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

Moderators: hgm, Rebel, chrisw

User avatar
JuLieN
Posts: 2949
Joined: Mon May 05, 2008 12:16 pm
Location: Bordeaux (France)
Full name: Julien Marcel

Re: Fabien's open letter to the community

Post by JuLieN »

hgm wrote:
JuLieN wrote:But I'm a jurist and I teach law, so after what Fabien said there are now some things that bother me. And what GPL is is irrelevent according to most of national laws. And as Fabien is french I can testify that there are plenty of legal tools available to him. Some of them are probably in most western legal arsenals actually. One of them is called "parasitisme", and it punishes people who generate wealth out of someone else's work without his authorization. And this is just an example.
Sorry, I am not a jurist at all, but I feel confident enough to challenge you on the highlighted quote. Most national laws respect agreements between individuals. And that is exactly what the GPL is: a very elaborate and precise agreement of what others are allowed to do with your code and what not. Without having to seek explicit authorization. The release under GPL is the authorization. You would be steamrollered in court...

Sorry HGM, you are right, my fault : I didn't meant what I ended writing. What I meant was that the main concern wasn't the GPL but national laws. Maybe Rybka comply or doesn't comply with GPL, but as a jurist I wouldn't even consider that first, as I would instinctly have in mind much more handy juridic tools, like the ones I mentioned. Then, if even GPL can get involved in the case that would just be a bonus. Sorry if I was a bit clumsy in my first formulation. Of course GPL would stand before any tribunal, as it is a contract Fabien agreed with. (And Vas too, if it can be proven he borrowed code from a GPLed program).

EDIT: I am not a specialist at all of GPL... so if it states in the GPL that anybody can make money from the GPL code, then of course no parasistism action could be triggered, as Fabien would have agreed with that the day he GPLed his code. (But if Vas is proven having borrowed code or taken inspiration from a GPL-ed program, then it's my understanding that he too agree with the GPL's obligation to publish his modified version of the GPL code...)
Last edited by JuLieN on Mon Jan 24, 2011 12:58 pm, edited 1 time in total.
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
K I Hyams
Posts: 3584
Joined: Fri Mar 31, 2006 11:21 pm

Re: Fabien's open letter to the community

Post by K I Hyams »

bhlangonijr wrote: 2) The fact Strelka is pretty equivalent to Fruit's algorithms strongly suggests that the original Rybka's C source contained Fruit's algorithms, and most probably as a verbatim copy of Fruit (e.g Copy & Paste);
hgm wrote: 2) Pure speculation. It can just as easily be a rewrite already in Rybka. You cannot know that, Fabien cannot know that without decompiling Rybka, or compiling Fruit with the same compiler as Rybka, and comparng the binaries. And neither of you have done that.
HGM, I think that you are saying that the fact that there is identical code in Fruit and Strelka does not prove that there is identical code in Fruit and Rybka. If I have understood you correctly, then the post below deals with that problem. Vas says that there is much identical code in Strelka and Rybka, so much in fact that he is claiming Strelka as his own property. If I have not understood you correctly, would you please explain what you mean.
Rajlich wrote: Rybka Chess Community Forum
Forum RybkaChess Help Search Chat Messages Profile Options Logout
Topic The Rybka Lounge / Computer Chess / Strelka 2.0 (37588 hits)
1 2 3 4 5 6
Post Subscribe

By Vasik Rajlich Date 2008-01-11 12:26

I've taken a look this morning at the Strelka 2.0 sources. The picture is quite clear.

Vast sections of these sources started their life as a decompiled Rybka 1.0. The traces of this are everywhere. The board representation is identical, and all sorts of absolutely unique Rybka code methods, bitboard tricks and even exact data tables are used throughout. Significant portions of the search and evaluation logic are not fully disassembled - the author has left in hardcoded constants and used generic names (such as "PawnStruScore0" & "PawnStruScore1", "PassedPawnValue0" through "PassedPawnValue7", etc) which show that he hasn't yet fully understood what is happening.

In some cases, these traces do also extend beyond the inner search and evaluation kernel. For instance, Rybka and Strelka are the only engines which I know about which don't report "seldepth" and "hashfull". Rybka's UCI strings are used throughout.

The author did at first make attempts to hide the Rybka origins, for example by masking the table values in earlier Strelka versions. He also made significant attempts to improve the program. The attempts at improvement are not very original, but they are everywhere. They include PV collection, null verification (and in fact changes to the null implementation itself), some endgame drawishness heuristics, a handful of new evaluation term, a new approach to blending between opening and endgame eval terms, and so on. They also do include various structural changes, such as knight underpromotions, on-the-fly calculations of many tables, the setting of piece-square table values, etc. These changes are extensive and no doubt lead to differences in playing style and perhaps a useful engine for users to have, but they do not change the illegality of the code base.

In light of the above, I am claiming Strelka 2.0 as my own and will release it in the next few days under my own name. The name of the author with the pen name "Osipov" will be included if he comes forward with hiw own real name, otherwise an anonymous contribution will be noted. The contributions of Igor Korshunov will also be confirmed and noted if appropriate. All usage permissions will be granted with this release.
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Fabien's open letter to the community

Post by bhlangonijr »

hgm wrote: 1) Yeah, so? Fabien did not tell anything that was not obvious even without knowing either the Strelka or the Fruit code?
The fact Fabien is saying so - and writing a public letter - changes _everything_ as he is the copyright holder.
2) Pure speculation. It can just as easily be a rewrite already in Rybka. You cannot know that, Fabien cannot know that without decompiling Rybka, or compiling Fruit with the same compiler as Rybka, and comparng the binaries. And neither of you have done that.
As you agreed on point 3 it doesn't change anything. He could have re-write the code but it is still GPLed code.
3) Indeed, merely renaming symbols would not be enough to wrestle a program out from under its copyrights, and there would be a strong legal case. Which Fabien dd just deny...
4) But he _says_ there is no legal case. Of course one can think that this is not very relevant, because it is only what he _says_, and he of course must _believe_ something completely different, because that is what you _believe_. So the fact that he directly contradicts what you believe must be very strong _proof_ that you have been right all along about this... :lol:
Fabien was describing the sequence of facts as it happened when he first got in touch with Strelka source. Initially he didn't care because he thought it was a "free closed source". And then he mentions: "I want to point out something immediately: there was no mention of Rybka whatsoever.".
Do you really think he would write a public letter just to say "Yeah, Rybka very much reminds me Fruit...cool"?
User avatar
AdminX
Posts: 6339
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: Fabien's open letter to the community

Post by AdminX »

hgm wrote:
AdminX wrote:I will just cut out your personal attack and cut to the chase. No I have not written a program myself, not in C anyway. :) It was more like Basic and that was a very long time ago. Yes, Programers do start from scratch from time to time, However how many do you know that create a New number 1 in such a short time frame from nothing at all? :twisted:
Since when is it a "personal attack" to speculate on if someone has written a Chess program?

You rewrite because you want to improve your program, and the old code hampers you from doing so. So the result is usually better, unless you were incompetent, or the decision to rewrite was disastrously wrong. It took me two weeks to write an engine that was stronger than Joker, starting from scratch. (And applying what I learned when writing HaQiKi D.)
If you had kept to your subject it would not have been, but you did not did you?
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: Fabien's open letter to the community

Post by Peter Skinner »

Dr.Wael Deeb wrote:First thing came to my thoughts after reading the article is a huge lie Vasik was spreading through all these years....that he,Vasik,contacted Fabien regarding the fruit-Rybka affair and Fabien is fine with it and even doesn't care which as I wrote turned out to be a huge lie....
Dr.D
Do you have a reference for this? I have been trying to find one, and I can't.

I would just like to read it first hand...

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
User avatar
JuLieN
Posts: 2949
Joined: Mon May 05, 2008 12:16 pm
Location: Bordeaux (France)
Full name: Julien Marcel

Re: Fabien's open letter to the community

Post by JuLieN »

Ok, I just read a little bit about the GPL. This license involves :

1 - the right to execute the software for any use
2 - the right to study the software and/or its source code and adapt it to ones own personal needs
3 - the right to copy the software (providing you don't suppress files from the archive)
4 - the right to publish modified versions of this software

According to the articulation of the 2nd and 4th rights, any modification of the software for something else than personal use implies that one shall publish the modified code along with the executable.

Besides, the GPL license is more general than "copy & paste" : even a program inspired by a GPLed one should disclose its code.

And the "funny" (not!) thing is that if it can really be proven that it has not been complied with the GPL then it should allow Fabien (or the FSF) to make use of the "parasitism" action I yet mentioned, in order to recover damages. (Though if the FSF stood only by its rule it should only ask for the disclosure of the code as the GPL, if I understood it well, seems to allow the use of a GPLed programs to generate profit).
Last edited by JuLieN on Mon Jan 24, 2011 1:20 pm, edited 4 times in total.
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fabien's open letter to the community

Post by hgm »

bhlangonijr wrote:As you agreed on point 3 it doesn't change anything. He could have re-write the code but it is still GPLed code.
And that is where your stack of assumptions tumbles down. A re-write of GPL'd code is NOT GPL's code...
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

Re: Fabien's open letter to the community

Post by Gian-Carlo Pascutto »

hgm wrote: You've probably never written a Chess engine yourself. All authors periodically start to rewrite completely from scratch.
Bah, I don't think this is universal. Although I've done them, I'm not a fan of rewrites. Serious refactoring can be as good if the design is somewhat decent. If the engine gets big enough with features (not a factor for you, I'm sure!), the effort of rewriting becomes too big.

Of course, most people don't get a decent design the first time they write an engine, unless they were already experienced programmers. I certainly wasn't when I wrote my first engine...

But anyway, I do not believe all authors just "periodically" completely rewrite their engines.
User avatar
Eelco de Groot
Posts: 4561
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: Fabien's open letter to the community

Post by Eelco de Groot »

Peter Skinner wrote:
Dr.Wael Deeb wrote:First thing came to my thoughts after reading the article is a huge lie Vasik was spreading through all these years....that he,Vasik,contacted Fabien regarding the fruit-Rybka affair and Fabien is fine with it and even doesn't care which as I wrote turned out to be a huge lie....
Dr.D
Do you have a reference for this? I have been trying to find one, and I can't.

I would just like to read it first hand...

Peter
Vas certainly has not said much on the subject, but this interpretation must be entirely for Wael's account. Vas has admitted "going through the Fruit code forward and backwards and taking many things" -in an interview, Fabien probably does not know about-, but nothing about contacting Fabien. Well maybe it was that Fabien was a bit hard to reach maybe. Vas claimed -in said interview also- that without Fruit Rybka would have been about twenty elo weaker but never said at which point that was so I think that is a bit meaningless, even if he meant at the time of the interview. Without a good basis you can't improve a chessprogram and with it you can as long as you keep trying to improve it. Well I think it is clear Rybka had a good basis. This was not really denied though.

Regards, Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
User avatar
hgm
Posts: 27789
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Fabien's open letter to the community

Post by hgm »

JuLieN wrote:Besides, the GPL license is more general than "copy & paste" : even a program inspired by a GPLed one should disclose its code.
This is totally untrue:

The GPL is an agreement on dealing with copyrights: it grants you (in advance) the rights to use certain copyrighted material, provided you comply with the conditions (publishing your modifications). Copyright law specifies what use of intellectual property you can make without restriction, and what you cannot do, unless you have permission. The GPL just arranges the details of granting the permission, which is all the law allows it to do. Any restriction it would try to impose in situations where copyright law specifies use without restriction would be null and void.

So applying conditions on 'inspired work' is completely outside its jurisdiction, as copyrights do not extend to 'inspiration'. Just to copying.
Last edited by hgm on Mon Jan 24, 2011 1:38 pm, edited 1 time in total.