Houdini 2

Code, algorithms, languages, construction...
ThinkingALot
Posts: 144
Joined: Sun Jun 13, 2010 7:32 am
Contact:

Re: Houdini 2

Post by ThinkingALot » Thu Sep 08, 2011 7:37 am

Jeremy Bernstein wrote:Anyhow, the 2nd wrong has already occurred: Ida Pro pseudocode output has already been "released" on the immofo.
That's just a HexRays output. It's almost useless: impossible to compile, hard to understand.

P.S. Why it's possible to edit one's post only during a short time? I wasn't able to include this post in the previous one.

User avatar
Uly
Posts: 838
Joined: Thu Jun 10, 2010 5:33 am

Re: Houdini 2

Post by Uly » Fri Sep 09, 2011 1:05 am

Jeremy Bernstein wrote:I don't really like the word 'immoral', but 'unethical' is a pretty good description of taking someone else's code (regardless of the licensing) and releasing it as your own.
Thanks Jeremy, I have English as Second Language and sometimes I slip up, I should have written 'unethical'.

Anyway, my point was that just because the law allows something, it doesn't mean it's ethical. For instance, if you (the general you) connect to the Yahoo Chess rooms and play people with your engine, tricking them into thinking they're playing a human, and bragging to them about "your superiority", you're not breaking any law, and nobody will come after you (i.e. doing so isn't against Yahoo's Chess policy), but that doesn't make it right (and it could be called "cheating", which by the way, law also doesn't punish it).

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: Houdini 2

Post by Jeremy Bernstein » Fri Sep 09, 2011 6:04 am

Uly wrote:
Jeremy Bernstein wrote:I don't really like the word 'immoral', but 'unethical' is a pretty good description of taking someone else's code (regardless of the licensing) and releasing it as your own.
Thanks Jeremy, I have English as Second Language and sometimes I slip up, I should have written 'unethical'.

Anyway, my point was that just because the law allows something, it doesn't mean it's ethical. For instance, if you (the general you) connect to the Yahoo Chess rooms and play people with your engine, tricking them into thinking they're playing a human, and bragging to them about "your superiority", you're not breaking any law, and nobody will come after you (i.e. doing so isn't against Yahoo's Chess policy), but that doesn't make it right (and it could be called "cheating", which by the way, law also doesn't punish it).
+1

User avatar
marcelk
Posts: 52
Joined: Fri Jan 28, 2011 10:27 pm
Real Name: Marcel van Kervinck

Re: Houdini 2

Post by marcelk » Fri Sep 09, 2011 12:02 pm

ThinkingALot wrote:
Jeremy Bernstein wrote:Anyhow, the 2nd wrong has already occurred: Ida Pro pseudocode output has already been "released" on the immofo.
That's just a HexRays output. It's almost useless: impossible to compile, hard to understand.

P.S. Why it's possible to edit one's post only during a short time? I wasn't able to include this post in the previous one.
The funniest part is the author name obfuscation.

In the "author"-'s own language there is a saying: "Zoals de waard is, vertrouwt hij zijn gasten."
(English translation: Ill doers are ill deemers (Evil doers are evil dreaders))

User avatar
lmader
Posts: 70
Joined: Thu Jun 10, 2010 3:22 am

Re: Houdini 2

Post by lmader » Mon Sep 12, 2011 1:57 am

I'm not sure I am ready to agree with the idea that releasing Houdini is unethical. But I understand the reasons why there is considerable distaste for Houdini and the other Ippo* derivatives, so I would like to hear some rebuttals from the members to the following thoughts, to help clarify things for me.

But first let me explain that I am a fervent supporter of copyright and software license. I have followed the threads about Rybka vs Fruit/Crafty and completely support the ICGA decision to ban Rybka.

So as I understand it, there are two possible reasons for arguing that the free version of Houdini and even more so a commercial version of Houdini is the unethical:

1) Houdini may be based on source code that is protected by a license, e.g. GPL. However, my understanding is that some of the Ippo* derived sources are public domain. By public domain, I mean truly public domain, not just open source. If this is the case, and if Houdini came from one of these (as seems likely), it's hard to take a stand against it based solely on that. There is a ton of public domain code in the wild, and it is public domain because the authors of that type of code don't care if it gets commercialized. Indeed, much of it does.

2) The Ippo* code's origins are suspicious. Since Houdini is an Ippo* derivative, it too is subject to shady origins, compounded by the flagrant lack of acknowledgement of these origins by Robert Houdart. But here I'm on the fence - the problem is that the origin of the Ippo* family isn't understood, and although it looks like it may have started life with the reverse engineering of something else, until we know what this is, I don't think it is sufficient to just be suspicious. This is probably the stronger of these two reasons, but I'm not sure it's enough for a scarlet letter either.

So, to all, help me out and point out some flaws in this reasoning.

Thanks,
Lar

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: Houdini 2

Post by Jeremy Bernstein » Mon Sep 12, 2011 11:54 am

At least in Europe, it's not possible to give up your intellectual property. You own it, whether you want to or not.

