What the computer chess community needs to decide

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

Moderators: hgm, Rebel, chrisw

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

What the computer chess community needs to decide

Post by Don »

There are several issue concerning various programs that have raised a huge amount of controversy and have generated a lot of different viewpoints.

I would like to try to sort our the issues and attempt to bring a little clarity to the matter, and not in a ad-hoc manner but by just trying to provide a little direction to this dicussion with your help. I'm going to try to refrain from subjective comments on this particular post although I don't believe it's possible for anyone to be 100% objective about anything.

I think there are 2 major issues that we should consider separately, even though there may be some degree of overlap. One of them is purely legal (what you can legally get away with) and the other is ethical.

The legal issue is separate because it defines what you can get away with. I'm not going to focus on that here, because presumably there is little we can do about that, unless we are directly involved. For example I don't think we need to have a huge discussion about whether Vas violated GPL, and our opinion won't change that anyway. There is strong evidence that he did, therefore I'm not sure discussing it will change that.

From the eithical point of view, I think WE need to decide what is acceptable and what is not. I say WE, as fellow members of the computer chess community. Let's use Ipolitto as a talking point.

I believe there are 3 basic points of view on this that pretty much define how people feel about it.

1. Ippolito is a completely orginal program.

2. Ippolito is heavily based on reverse engineering Rybka 3 and this is wrong.

3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?

Although I think these represent the major points of view, they are mixed in various degrees. For example you might believe that Ippolito is mostly orginal but with some ideas taken from Rybka 3. And the degree of your belief in the wrongness of this will vary from person to person.

These 3 points of view can be broken down into 2 issues, whether Ippolito is orginal or not. I'm not going to address this here because I want to focus on what I think is the most important issue, the ethics of it.

So let's start with the assumption that we have identified a program that is not a source code clone of something original, but is heavily based on it. Let's also assume there are no legal issues. If there are, that of course is a separate matter with its own considerations.

Is this acceptable? Should we as the computer chess community endorse this behavior, or discourage it?

I think THAT is what we need to decide. We all have our various viewpoints on this which I think should be respected, but I think this is really at the heart of the matter and what we SHOULD be talking about but rarely do.
Albert Silver
Posts: 3019
Joined: Wed Mar 08, 2006 9:57 pm
Location: Rio de Janeiro, Brazil

Re: What the computer chess community needs to decide

Post by Albert Silver »

Don wrote:3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?
This is one I can never understand as it is based on the argument "two wrongs make a right". The people who argue it almost all base it on "since Rybka is a ripoff, this one is ok", or... two wrongs make a right. Just my 2 cents.
"Tactics are the bricks and sticks that make up a game, but positional play is the architectural blueprint."
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What the computer chess community needs to decide

Post by bob »

Don wrote:There are several issue concerning various programs that have raised a huge amount of controversy and have generated a lot of different viewpoints.

I would like to try to sort our the issues and attempt to bring a little clarity to the matter, and not in a ad-hoc manner but by just trying to provide a little direction to this dicussion with your help. I'm going to try to refrain from subjective comments on this particular post although I don't believe it's possible for anyone to be 100% objective about anything.

I think there are 2 major issues that we should consider separately, even though there may be some degree of overlap. One of them is purely legal (what you can legally get away with) and the other is ethical.

The legal issue is separate because it defines what you can get away with. I'm not going to focus on that here, because presumably there is little we can do about that, unless we are directly involved. For example I don't think we need to have a huge discussion about whether Vas violated GPL, and our opinion won't change that anyway. There is strong evidence that he did, therefore I'm not sure discussing it will change that.

From the eithical point of view, I think WE need to decide what is acceptable and what is not. I say WE, as fellow members of the computer chess community. Let's use Ipolitto as a talking point.

I believe there are 3 basic points of view on this that pretty much define how people feel about it.

1. Ippolito is a completely orginal program.

2. Ippolito is heavily based on reverse engineering Rybka 3 and this is wrong.

3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?

Although I think these represent the major points of view, they are mixed in various degrees. For example you might believe that Ippolito is mostly orginal but with some ideas taken from Rybka 3. And the degree of your belief in the wrongness of this will vary from person to person.

These 3 points of view can be broken down into 2 issues, whether Ippolito is orginal or not. I'm not going to address this here because I want to focus on what I think is the most important issue, the ethics of it.

So let's start with the assumption that we have identified a program that is not a source code clone of something original, but is heavily based on it. Let's also assume there are no legal issues. If there are, that of course is a separate matter with its own considerations.

Is this acceptable? Should we as the computer chess community endorse this behavior, or discourage it?

I think THAT is what we need to decide. We all have our various viewpoints on this which I think should be respected, but I think this is really at the heart of the matter and what we SHOULD be talking about but rarely do.
My take on ip* and _all_ of its cousins.

This thing is clearly reverse-engineered as a starting point. The code is unlike anything any human would ever produce. Even someone that has been doing optimization work for years would simply not write code that looks like that. IMHO, there is absolutely no doubt but that it started from reverse-engineering.

