Strelka -- Open source

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

Moderator: Ras

Dann Corbit
Posts: 12790
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka -- Open source

Post by Dann Corbit »

Bill Rogers wrote:
Dann Corbit wrote:Consider the reverse engineering of several DOS clones like DR-DOS. The source code for MS-DOS was never made available. So engineers did debugging traces and wrote down an API specification. Using this API, engineers wrote another version of DOS that worked exactly the same as MS-DOS. There was nothing illegal about it.
Excuse me Dann but having been raised in Silicon Valley and being very close to a bunch of pioneers so to speak I have a little more information than what was generally released to the public.
Bill Gates disassembled CPM and then rewrote it to become MSDOS. This was very well known in the Valley at that time. In fact, in the beginning you could hardly tell the two apart in both looks and the way they operated. He was though very quick to add a bunch of features to it so that it did look and become a different operating system.
What? The history of MS-DOS is well known, and Microsoft did not even write it in the first place.
Bill Gates bought MS-DOS (then called QDOS) from Seattle Computer:
http://inventors.about.com/library/weekly/aa033099.htm

One more thing I would like to point out and that is Software Licenses. Having worked for a software company for over 15 years I have on more than occasion had to pursue some who thought they could do whatever they wanted with our software which is in fact wrong in almost every case. A "users license' gives you the right to use the software for what it was designed for and in the case of a chess program that means you can play chess against the program. It does not imply or give permission to disassemble the code to see what makes it work. That is not a users license was designed to be.
I am extremely surprised that Chrilly Donnerger has not been arrested and/or fined a very large amount for doing just that and openly admitting it.
There is literally no way he could be arrested for it.
http://www.program-transformation.org/T ... ompilation

The chess program is a copyrighted program and that also means the source is protected and meant to be kept from prying eyes. Anyone who hacks and discovers what makes another program a 'winner' and then uses or published his finding is breaking international law and thus can be fined or incarcerated.
Bill
You cannot see the source code by disassembly. You can only see the machine code.
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Strelka How hidden people harm Rybka/Vas p.3

Post by Rolf »

hgm wrote:Yes. Decompiling is using it, but using it is not always decompiling.
Objection. As being said by others using is meant to be used in chess. For chessgames and puzzles. What has the programming department to do with playing a game of chess or analysing a chessgame? To be clear about the short definition in the licence we must know that this is addressed to the average user, not to a thief who wants to get data for his own chessprogram. It doesnt take the judgement of a lawyer to see that Vas had not authorized such unfamiliar use of a software code because that has nothing to do with playing chess. I would even think that someone who privately did deconstruct the software for his research and then wouldnt talk about it couldnt be called criminal or something similar but if he then appears in public and begins to lecture about the hidden content of the software program that this would already violate all decent rules of an ordinary living in a community as ours. To be exact on the point, I was very much unpleased by a certain programmer who appeared in CCC to talk about chess software secrets of a new program after his analyses. That should already have been followed by a law case IMO. And in that older case it wasnt even the problem that the source sat in Russia where it's seemingly IMO difficult to catch a copyright offender, in special if he is hiding behind anonymous walls.

It was a deception to me that this sort of offense against Vas as a new entry among the software programmers was tolerated as if a creative man couldnt expect any protection in our little community.
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Strelka How hidden people harm Rybka/Vas p.4

Post by Rolf »

Aleks Peshkov wrote:Strelka is not open source yet, so it is useless to discuss it source code identity.

Open source release of Belka/Strelka is only rumors from unofficial source.
I have just a polite question for you since you have given the address from Russia. For you personally is it a form of blackmail if certain hidden people announce the publication of the Strelka code? Isnt it a form of doing harm to Rybka author Vas? Please give me your opinion. Thanks.
Would you further see any possibilities to sue a Russion on the field of copyright violations? Please give us some notes from the Russian side.
-Popper and Lakatos are good but I'm stuck on Leibowitz
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Strelka How hidden people harm Rybka/Vas p.5

Post by Rolf »

hristo wrote:
Dann Corbit wrote: Here is what is allowed:
1). To read someone's code, learn the algorithms, and write your own version. This is totally fine (legally, morally, and otherwise) unless there are patents on the algorithms (which do not pertain to Russia or Europe anyway?).