That aside, my single issue with Houdini, whether commercial or not, is that Houdart took someone else's code without acknowledgement. I think that this can be proven without any doubt, if you look at the raw output of Houdini 1 vs. Robbolito -- they are, in many cases, identical, down to the evaluation score and depth count. If Houdini had an author string like "by Robert Houdart, based on Robbolito", I would be satisfied and that would be the end of the story for me. Instead, Houdart pretends that the code is his invention, pretends that he is responsible for Houdini's strength (all but the last 100 ELO or so are the result of someone else's work) and feels justified telling real programmers like Don Dailey where they can stick it. That's absurd, AFAIC.

Any programmer/academic/reasonable person knows that when you take someone else's work as the basis for your own, you cite it (whether it's public domain or not). Ethically, this is the issue for me. Houdart is little more than a cloner who started with the strongest source code he could find. Of course, he's added new knowledge and new features along the way. Good for him. So did Norman, as he's worked on Fire. Norman, though, has the humility to note that Fire stands on the shoulders of engines which he did not write himself.

Jeremy
lmader wrote:I'm not sure I am ready to agree with the idea that releasing Houdini is unethical. But I understand the reasons why there is considerable distaste for Houdini and the other Ippo* derivatives, so I would like to hear some rebuttals from the members to the following thoughts, to help clarify things for me.

But first let me explain that I am a fervent supporter of copyright and software license. I have followed the threads about Rybka vs Fruit/Crafty and completely support the ICGA decision to ban Rybka.

So as I understand it, there are two possible reasons for arguing that the free version of Houdini and even more so a commercial version of Houdini is the unethical:

1) Houdini may be based on source code that is protected by a license, e.g. GPL. However, my understanding is that some of the Ippo* derived sources are public domain. By public domain, I mean truly public domain, not just open source. If this is the case, and if Houdini came from one of these (as seems likely), it's hard to take a stand against it based solely on that. There is a ton of public domain code in the wild, and it is public domain because the authors of that type of code don't care if it gets commercialized. Indeed, much of it does.

2) The Ippo* code's origins are suspicious. Since Houdini is an Ippo* derivative, it too is subject to shady origins, compounded by the flagrant lack of acknowledgement of these origins by Robert Houdart. But here I'm on the fence - the problem is that the origin of the Ippo* family isn't understood, and although it looks like it may have started life with the reverse engineering of something else, until we know what this is, I don't think it is sufficient to just be suspicious. This is probably the stronger of these two reasons, but I'm not sure it's enough for a scarlet letter either.

So, to all, help me out and point out some flaws in this reasoning.

Thanks,
Lar

ThinkingALot
Posts: 144
Joined: Sun Jun 13, 2010 7:32 am
Contact:

Re: Houdini 2

Post by ThinkingALot » Mon Sep 12, 2011 4:22 pm

Jeremy Bernstein wrote:At least in Europe, it's not possible to give up your intellectual property. You own it, whether you want to or not.
You mean if I release smth as a public domain project I can later withdraw the "public domain" "license" and sue those who used my code? Interesting law:). Doesn't make sense to me.
Jeremy Bernstein wrote:If Houdini had an author string like "by Robert Houdart, based on Robbolito", I would be satisfied and that would be the end of the story for me.
It would be nice, though "Houdini wouldn't be so strong without ideas from Ippolit, ..." is, IMHO, sufficient.
Jeremy Bernstein wrote:he is responsible for Houdini's strength (all but the last 100 ELO or so are the result of someone else's work) and feels justified telling real programmers like Don Dailey where they can stick it.
+100 Elo to Top 1 engine automatically makes one a real programmer . Believe me, even +50 ELO gain is pretty hard to achieve. And it certainly requires plenty of time (both human and machine) spent.

ThinkingALot
Posts: 144
Joined: Sun Jun 13, 2010 7:32 am
Contact:

Re: Houdini 2

Post by ThinkingALot » Mon Sep 12, 2011 4:39 pm

Jeremy Bernstein wrote:all but the last 100 ELO or so are the result of someone else's work
Someone came up with the idea of null move. Someone came up with the idea of lmr. Someone was first to implement razoring. Someone invented magic bitboards. Someone suggested using SEE for move ordering. Someone is the author of the killer heuristic. The list is huge... Every strong contemporary engine employs pretty much of other people's ideas. Some engines do not contain anything unique at all. It's perfectly normal and it's one of the points of open source. Sharing code allows better programs to appear.

P.S. Really, really not enough time to edit the post:).

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: Houdini 2

Post by Jeremy Bernstein » Mon Sep 12, 2011 5:19 pm

ThinkingALot wrote:
Jeremy Bernstein wrote:all but the last 100 ELO or so are the result of someone else's work
Someone came up with the idea of null move. Someone came up with the idea of lmr. Someone was first to implement razoring. Someone invented magic bitboards. Someone suggested using SEE for move ordering. Someone is the author of the killer heuristic.
Of course. But someone put them all together in a little engine called IPPOLIT/Robbolito, in a particular configuration, with particular tunings, etc. resulting in a particular strength and evaluative profile. And Houdart took the entire thing. That's simply not the same as helping yourself to an idea like magic bitboards, implementing it yourself (or massaging found source code into your own framework), tuning its usage, etc.

He took a finished product and simply put some spit and polish on it.

hyatt
Posts: 1242
Joined: Thu Jun 10, 2010 2:13 am
Real Name: Bob Hyatt (Robert M. Hyatt)
Location: University of Alabama at Birmingham
Contact:

Re: Houdini 2

Post by hyatt » Mon Sep 12, 2011 5:50 pm

I think this is mainly a real communication gap issue. Non-authors are likely not going to understand the issues involved. And that's a problem, since many non-authors are taking part in the discussion, without really grasping exactly what the discussion is about. Some use "ideas and code" as if they are interchangeable synonyms. Yet we know they are not even close.

Looks like this issue is here to stay, however. Until we reach the point where every person is required to take a course on computer ethics before they can touch a computer. :)

Post Reply