The question you appear to be asking is "if that is true, but it has been modified extensively, can it play in tournaments?" I am of the opinion that "once a derivative, always a derivative." If the person was too lazy to start from scratch the first time around, he has not started from scratch today either. And there will remain large chunks of copied (reverse-engineered) code.

Before anyone says my view has changed, it has not. I still believe that the discussions about these derivative programs should continue. They have not been proven guilty beyond any doubt. But they should not be allowed into tournaments, because there is significant evidence they are derivatives, and that can not be disproved beyond any reasonable doubt either.

So, IMHO, discuss 'em all you want. But don't allow them in tournaments as long as the question is open. Only problem here is Vas, who has refused to clear this up. I have directly dealt with previous crafty derivatives (actually most of those were pure clones) since it was my program. Any program suspected of being a clone or derivative of another program should be inspected. For open source programs, anyone can do this. For closed source programs, only the author can address the issue.

Sadly, we have nothing of significance with respect to ip*/robo*/etc...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What the computer chess community needs to decide

Post by bob »

Albert Silver wrote:
Don wrote:3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?
This is one I can never understand as it is based on the argument "two wrongs make a right". The people who argue it almost all base it on "since Rybka is a ripoff, this one is ok", or... two wrongs make a right. Just my 2 cents.
If you are talking about me, that is not exactly what I have said. Two wrongs make two wrongs. The problem here is that the program in the "middle" of fruit->rybka and rybka->ip* was authored by someone that refuses to provide any information at all. You won't ever find me suggesting that ip* be allowed into a tournament. Unless, perhaps, after 5 more years we still have nothing from the Rybka side. Then ip* might be acceptable, but not the derivatives of that, of which there are obviously many.
frcha
Posts: 221
Joined: Thu Jan 28, 2010 5:47 pm

Re: What the computer chess community needs to decide

Post by frcha »

Albert Silver wrote:
Don wrote:3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?
This is one I can never understand as it is based on the argument "two wrongs make a right". The people who argue it almost all base it on "since Rybka is a ripoff, this one is ok", or... two wrongs make a right. Just my 2 cents.
No.
"heavily based on reverse engineering" software is released all the time in both open source and commercial realms.
The only reason this is even controversial is because the author of the chess engine gets credit for an innovation.

IN private companies, its more like --here : rev. eng software and make program exactly like it.
programmer: ok, boss.

-- no glory - the owner of the company might get sued if found out -- but it still happens.
This whole concept of "right" and "wrong" is new when applied to software piracy as well. I know many otherwise ethical people who have absolutely no problem with downloading illegal pirated software, mp3 etc.

HOWEVER -- rev. engineering is not always illegal unlike software piracy.


I believe credit must be given to those who innovate -- that is Robert deserves credit for making # 1engine but not for anything near a 100% original engine.
With Ippolit I am curious how much is innovation and how much is Rybka 3 rev. eng?
I could care less what people think is right and wrong -- unless we want to start World war 3 on these forums.
paulo
Posts: 53
Joined: Wed Dec 15, 2010 7:31 pm

Re: What the computer chess community needs to decide

Post by paulo »

In my opinion is quite simple, if someone picks a top engine and can improve that engine substantially, e.g., +50 Elo, deserves full credit from the CC community. As long as there is added value and credits are given to the base engines this is what it matters. Important is new ideas.

The particular case of Houdini is a good example, +70 to +100 Elo difference from R4 and credits given to Ippolito, Stockfish and others. With this I'm not saying Houdini started from an existing source code or was written from scratch, I really don't care.

Today Robert Houdart deserves the medal of honor, hope tomorrow that medal can be given to someone else who is able to add +100 Elo to Houdini.

Paulo
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: What the computer chess community needs to decide

Post by Don »

Albert Silver wrote:
Don wrote:3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?
This is one I can never understand as it is based on the argument "two wrongs make a right". The people who argue it almost all base it on "since Rybka is a ripoff, this one is ok", or... two wrongs make a right. Just my 2 cents.
Well, what I meant here is that many view this as completely acceptable period, whether Rybka is based on Fruit or not.

But I agree with you. When Ippolitto first came out and was accused of being a Rybka 3 clone the "counter-argument" was that Rybka 3 was also a clone, as if this was somehow relevant, or a justification.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: What the computer chess community needs to decide

Post by Don »

bob wrote:
Don wrote:There are several issue concerning various programs that have raised a huge amount of controversy and have generated a lot of different viewpoints.

I would like to try to sort our the issues and attempt to bring a little clarity to the matter, and not in a ad-hoc manner but by just trying to provide a little direction to this dicussion with your help. I'm going to try to refrain from subjective comments on this particular post although I don't believe it's possible for anyone to be 100% objective about anything.

I think there are 2 major issues that we should consider separately, even though there may be some degree of overlap. One of them is purely legal (what you can legally get away with) and the other is ethical.

