Nostalgia

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

Moderator: Ras

User avatar
Rebel
Posts: 7375
Joined: Thu Aug 18, 2011 12:04 pm
Full name: Ed Schröder

Re: Nostalgia. 'Programmer code of honor' links.

Post by Rebel »

PK wrote:"Programmer code of honor", whereas an interesting idea, wrongly assumes that all programs by one author conform to the same standard. This is often not the case. I have programmed an open source derivative (Rodent) and a closed source original joint effort (Glass, with Edmund Moshammer), and it succesfully prevents me from filling Ed's form.
Pawel, the comment section has plenty of room to enter 10 of your brainchild's :wink: Or just follow Miguel's advice and contribute twice.
lucasart
Posts: 3241
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Nostalgia. 'Programmer code of honor' links.

Post by lucasart »

The problem with Ed's page is that the classification Original/Inspired/Derivative is up to the author. And a majority of engines still close their source code.

For example, I classified DiscoCheck as inspired (from Stockfish, Fruit and Umko). Although I wrote the code from scratch, there are some important sources of inspiration:
- copy/paste: the magic bitboard generation code is litteraly copy/pasted from Umko
- inspired: the PST generation is inspired from Fruit 2.1. This means that I wrote the code from scratch but followed quite closely the PST of Fruit (although mine is somewhat simplified, and perhaps a little improved too).
- inspired: the passed pawn scoring is heavily inspired by Stockfish. Again this means I wrote the code, but replicated more or less the features, simplifying here and there and also improving a tiny bit

All these things are clearly documented at source code level. So in the end what matters is honesty. I'm pretty sure that out of all the engines declared as Original on Ed's page, a lot of them didn't have the same honesty that I had.

I think the only thing that really matters is open source, the rest is just splitting har in two and shaking the air talking about vague concepts.
- If your code is open source, then you have nothing to hide.
- if you have something to hide, you will typically close the source code.
It's that simple!

So if anyone wants to demonstrate that their engine is original, they should reveal the source code to everyone, since they have nothing to hide. I still don't understand why so many substandard <2500 elo non commercial engines still don't want to provide their source code. Seriously, when you have a 2000 elo engine, no one will steal your source code and "compete" with you.

Besides, this whole competition spirit is pathetic. When someone takes something from DiscoCheck, I am proud to have contributed. I'm not envious, and feel they are getting an illegal competitive advantage by stealing my "intellectual property" (and don't even get me started on the concept of "intellectual property" it's such propaganda from the software patent and copyright lobbies)
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
Matthias Gemuh
Posts: 3245
Joined: Thu Mar 09, 2006 9:10 am

Re: Nostalgia. 'Programmer code of honor' links.

Post by Matthias Gemuh »

lucasart wrote:...
So if anyone wants to demonstrate that their engine is original, they should reveal the source code to everyone, since they have nothing to hide. I still don't understand why so many substandard <2500 elo non commercial engines still don't want to provide their source code. Seriously, when you have a 2000 elo engine, no one will steal your source code and "compete" with you.

...
Shame and embarrassment are key restraining factors for me.

I and Uri once exchanged source codes (BigLion/Movei), but I felt very ashamed. He was kind and criticized only one thing in my code, regarding speed. I have not changed what he criticized. I have not read his source code till today. I just wanted to have his sophisticated movegen in my archive.

I have given out 3 copies of ChessGUI source code (e.g. to HumbleProgrammer and Kingliveson in OpenChess forum), but only after a long internal fight.

Matthias.
My engine was quite strong till I added knowledge to it.
http://www.chess.hylogic.de
User avatar
hgm
Posts: 28378
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Nostalgia. 'Programmer code of honor' links.

Post by hgm »

lucasart wrote:I still don't understand why so many substandard <2500 elo non commercial engines still don't want to provide their source code. Seriously, when you have a 2000 elo engine, no one will steal your source code and "compete" with you.
There can be very valid reasons for that, which have nothing to do with having something to hide:

That an engine is below 2500 Elo does not mean it cannot contain world-class novel ideas. It could simply be because it has a crappy evaluation, which you still have to expand on and tune. If you still plan to do the latter, it would not be in your interest to hand out the ideas for free before you even started competing.

Furthermore, you could want to control the use of your engine. I wrote a WB Xiangqi and Shogi engines for little other reason than to give people that want to use it an incentive to try WinBoard for Xiangqi and Shogi. If I opened their source within a week there would be USI or UCCI versions of them, (as has already happened for the micro-Max derivative MaxQi), so people would only run them under Binghewusi or Shogidogoro GUI, and the year of work I invested in them would be totally wasted. And I resent the suggestion that not opening their sources would imply I based them on illegally copied code...
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: Nostalgia. 'Programmer code of honor' links.

Post by Adam Hair »

lucasart wrote:The problem with Ed's page is that the classification Original/Inspired/Derivative is up to the author. And a majority of engines still close their source code.

