Sloppy 0.1.1 released

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

Moderator: Ras

Alessandro Scotti

Re: Toga 0.1.1 released

Post by Alessandro Scotti »

Daniel Mehrmann wrote:If you ask developers, like Fabien (Fruit/Toga) or Tord (Glaurung), why they are released the versions under the GPL you'll get the answer that they only want that other rookies can learn how to write, or better how it works, a chessprogram and not copy the content in any case.
There are dozens of open source licenses to choose from, and anyone can create a new license if needed. Both programs have been released under the GPL though, which seems a deliberate choice.
User avatar
Daniel Mehrmann
Posts: 858
Joined: Wed Mar 08, 2006 9:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: Toga 0.1.1 released

Post by Daniel Mehrmann »

Alessandro Scotti wrote:
Daniel Mehrmann wrote:If you ask developers, like Fabien (Fruit/Toga) or Tord (Glaurung), why they are released the versions under the GPL you'll get the answer that they only want that other rookies can learn how to write, or better how it works, a chessprogram and not copy the content in any case.
There are dozens of open source licenses to choose from, and anyone can create a new license if needed. Both programs have been released under the GPL though, which seems a deliberate choice.
:shock:

What do you want to tell me ?

You're proof all my points expect that we have many more closed code engines as open source engines. If GPL would work very well here, we would have a lot more GPL based engines.

Best,
Daniel
Uri Blass
Posts: 10914
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Toga 0.1.1 released

Post by Uri Blass »

Daniel Mehrmann wrote:
ilari wrote:
Daniel Mehrmann wrote:Just look on older engines like Quark. I don't wanna know how much hours, days, months or years Thomas spend on his evaluation terms.
That is the whole point of the GPL:
1. Developer A spends years developing and optimizing feature X. He wants to contribute to the open source community so he releases X under the GPL.
2. Developer B, who also wants to contribute to open source, needs X in his project, so instead of re-inventing the wheel he uses dev. A's source code for it.
3. Software gets better, both A and B are happy to have achieved their goal.

I copied Fruit's eval terms BECAUSE Fabien spent a lot of time tweaking them, not despite. And I'll be happy if someone does the same for Sloppy.

Obviously the open source community doesn't mix well with the competitive computer chess community.
Well, basicly you're right with your GPL views. I'm FSF member and active on some savannah and kde projects.

But chess is a game, namly a strategy board game as many other games too. It's a competition between programmers and her babies. :lol:
So, the basic idea behind GPL doesn't work very well here.
You'll find more closed code programs in contest strategy board games areas and no much GPL engines.

If you ask developers, like Fabien (Fruit/Toga) or Tord (Glaurung), why they are released the versions under the GPL you'll get the answer that they only want that other rookies can learn how to write, or better how it works, a chessprogram and not copy the content in any case.

I can't believe that you didn't know that. However, you should think about it and may you're chance your mind later on.

Best,
Daniel
I think that the only way to really learn how something work is simply to clone it but not in the way of starting from the full project and changing parts but in the way of starting from an empty project and add parts.

An example
Strelka has some data structures with many constants so I did the following steps:
1)understanding what these data structure mean based on some values.
2)writing a program to calculate the data structures.
3)comparing the content of the data structures that I calculated with the data structure of strelka to verify that I got the same result.

Only after finding that I got exactly the same values I know that I understood the data structures.
Without it I may be wrong and think that I understood it when I did not understand.
Alessandro Scotti

Re: Toga 0.1.1 released

Post by Alessandro Scotti »

Daniel Mehrmann wrote:
Alessandro Scotti wrote:
Daniel Mehrmann wrote:If you ask developers, like Fabien (Fruit/Toga) or Tord (Glaurung), why they are released the versions under the GPL you'll get the answer that they only want that other rookies can learn how to write, or better how it works, a chessprogram and not copy the content in any case.
There are dozens of open source licenses to choose from, and anyone can create a new license if needed. Both programs have been released under the GPL though, which seems a deliberate choice.
:shock:

What do you want to tell me ?

You're proof all my points expect that we have many more closed code engines as open source engines. If GPL would work very well here, we would have a lot more GPL based engines.

Best,
Daniel
I am telling you that if Fabien or Tord did not want their engine to be copied or enhanced as per the GPL license, they could simply not release the source code or use a different license. (Fabien indeed changed his mind and later went commercial.)
Thus there is no need to wonder or ask what the want or wish: facts speak by themselves.
IMO any GPL'ed work based on other GPL code is legit and welcome.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Toga 0.1.1 released

Post by ilari »

Daniel Mehrmann wrote:But chess is a game, namly a strategy board game as many other games too. It's a competition between programmers and her babies. :lol:
So, the basic idea behind GPL doesn't work very well here.
I sorta agree, but I'm not here to compete. If I was, Sloppy would probably be binary-only. I do want to make Sloppy stronger, but that has nothing to do with competition.

What do you want to tell me ?
I think he's telling you that if Fabien and Tord didn't want others to use their code, they should have chosen a more restrictive open source license.
User avatar
Daniel Mehrmann
Posts: 858
Joined: Wed Mar 08, 2006 9:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: Toga 0.1.1 released

Post by Daniel Mehrmann »