The legal issue is separate because it defines what you can get away with. I'm not going to focus on that here, because presumably there is little we can do about that, unless we are directly involved. For example I don't think we need to have a huge discussion about whether Vas violated GPL, and our opinion won't change that anyway. There is strong evidence that he did, therefore I'm not sure discussing it will change that.

From the eithical point of view, I think WE need to decide what is acceptable and what is not. I say WE, as fellow members of the computer chess community. Let's use Ipolitto as a talking point.

I believe there are 3 basic points of view on this that pretty much define how people feel about it.

1. Ippolito is a completely orginal program.

2. Ippolito is heavily based on reverse engineering Rybka 3 and this is wrong.

3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?

Although I think these represent the major points of view, they are mixed in various degrees. For example you might believe that Ippolito is mostly orginal but with some ideas taken from Rybka 3. And the degree of your belief in the wrongness of this will vary from person to person.

These 3 points of view can be broken down into 2 issues, whether Ippolito is orginal or not. I'm not going to address this here because I want to focus on what I think is the most important issue, the ethics of it.

So let's start with the assumption that we have identified a program that is not a source code clone of something original, but is heavily based on it. Let's also assume there are no legal issues. If there are, that of course is a separate matter with its own considerations.

Is this acceptable? Should we as the computer chess community endorse this behavior, or discourage it?

I think THAT is what we need to decide. We all have our various viewpoints on this which I think should be respected, but I think this is really at the heart of the matter and what we SHOULD be talking about but rarely do.
My take on ip* and _all_ of its cousins.

This thing is clearly reverse-engineered as a starting point. The code is unlike anything any human would ever produce. Even someone that has been doing optimization work for years would simply not write code that looks like that. IMHO, there is absolutely no doubt but that it started from reverse-engineering.

The question you appear to be asking is "if that is true, but it has been modified extensively, can it play in tournaments?" I am of the opinion that "once a derivative, always a derivative." If the person was too lazy to start from scratch the first time around, he has not started from scratch today either. And there will remain large chunks of copied (reverse-engineered) code.
Yes, I refrained from expressing my point of view in this first post, but of course everyone knows how I feel. And I agree with you on this one.

What really resonated with me, and was stated more eloquently than I am capable of, is what Mark Uniacke said, and I will quote just a part of it:
Sadly I can only see the problem getting worse, and eventually (already?) most chess
engines will be clones or derivatives there of. Why? Because it is incredibly easier to clone and derive than to write your own chess engine. It takes many thousands of hours of hard work and testing to produce an original top level chess program, so it should come as no surprise that there are those who prefer to avoid this work by stealing the work of others.

Before anyone says my view has changed, it has not. I still believe that the discussions about these derivative programs should continue. They have not been proven guilty beyond any doubt. But they should not be allowed into tournaments, because there is significant evidence they are derivatives, and that can not be disproved beyond any reasonable doubt either.

So, IMHO, discuss 'em all you want. But don't allow them in tournaments as long as the question is open. Only problem here is Vas, who has refused to clear this up. I have directly dealt with previous crafty derivatives (actually most of those were pure clones) since it was my program. Any program suspected of being a clone or derivative of another program should be inspected. For open source programs, anyone can do this. For closed source programs, only the author can address the issue.

Sadly, we have nothing of significance with respect to ip*/robo*/etc...
frcha
Posts: 221
Joined: Thu Jan 28, 2010 5:47 pm

Re: What the computer chess community needs to decide

Post by frcha »

Don wrote:
Albert Silver wrote:
Don wrote:3. Ippolito is heavily based on reverse enginnering Rybka 3 and so what?
This is one I can never understand as it is based on the argument "two wrongs make a right". The people who argue it almost all base it on "since Rybka is a ripoff, this one is ok", or... two wrongs make a right. Just my 2 cents.
Well, what I meant here is that many view this as completely acceptable period, whether Rybka is based on Fruit or not.

But I agree with you. When Ippolitto first came out and was accused of being a Rybka 3 clone the "counter-argument" was that Rybka 3 was also a clone, as if this was somehow relevant, or a justification.
justification of what? Ippolit is not allowed in tournaments probably will never be --
The questions that must be asked :
1. Is Ippolit legal. -- if so then anyone can use it and that is important.
2. Does Ippolit has any innovation at all? -- that interests me -- since I am curious as to how it has developed to be almost equal strength to rybka 4.
3. is it allowed in tournaments? - I guess not since Hyatt answered that.
4.. Of course I am curious also to the real names behind Ippolit --

I have no doubt it is rev. eng. but I am still unclear as to how identical it is to R3. -
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: What the computer chess community needs to decide

Post by fern »

I believe that If an engine is based -how much heavy is heavily?- on another engine with no legal problems as effect of that AND the guy say he has made such use of another guy code, it is ethically acceptable.
If the supposed author try to pass as one, enterily original author, there we have a lier.
An engine that has made legal use of another code and is recognized as such, the i take it like a variant, an improvemente perhaps and I see no problem on that.

Fern