For example, I classified DiscoCheck as inspired (from Stockfish, Fruit and Umko). Although I wrote the code from scratch, there are some important sources of inspiration:
- copy/paste: the magic bitboard generation code is litteraly copy/pasted from Umko
- inspired: the PST generation is inspired from Fruit 2.1. This means that I wrote the code from scratch but followed quite closely the PST of Fruit (although mine is somewhat simplified, and perhaps a little improved too).
- inspired: the passed pawn scoring is heavily inspired by Stockfish. Again this means I wrote the code, but replicated more or less the features, simplifying here and there and also improving a tiny bit

All these things are clearly documented at source code level. So in the end what matters is honesty. I'm pretty sure that out of all the engines declared as Original on Ed's page, a lot of them didn't have the same honesty that I had.

I think the only thing that really matters is open source, the rest is just splitting har in two and shaking the air talking about vague concepts.
- If your code is open source, then you have nothing to hide.
- if you have something to hide, you will typically close the source code.
It's that simple!

So if anyone wants to demonstrate that their engine is original, they should reveal the source code to everyone, since they have nothing to hide. I still don't understand why so many substandard <2500 elo non commercial engines still don't want to provide their source code. Seriously, when you have a 2000 elo engine, no one will steal your source code and "compete" with you.

Besides, this whole competition spirit is pathetic. When someone takes something from DiscoCheck, I am proud to have contributed. I'm not envious, and feel they are getting an illegal competitive advantage by stealing my "intellectual property" (and don't even get me started on the concept of "intellectual property" it's such propaganda from the software patent and copyright lobbies)

Many of the truths that we cling to depend on our point of view.
Yoda
User avatar
JuLieN
Posts: 2949
Joined: Mon May 05, 2008 12:16 pm
Location: Bordeaux (France)
Full name: Julien Marcel

Re: Nostalgia. 'Programmer code of honor' links.

Post by JuLieN »

Adam Hair wrote:Many of the truths that we cling to depend on our point of view.
Yoda
Something you could have said, Adam! ;)

Image
"The only good bug is a dead bug." (Don Dailey)
[Blog: http://tinyurl.com/predateur ] [Facebook: http://tinyurl.com/fbpredateur ] [MacEngines: http://tinyurl.com/macengines ]
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Nostalgia. 'Programmer code of honor' links.

Post by zullil »

lucasart wrote:
I still don't understand why so many substandard <2500 elo non commercial engines still don't want to provide their source code.
Maybe their authors don't want their embarrassingly "substandard" code to be laughed at! :D
lucasart wrote: Besides, this whole competition spirit is pathetic. When someone takes something from DiscoCheck, I am proud to have contributed. I'm not envious, and feel they are getting an illegal competitive advantage by stealing my "intellectual property" (and don't even get me started on the concept of "intellectual property" it's such propaganda from the software patent and copyright lobbies)
Would you feel this way if DiscoCheck were a commercial product, upon which you depended---at least in part---for income?
User avatar
Roman Hartmann
Posts: 295
Joined: Wed Mar 08, 2006 8:29 pm

Re: Nostalgia

Post by Roman Hartmann »

Matthias Gemuh wrote:Nostalgia

I yearn to have those ancient days back when chess engine authors used to write their source code themselves. You braced yourself, launched an editor, created a blank file and personally wrote "#include <stdio.h>" in the upper left corner.
How can we go back there ?

Matthias.
I'm sure there are still programmers who start this way. Why anyone chooses to be an engine tuner when he could be an engine programmer is a mystery to me anyway. Making all the simple stuff work first is a lot of fun and should not be left out.

And in any case, I recommend emacs to edit the source files.

Roman
lucasart
Posts: 3241
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Nostalgia. 'Programmer code of honor' links.

Post by lucasart »

zullil wrote:
lucasart wrote: Besides, this whole competition spirit is pathetic. When someone takes something from DiscoCheck, I am proud to have contributed. I'm not envious, and feel they are getting an illegal competitive advantage by stealing my "intellectual property" (and don't even get me started on the concept of "intellectual property" it's such propaganda from the software patent and copyright lobbies)
Would you feel this way if DiscoCheck were a commercial product, upon which you depended---at least in part---for income?
That would be a pretty stupid business model. No one is going to buy a 2750 elo engine, when they can get several 3100+ elo ones for free.

There is no money to be made by writing a strong engine. Perhaps it was the case 10 years ago, but not anymore. You cannot live from the sales of your chess engine today.

If you want to make money with chess software, perhaps you should write a GUI instead. And ideally for MacOSX, or IOS, as users of these systems don't have much of a choice, and are used to the concept of proprietary and commercial software.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
chessmann
Posts: 70
Joined: Tue Jan 01, 2013 7:52 pm

Re: Nostalgia

Post by chessmann »

Matthias Gemuh wrote:Nostalgia

I yearn to have those ancient days back when chess engine authors used to write their source code themselves. You braced yourself, launched an editor, created a blank file and personally wrote "#include <stdio.h>" in the upper left corner.
How can we go back there ?

Matthias.
Go back for what ?
Just to reinvent the F****** wheel from scratch ?
It's just a waste of time.
It is easier, faster and better to take one of top free open source engines and add some ELO to it, or to take more of top engines and mix them together into a single one, exactly like Vas and Robert did, they just forgot to release the source code :D

And life goes on :D