Uri Blass wrote: I think that the only way to really learn how something work is simply to clone it but not in the way of starting from the full project and changing parts but in the way of starting from an empty project and add parts.

An example
Strelka has some data structures with many constants so I did the following steps:
1)understanding what these data structure mean based on some values.
2)writing a program to calculate the data structures.
3)comparing the content of the data structures that I calculated with the data structure of strelka to verify that I got the same result.

Only after finding that I got exactly the same values I know that I understood the data structures.
Without it I may be wrong and think that I understood it when I did not understand.
No no no no no ! :roll:

If a programmer would do it on this way, it shows me this programmer have no basic clue how to write a good engine or it should work. He just lives from copyed values...

First, i'm wondering why do you wanna get the same results like Strelka ? Basicly that's the wrong direction in your mind. You're lost already without written a single line of code and your target is to "copy" a playstyle.

The code of GPL based engines should show you the ideas and thoughts behind it. It explains step by step how it works by reading the sources.
There is no need to run or test the same terms in a engine.
It just shows me how weak is the knowledge and creative skill of this programmer if he finds no way to work with the ideas without running the same terms in his engine.

Well, i think the main problem is how to work with the thoughts and ideas behind terms. Terms are not just values.

You need to understand why term X is X points higher then term Y and what happens in a subtree. You need to understand the different between a pawn evaluation and PST in a long search. You must think about why bishop PST might be lower then knights and whats the secret behind jumps on files and rows and so on and so on....


Best,
Daniel
User avatar
Daniel Mehrmann
Posts: 858
Joined: Wed Mar 08, 2006 9:24 pm
Location: Germany
Full name: Daniel Mehrmann

Re: Toga 0.1.1 released

Post by Daniel Mehrmann »

ilari wrote:
What do you want to tell me ?
I think he's telling you that if Fabien and Tord didn't want others to use their code, they should have chosen a more restrictive open source license.
[/quote]

Thanks!

Well, that's 100% speculative and wrong.
If i'm writing such things like my last posts about Fabien and Tord, you can be sure i know the programmer personal and talked about this topic already.

Best,
Daniel
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Toga 0.1.1 released

Post by ilari »

Christopher Conkie wrote:He forgot to mention C who gets something better than the rest and is commercial.
I forgot it because it's not relevant.

I do not mind open source as a concept but I hate and will fight until my dying breath strong open source.
Sounds like you really enjoy life. Where do you draw the line? Personally I think it should be 1800 ELO. Anything stronger than that is just disgusting.
Uri Blass
Posts: 10914
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Toga 0.1.1 released

Post by Uri Blass »

Daniel Mehrmann wrote:
Uri Blass wrote: I think that the only way to really learn how something work is simply to clone it but not in the way of starting from the full project and changing parts but in the way of starting from an empty project and add parts.

An example
Strelka has some data structures with many constants so I did the following steps:
1)understanding what these data structure mean based on some values.
2)writing a program to calculate the data structures.
3)comparing the content of the data structures that I calculated with the data structure of strelka to verify that I got the same result.

Only after finding that I got exactly the same values I know that I understood the data structures.
Without it I may be wrong and think that I understood it when I did not understand.
No no no no no ! :roll:

If a programmer would do it on this way, it shows me this programmer have no basic clue how to write a good engine or it should work. He just lives from copyed values...

First, i'm wondering why do you wanna get the same results like Strelka ? Basicly that's the wrong direction in your mind. You're lost already without written a single line of code and your target is to "copy" a playstyle.

The code of GPL based engines should show you the ideas and thoughts behind it. It explains step by step how it works by reading the sources.
There is no need to run or test the same terms in a engine.
It just shows me how weak is the knowledge and creative skill of this programmer if he finds no way to work with the ideas without running the same terms in his engine.

Well, i think the main problem is how to work with the thoughts and ideas behind terms. Terms are not just values.

You need to understand why term X is X points higher then term Y and what happens in a subtree. You need to understand the different between a pawn evaluation and PST in a long search. You must think about why bishop PST might be lower then knights and whats the secret behind jumps on files and rows and so on and so on....


Best,
Daniel
I do not plan to release the clone of strelka as my own engine and it is only an exercise in understanding source code.

After doing it I may get better ideas to write my own code.
I do not see a reason to assume the values of strong chess programs are the best and I think that their secret is not in tuning values but there are many tables that are constants and not about tuning and I can write a program to generate them without copy and paste.

I talked about some tables of bitboards that have no evaluation in them and are used for generating moves(there are some tables that I have to copy and not to write a program to calculate them if I want to clone strelka but many of the tables are not like that).

I will probably use different data structure if I rewrite my own program from scratch but understanding what other did may help me to make a better design.

Uri
Christopher Conkie
Posts: 6074
Joined: Sat Apr 01, 2006 9:34 pm
Location: Scotland

Re: Toga 0.1.1 released

Post by Christopher Conkie »

ilari wrote:
Christopher Conkie wrote:He forgot to mention C who gets something better than the rest and is commercial.
I forgot it because it's not relevant.
I would not bet on that if i were you.

http://64.68.157.89/forum/viewtopic.php ... 28&t=17305
Where do you draw the line? Personally I think it should be 1800 ELO.
I draw the line at copying the evaluation weights exactly of another program.