At any rate here is what is not allowed:
2). To copy and paste some code from a licensed program and not follow the license.
Hello Dann.

Notwithstanding Russian law, with which I'm completely unfamiliar, do you believe that the following is acceptable (allowed):
1) Decompile (or otherwise extract and translate portions of a binary file) and then integrate some of this translated code into ones own program. (Normally this integration would require some instrumentation of the decompiled code)
2) Identify portion of a binary file that can be extracted and then directly included into another binary, without going through intermediary translation. (this is more difficult to do when compared to decompiled code, but is certainly possible with some instrumentation of the copied code.)

Dann,
you mentioned license and I presume you mean the EULA. In most general terms the user license agreement is concerned with the right to use the software and has this form:
"The user is granted the right to use this software under these conditions ... [conditions] ... failure to satisfy the conditions may result in revoking the right to use the software."

This is pretty much where the User License agreement ends. In this sense if the license is "You can use this software without restrictions" this means that there is nothing you can do to lose your right to use the software. However, what the above 'license' doesn't say is that you own the software.
The important difference, IMO, is the transfer of ownership, which is necessary for IP-rights -- there is a distinct difference between "You have the right to use this software regardless of what you do" and "You own this software".

I don't remember ever seeing software EULA that transfers IP-rights to the individual user. The 'owner' of the IP must be a well defined entity otherwise the users can start seeking legal actions against each other due to "everyone is an owner" paradox. When a transfer of ownership is not specified then, naturally, the original author [creator] remains the only owner.

Analyzing the code for infringements doesn't have to be limited to 'source code' similarity. This is especially relevant when someone is trying to reconcile similarities between 'original source' and 'translated [decompiled] source' -- it is very unlikely (in fact, impossible) to have the code be a perfect match under those circumstances. What may become relevant in this case is (among many others):
1) History. Does the offending piece of software have history (CVS, SVN, other) that can be traced to establish its emergence or did the source code pop-out from 'nothing'.
2) Does the offending code appear to be decompilation [mechanical translation of machine code to human readable code]. There are some clear signs when people have copied and used decompiled code.
3) The authors understanding of the code. If the author has no understanding of how the code works (and why) and cannot satisfy #1 then there is an indication of 'copy&paste' procedure.
4) The author's own admissions. (for instance: "I decompiled this program" ... etc.)


Best Regards,
Hristo

I would be very pleased as a lay if someone, also D.Corbit, could answer this well-thought message. IMO it's a form of abuse if someone denies to answer such questions when he's into the topic with so much knowledge. The question is so important because two well-known experts had once stated that Strelka were NOT a clone. But why would it be dangerous to publish one's code if it were a totally own creation?

Of course one would at first ask if such a stupid publication couldnt be harmful for the creator himself

a) either because he had stolen data from other programs or

b) because he might publish his own findings in computerchess.


The case seems to be otherwise however!

There is no own data in it and the data is stolen. But then the program has been re-written with a certain creativity.

Why should someone do such a thing if he would stand under the laws of a legal copyright system and if he then could be sued?

I would be much more interested in the answers on questions concerning how deeply the commercial programs have already borrowed data from Rybka and how this could be reveiled and how this could be potentionally be prosecuted by our legal system...

Any ideas from the experts?
-Popper and Lakatos are good but I'm stuck on Leibowitz
Dann Corbit
Posts: 12790
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strelka How hidden people harm Rybka/Vas p.5

Post by Dann Corbit »

Rolf wrote:
hristo wrote:
Dann Corbit wrote: Here is what is allowed:
1). To read someone's code, learn the algorithms, and write your own version. This is totally fine (legally, morally, and otherwise) unless there are patents on the algorithms (which do not pertain to Russia or Europe anyway?).

At any rate here is what is not allowed:
2). To copy and paste some code from a licensed program and not follow the license.
Hello Dann.

Notwithstanding Russian law, with which I'm completely unfamiliar, do you believe that the following is acceptable (allowed):
1) Decompile (or otherwise extract and translate portions of a binary file) and then integrate some of this translated code into ones own program. (Normally this integration would require some instrumentation of the decompiled code)
2) Identify portion of a binary file that can be extracted and then directly included into another binary, without going through intermediary translation. (this is more difficult to do when compared to decompiled code, but is certainly possible with some instrumentation of the copied code.)

