Well, not for everyone, and certainly not for me. There are many design goals of engines. Some authors want to write clear code structured in a didactic way to serve educatonal purposes. Some authors want to build the smallest engine possible. Some authors want to write a flexible code they could easily adapt to evaluate many different search strategies. Some authors want to build an engine that can be configured to play in many different styles. Some authors want to build and engine that is enoyable to play against. Some authors want to build an engine with very flexible data structures and generalized move generator, so it can play many variants, etc., etc. The list is endless.paulo wrote:The business case of a chess engine is to get, at the end, the strongest engine possible by kicking hard in the ass the previous #1 (once more, congratulations to Robert Houdart).
What the computer chess community needs to decide
Moderators: hgm, Rebel, chrisw
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: What the computer chess community needs to decide
-
- Posts: 53
- Joined: Wed Dec 15, 2010 7:31 pm
Re: What the computer chess community needs to decide
Exactly. That's why I gave my answer.hgm wrote:Well, not for everyone, and certainly not for me. There are many design goals of engines. Some authors want to write clear code structured in a didactic way to serve educatonal purposes. Some authors want to build the smallest engine possible. Some authors want to write a flexible code they could easily adapt to evaluate many different search strategies. Some authors want to build an engine that can be configured to play in many different styles. Some authors want to build and engine that is enoyable to play against. Some authors want to build an engine with very flexible data structures and generalized move generator, so it can play many variants, etc., etc. The list is endless.paulo wrote:The business case of a chess engine is to get, at the end, the strongest engine possible by kicking hard in the ass the previous #1 (once more, congratulations to Robert Houdart).
What would you answer in your particular case?
-
- Posts: 1243
- Joined: Sat Dec 13, 2008 7:00 pm
Re: What the computer chess community needs to decide
Well, a few posts ago you were claiming all software development works as you say (i.e. by plagiarizing) and now you're backtracking again?paulo wrote: Exactly. That's why I gave my answer.
-
- Posts: 53
- Joined: Wed Dec 15, 2010 7:31 pm
Re: What the computer chess community needs to decide
What?? What do you mean with backtracking? And with "again"??Gian-Carlo Pascutto wrote:Well, a few posts ago you were claiming all software development works as you say (i.e. by plagiarizing) and now you're backtracking again?paulo wrote: Exactly. That's why I gave my answer.
My dear, I've been super consistent from the beginning and know exactly what I'm talking about.
-
- Posts: 27808
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: What the computer chess community needs to decide
I have a number of engines, all built with different purposes. Some to have maximum strength/size ratio, some for experimenting with pruning strategies, or programming techniques, some to do research in variant piece values.paulo wrote:Exactly. That's why I gave my answer.
What would you answer in your particular case?
So your engine aims to be top dog? What was the name of your engine again?
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: What the computer chess community needs to decide
Let's modify your statement to "based on _legal_ code re-use." Libraries are the oldest example of this idea. Who wants to keep writing their own printf(), malloc() and such? Or for SMP, a lock()/unlock() function + something to create a new thread?paulo wrote:I respect your opinion but I don't see it that way and don't consider copying. Furthermore, modern sw development is heavily based on code-reuse, either yours or, in most cases, from other sources.bob wrote:Here is one that does not. Copying source is not "software development" by the way, it is "software plagiarism". HUGE difference...paulo wrote:Nope. It's exactly the same thing as long as you agree the existing code you are basing is the best. Furthermore I strongly believe any experienced software developer agrees with this.SzG wrote:The two are not the same. You can start from scratch using all the available ideas together with yours. And you can start from a complete code and put in your ideas.paulo wrote:Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
regards
And a business always modifies the old version rather than rewriting from scratch.
But we are _way_ beyond "legal code re-use" here. Since the GPL is quite explicit in what one has to do if they copy GPL code...
-
- Posts: 2011
- Joined: Sun May 25, 2008 11:12 pm
- Location: Whitchurch. Shropshire, UK.
- Full name: Harvey Williamson
Re: What the computer chess community needs to decide
Give him 10 minutes and he will go and recompile/hex edit and then he will have a top enginehgm wrote: What was the name of your engine again?
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: What the computer chess community needs to decide
How? Find any code in Crafty that came from another program. There are other examples. One doesn't have to plagiarize to develop a program. We teach kids how to design and write programs every day in our CS program.paulo wrote:You don't need to hope anymore because according to your viewpoint all modern sw development _already_ is sw plagiarism, either you like it or not.Don wrote:Yes, and code reuse generally applies to the generous use of external libraries, or clever reuse of classes by extending them, etc. I hope "modern SW development" does not ever become synonymous with software plagiarism.Sven Schüle wrote:Code reuse is good - as long as it is allowed based on existing copyright and license situation.paulo wrote:I respect your opinion but I don't see it that way and don't consider copying. Furthermore, modern sw development is heavily based on code-reuse, either yours or, in most cases, from other sources.bob wrote:Here is one that does not. Copying source is not "software development" by the way, it is "software plagiarism". HUGE difference...paulo wrote:Nope. It's exactly the same thing as long as you agree the existing code you are basing is the best. Furthermore I strongly believe any experienced software developer agrees with this.SzG wrote:The two are not the same. You can start from scratch using all the available ideas together with yours. And you can start from a complete code and put in your ideas.paulo wrote:Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
regards
For most SW companies "code reuse" means to reuse existing *own* code mainly.
Sven
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: What the computer chess community needs to decide
You still need the "while following existing national and international laws." Copying Fruit clearly does not pass that test because of the GPL.paulo wrote:I agree with almost you said, in particular when you say:frcha wrote:I think you are probably thinking of cases such as javascript where programmers just use the jquery library.paulo wrote:You don't need to hope anymore because according to your viewpoint all modern sw development _already_ is sw plagiarism, either you like it or not.Don wrote:Yes, and code reuse generally applies to the generous use of external libraries, or clever reuse of classes by extending them, etc. I hope "modern SW development" does not ever become synonymous with software plagiarism.Sven Schüle wrote:Code reuse is good - as long as it is allowed based on existing copyright and license situation.paulo wrote:I respect your opinion but I don't see it that way and don't consider copying. Furthermore, modern sw development is heavily based on code-reuse, either yours or, in most cases, from other sources.bob wrote:Here is one that does not. Copying source is not "software development" by the way, it is "software plagiarism". HUGE difference...paulo wrote:Nope. It's exactly the same thing as long as you agree the existing code you are basing is the best. Furthermore I strongly believe any experienced software developer agrees with this.SzG wrote:The two are not the same. You can start from scratch using all the available ideas together with yours. And you can start from a complete code and put in your ideas.paulo wrote:Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
regards
For most SW companies "code reuse" means to reuse existing *own* code mainly.
Sven
You can use jquery to do a lot of things that would otherwise take longer -- yet even in this case -- you can program from scratch .. its not that hard for example to program a rollover from scratch . Don't need jquery -- nor is it necessary to use jquery to toggle a div on or off.. that can be done directly too ..
EVEN if programmers does use a library to implement something, they're not claiming credit for a "creation" just getting the job done.
As a programmer outside of the chess engine scene, and if I am good enough I too might be tempted to just make an improvement to ippo code but what did I create? Just added ELO to Ippo not create a new engine as you think.
The issue here is giving credit where credit is due.
"EVEN if programmers does use a library to implement something, they're not claiming credit for a "creation" just getting the job done."
The point here is precisely about getting the job done.
Nowadays is all about it, modern computer programming focus solely on the business case and only when that is not possible you have to handle technical issues.
Now a question for all SW developers around here:
For you, what is the business case of a computer chess engine?
My answer:
The business case of a chess engine is to get, at the end, the strongest engine possible by kicking hard in the ass the previous #1 (once more, congratulations to Robert Houdart).
-
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: What the computer chess community needs to decide
Why do you keep talking about "free" or "public domain" libraries and sources? That is not the subject we are talking about here. Fruit can't be copied unless the copier follows the GPL requirements... A commercial program can't be disassembled, converted to C, then modified and used/distributed. So somehow you have veered away from the discussion at hand and jumped into a sub-set of software development without considering the larger picture where code-reuse only applies within a single company or product of theirs, not across companies, and certainly not across all instantiations of a particular software idea.paulo wrote:Sven Schüle wrote:Code reuse is good - as long as it is allowed based on existing copyright and license situation.paulo wrote:I respect your opinion but I don't see it that way and don't consider copying. Furthermore, modern sw development is heavily based on code-reuse, either yours or, in most cases, from other sources.bob wrote:Here is one that does not. Copying source is not "software development" by the way, it is "software plagiarism". HUGE difference...paulo wrote:Nope. It's exactly the same thing as long as you agree the existing code you are basing is the best. Furthermore I strongly believe any experienced software developer agrees with this.SzG wrote:The two are not the same. You can start from scratch using all the available ideas together with yours. And you can start from a complete code and put in your ideas.paulo wrote:Today only a complete asshole would start coding a new engine from scratch, i.e., ignoring all the (best) available ideias and resources.
regards
For most SW companies "code reuse" means to reuse existing *own* code mainly.
SvenCode reuse is not just good is strongly encouraged. Only short-minded SW companies would ignore all the existing **free** libraries and sources available at a mouse click.Sven Schüle wrote: Code reuse is good - as long as it is allowed based on existing copyright and license situation.
For most SW companies "code reuse" means to reuse existing *own* code mainly.