Computer Chess Club Archives




Subject: Re: The superior Rybka chess knowledge

Author: Robert Hyatt

Date: 10:47:45 01/22/06

Go up one level in this thread

On January 22, 2006 at 12:48:24, Uri Blass wrote:

>On January 22, 2006 at 11:49:09, Robert Hyatt wrote:
>>On January 22, 2006 at 09:26:17, Walter Faxon wrote:
>>>On January 22, 2006 at 00:18:52, Robert Hyatt wrote:
>>>>On January 20, 2006 at 17:23:00, Uri Blass wrote:
>>>>>It is illegal to do it.
>>>>>I doubt if all of them do not respect the law.
>>>>You and others keep saying this.  But it is _not_ true.   Please cite any U.S.
>>>>or international law that specifically and explicitly makes this a criminal act.
>>>> "reverse-engineering" has been adjudicated as perfectly legal in both US and
>>>>international courts.  One can't "copy" the code due to copyright.  But one can
>>>>certainly read, study, and learn from it...
>>>No expert on the law but...
>>>(1) I don't know about the case of Rybka, but usually the terms of sale prohibit
>>>reverse-engineering.  So doing so is a tort if not a crime.
>>There are no "terms of sale" for a freely distributed program.  But even if I
>>were to "buy the thing" no law can restrict what I do with the thing for myself.
>> No, I can't distribute it to others, if it was sold to me.  But I can certainly
>>discuss what I see about how it works, and if I can figure out some supposedly
>>secret idea and report on that, that's perfectly acceptable, even if the idea
>>was patented.
>I agree that you can discuss what you see about how it works but the natural way
>to try to learn how it works is not reverse engineering that give me assembly
>code that I do not understand but watching it's evaluation or it's search to try
>to figure out the algorithm that it use.
>  The patent might prevent others from using the idea, but not from
>>discussing it at length to find alternative approaches to produce the same
>I have objections to patents that prevent you using specific ideas because
>people may find independently the same idea by themselves and I do not think
>that it is fair to punish them for the fact that they did not know that the idea
>was used by somebody else.

A couple of points.

(1) I agree that it is probably easier to discover what a program is doing, if
you simply play games, look at them, look at the output, etc...  Of course, the
counter-measure there is to do what several have suggested was done in Rybka,
namely bogus node counts, truncated PVs so that it is not always easy to see
what the search was doing, etc.

(2) "fair" is something that really doesn't belong here.  If you don't want
someone to know what you are doing, you simply have to decide to "never show" it
at all.  Or if you do show it, show it only at very selected events so that the
number of games you produce is so low no one can really figure out all you are
doing with such limited info.

Now if your goal is to sell the program, you are basically screwed here, because
to sell it you have to let others have unlimited access.  And that includes
everything from comparing output, to disassembling to see what is done inside.

>>>(2) If you make a human-readable copy, that is a "derivative work" which is a
>>>violation of copyright.  Anything you thus "learn from it" and then use (or post
>>>about) is also derivative.
>>That is incorrect.  I buy a copyrighted book.  So I can't "learn anything from
>>the book and then use it?"  "derivative work" means that I derive something from
>>a copyrighted item and then try to sell or distribute that as my own idea.
>>Nobody is suggesting that someone would disassemble a program (such as Rybka),
>>then sell the disassembled program as their own work.  But if copyright law
>>worked like that, research would be dead.  If that were true, how could you use
>>alpha/beta when Shannon et al could clearly prove it was their "idea"
>>distributed in a copyrighted journal paper?
>What I do not like is not using ideas of other programs but seeing source of
>programs that were distributed only as exe file.

>This was clearly not the intention of the programmer (otherwise the programmer
>could release the source)

This is a case where "intent" doesn't matter.  "result" is more important, as
when you give someone access to a "secret" there is a risk...

>I would like to see a situation when learning from commercial chess programs can
>be done only by watching it's evaluation or watching results of the search and
>not by reverse engineering.

When someone builds a "better mousetrap" everyone is going to look at it for
ideas, and a select few will learn from that and build an "even better
mousetrap".  That's how progress works.  Or does every new aspiring cardiac
surgeon have to discover, on his own, how to stop a heart so that it can be
repaired surgically?

>>>(3) In the U.S. the DMCA prohibits use of methods to get unauthorized access to
>>>any copyrighted work.  Felony.  A disassembler used to help has been held by a
>>>court to be a "burglary tool".
>>Where?  Except for a case where the software was "stolen" and re-sold.  There is
>>no money being made here when one talks about what ideas a particular program
>>appears to use...  Copyright applies to the original text, and prevents its
>>re-distribution.  It doesn't protect the "ideas" inside the text, just the
>>actual text itself.  Again, were that false, education itself would be
>Protecting ideas is not what I want to see.
>What I want to see is protection against seeing the code of programs that come
>only as an exe file.

If this becomes an issue, there is a solution.  Just make every operating system
known to man refuse to "access" such executables execpt to execute them.  Make
the methodology for doing this secret.  And then enjoy a few months of "secrecy"
until someone reverse-engineers the methodology to protect executables, and then
they can reverse-engineer the program itself.

You see where this leads.  Nowhere except for additional costs that buy a few
months only...

This page took 0.04 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.