Dann,
you mentioned license and I presume you mean the EULA. In most general terms the user license agreement is concerned with the right to use the software and has this form:
"The user is granted the right to use this software under these conditions ... [conditions] ... failure to satisfy the conditions may result in revoking the right to use the software."

This is pretty much where the User License agreement ends. In this sense if the license is "You can use this software without restrictions" this means that there is nothing you can do to lose your right to use the software. However, what the above 'license' doesn't say is that you own the software.
The important difference, IMO, is the transfer of ownership, which is necessary for IP-rights -- there is a distinct difference between "You have the right to use this software regardless of what you do" and "You own this software".

I don't remember ever seeing software EULA that transfers IP-rights to the individual user. The 'owner' of the IP must be a well defined entity otherwise the users can start seeking legal actions against each other due to "everyone is an owner" paradox. When a transfer of ownership is not specified then, naturally, the original author [creator] remains the only owner.

Analyzing the code for infringements doesn't have to be limited to 'source code' similarity. This is especially relevant when someone is trying to reconcile similarities between 'original source' and 'translated [decompiled] source' -- it is very unlikely (in fact, impossible) to have the code be a perfect match under those circumstances. What may become relevant in this case is (among many others):
1) History. Does the offending piece of software have history (CVS, SVN, other) that can be traced to establish its emergence or did the source code pop-out from 'nothing'.
2) Does the offending code appear to be decompilation [mechanical translation of machine code to human readable code]. There are some clear signs when people have copied and used decompiled code.
3) The authors understanding of the code. If the author has no understanding of how the code works (and why) and cannot satisfy #1 then there is an indication of 'copy&paste' procedure.
4) The author's own admissions. (for instance: "I decompiled this program" ... etc.)


Best Regards,
Hristo

I would be very pleased as a lay if someone, also D.Corbit, could answer this well-thought message. IMO it's a form of abuse if someone denies to answer such questions when he's into the topic with so much knowledge. The question is so important because two well-known experts had once stated that Strelka were NOT a clone. But why would it be dangerous to publish one's code if it were a totally own creation?

Of course one would at first ask if such a stupid publication couldnt be harmful for the creator himself

a) either because he had stolen data from other programs or

b) because he might publish his own findings in computerchess.


The case seems to be otherwise however!

There is no own data in it and the data is stolen. But then the program has been re-written with a certain creativity.

Why should someone do such a thing if he would stand under the laws of a legal copyright system and if he then could be sued?

I would be much more interested in the answers on questions concerning how deeply the commercial programs have already borrowed data from Rybka and how this could be reveiled and how this could be potentionally be prosecuted by our legal system...

Any ideas from the experts?
I am not sure that I totally understand your question.

There are two sorts of right and wrong.

There is legally right. This means that you are obeying all the laws withing your jurisdiction.

There is morally right. This means that you are obeying some fundamental, underlying principle.

Legally right is easy to define. Just obey the laws.

Morally right is very difficult to define. For instance, Stallman argues that all software should be open source. I do not agree. So his "morally right" and my "morally right" may differ. Which one of us is correct? We all have sets of principles that *we* choose for one reason or another.

Now, to the issues at hand:
There are some things that can never obtain a patent. See, for instance:
http://inventors.about.com/cs/patentsba ... ualify.htm
"Determine that your idea is not one of the following: a law of nature, physical phenomena or abstract idea. This means, for example, that you can't patent math, herbs as a new medicine or lightening."

Now, an algorithm seems like mathematics to me (and so *I* would not personally obtain a software patent, because they seem immoral to me, though I recognize them as legal and would therefore not knowingingly violate one), but that is neither here nor there.

Copyright does not cover algorithms. Anyone can disassemble software for educational purposes. That is clearly legal. Whether it is *morally right* or not is another issue altogether, and the deciding factor is possibly personal. If I have learned an algorithm through disassembly, it is not illegal for me to write a version of it. It may be *immoral*, but who can decide about this other than our own personal decisions?

Now, as to whether the Strelka author has committed a crime of any sort I cannot say. I am not a lawyer. I am unable to see any proof of legal wrongdoing. There may be moral wrongdoing.

I am not decided if it is wrong to disassemble Rybka 1.0 and learn an algorithm. I have leanings in both ways. I won't *personally* do it, but if someone else does that I cannot say that they have done something wrong.

I do not know for sure if wrongdoing has been done in borrowing from Fruit either. Again, by wrongdoing, I mean legal wrongdoing, and not moral wrongdoing.

There is one thing that I find outrageous. The Stelka author never mentioned Fruit or Rybka. It is fairly clear that ideas were borrowed from both. Now, I am not sure if it is necessary *legally* to describe this, but (for me at least) it seems morally outrageous that he never mentioned the path of information. In a printed work, this would clearly constitute plagiarism. I have no idea if this sort of thing pertains to software, but I think that if it isn't it should be. But I do not write laws or have any affect on them and so my opinion means nothing.
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Strelka -- Open source

Post by Alexander Schmidt »

Orlov wrote:Even the author (Jury Osipov) with it does not argue. And you challenge this statement.
I am just telling you what is prooven, and what is said by a "reverse engineer"
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: Strelka -- Open source

Post by slobo »

Alexander Schmidt wrote:
slobo wrote:Uri, if Strelka is Rybka´s clone, then it´s enough to have only Strelka´s code and say whether Rybka is a clone or not. Do you understand now?
If Strelka is based on Fruit, and has parts of Rybka it is a clone of Fruit and Rybka. That doesn't mean Rybka is a clone of Fruit...

Easy, isn't it? :)

Alex
You should first define what "based on Fruit" & "parts of Rybka" mean before declaring "Strelka is a clone of Fruit and Rybka".

Rybka also has parts of Fruit, but for you it is OK.

(FYI: It is called "double standard")
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
User avatar
Rolf
Posts: 6081
Joined: Fri Mar 10, 2006 11:14 pm
Location: Munster, Nuremberg, Princeton

Re: Strelka How hidden people harm Rybka/Vas p.5

Post by Rolf »

Dann Corbit wrote:I am not sure that I totally understand your question.

There are two sorts of right and wrong.

There is legally right. This means that you are obeying all the laws withing your jurisdiction.

There is morally right. This means that you are obeying some fundamental, underlying principle.

Legally right is easy to define. Just obey the laws.

Morally right is very difficult to define.
Thanks for the deep answer. Let me just show where you missed what I was trying to say with all my actual messages. There is a third level that you simply ignore. Isnt that a trivial level? I cant imagine why you miss it.

We are in a community, in a field. And this is one out of collegues and concurrents. That makes the atmosphere of tension and suspense. This is more specific than just moral which we learned during our education.

I found that Hristo brought forward the rational arguments. Conkie mentioned the psychological aspects. It just doesnt work if in such a field among collegues we have folks like Chrilly who has fun in reveiling certain secrets of another one's software and so indicating that he's waiting for invitations to fully explore the program. It doesnt work if someone like the anonymous Strelka author confesses, see Hristo's summary, and thenmore or less asked if he should publish his code for free. All that in a reaction on the appearence of someone like Vas. Doesnt this offend your mind as a sport considering fairness and justice? All this has little to so with what you called legal or moral. Maybe you learned to behave effectively in that jungle when working for business companies but here this is all different. Here it's not business but sportsmanship and fairness and decency.

My criticism comes out of the observable respectlessness towards Vas and his Rybka. All the lovers and non-commercial members of our community must have applauded the entry of Rybka and only certain commercially interested and depending entities must have gone mad about it.

I wished that our independent experts, we dont have thousands of it, kept their sports spirit alive and would qualify the unfair attacks from whereever for what they are. I would have been happy if the debate about Strelka a clone? wouldnt have lasted so long and that in the end experts would have made clear their contempt.

It isnt the question if Strelka is a clone, but why we tolerate such evil practices with our attention. Strelka isnt evil because of its clone substance but because his raison d'etre isnt there. It's purely made to harm someone like Vas with his Rybka.

But if I speak this out it has no effects because I'm a lay. Therefore we need experts to take sides. And that should be so easy to do. Unless experts have hidden interests.

I dont want to be unfair myself. Perhaps Chrilly did help Vas instead that he did harm. Perhaps Chrilly showed that Vas didnt just clone Fruit. But I as a lay wished to read something where an expert shows us how commercial programmers use the known programs for their own purposes because that would even better show the class of Vas. Otherwise it's so unfairly always about Vas and his Rybka as if he's the only one who learns from former models.

I would like to read from experts like you, how difficult it is to create such a better program and that this wouldnt be possible just on the base of illegal or immoral copying or borrowing from a program like Fruit. If that would have been spoken out, many critics among the crowd wouldnt have raised their suspicious voices.

I would also like to read repeatedly what is too seldom pronounced. Bob made it clear years ago. In the behavior of the established commercial business types of guys there is a fundamental unfairness and lack of sportsmansship when they only take and never deliver anything to the community. It is a fact that no business guy gave more to the community that Vasik, the author of Rybka. Bob, as the academic heart of today's computerchess, totally excluded from this reflection. Only experts could quantify the influence of this man. But he isnt in the business anyway.

Could all that help you to better understand me?
-Popper and Lakatos are good but I'm stuck on Leibowitz
Aleks Peshkov
Posts: 911
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: Strelka How hidden people harm Rybka/Vas p.4

Post by Aleks Peshkov »

Rolf wrote:
Aleks Peshkov wrote:Strelka is not open source yet, so it is useless to discuss it source code identity.

Open source release of Belka/Strelka is only rumors from unofficial source.
I have just a polite question for you since you have given the address from Russia. For you personally is it a form of blackmail if certain hidden people announce the publication of the Strelka code? Isnt it a form of doing harm to Rybka author Vas? Please give me your opinion. Thanks.Would you further see any possibilities to sue a Russion on thefield of copyright violations? Please give us some notes from the Russian side.
I personally think that interest to Strelka and Strelka's source code are very overrated. But I feel obliged to say a few words about problem at a whole:
1) Russian Federation is an European country, with mature European law traditions. Russia has own copyright and computer crime laws. Laws are never perfect. I do not know how particular Russian laws better or worse then others. Strelka is not Russian phenomenon. I do not find nothing funny in playing with words and grammar of Slavonian languages, Russian and Soviet multinational history and laws of Russian Federation. I feel abused when some persons do not see the difference.
2) Yuri Osipov was never a member of international CCC community. His words passed to CCC from second hands and with wrong accents. My personal opinion -- he played some extravagant scenes just to invite attention to himself and his Strelka and he obviously got it.
3) Claims about source code publication made another person -- Igor Korshunov, the author of WildCat engine and the main (single?) author of Belka releases. I want to note, his words was not about sure things, but about possibility. My very-very subjective opinion: Yuri Osipov is not a "hardcore" chess programmer and will not take significant role in future development of Strelka/Belka. But there are some programmers and a solid group of interested testers that develop and will probably continue development of the Strelka engine. We lost respective CCC members due minor moderator issues and I am worry that in too hot Strelka's debates we can loose more.
4) I do not bother about harm to Vasik Rajlich very much. He unfortunately lost goddess status of Rybka and caught a shadow to his professional reputation, but this is only an unavoidable cost of crowd's popularity. Vas made clever and interesting forum posts in past, but he hardly a member of CCC now by any merits. He need not our protection. It is obvious to me, that Vasik Rajlich will like to quiet Rybka-Strelka topic, regardless of true hidden situation. If any interested side (either commercial or non-commercial) feels get damage, it should protect its rights in court, but not gain cheap popularity in the forum.
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Strelka -- Open source

Post by Christopher Conkie »

GenoM wrote:
Christopher Conkie wrote:
but final resolution depends on Fabian, I think
Moreso Vasik. I don't get why you keep punting the "Fabian Boat".

Tell me how Fabian could decide if Vasik's source should be released?

Christopher
IF Fabien says Rybka has too much of Fruit in it, then it has to be GPL-ed, hasn't it?
Do you agree?
Nope.

Big no.

Rybka is not GPL. It contains both Fruit and Rybka therefore you cannot GPL it unless Vasik says so. One assumes that Fabian is ok with that but both must say so.