Jon,
Thanks a lot for publishing the source code! The "open source team" has become much stronger over the last half year, and I hope to see (and to contribute to) this development continue.
It looks like the old (and to me completely incomprehensible) open source flame war is about to start again. There was a similar, very long thread when I released the source code of Glaurung.
Uri Blass wrote:I wonder what is the motivation that push so many programmers to release source code of strong programs.
What reason do you have to release source code and reduce the chances to make money in the future from your program by helping the opponents(even if these chances are small)?
I have no desire to ever sell my program. On the contrary, I would feel ashamed of even trying to do so. Most of the programs I use every day, including those which are used in the development of my program, are free and open source. They are also of exceptionally high quality, vastly superior to any software I will ever be able to create myself. It would be perfectly legal for me to use these tools to produce commercial software, but how could I do so without feeling greedy?
There is also the issue of increased responsibilities when selling a program. As long as my program is free, there is no need to spend more time than I like on documentation, minor bug fixes and support. If I sold my program, there would be no fun left in chess programming at all.
The phrase "helping my opponents" has no meaning to me. I have no opponents, just a lot of people who happen to share this strange hobby. Sharing code and ideas and helping each other improve is part of what makes chess programming fun to do.
Reinhard Scharnagl wrote:There is no need to publish source code especially of strong chess programs, an author's ego would not grow by that.
Of course there is no
need to publish the source code of chess programs. In fact, there is no real need for chess programs at all. Some of us think they are fun to create or play with, that's all. Open source engines are more useful and convenient than other engines. SlowChess, for instance, was completely useless to me until yesterday. It requires Windows, which I cannot use. Now, when I have the source code, I should be able to make it work on my Macintosh. I am very happy to have found another strong sparring partner for my engine.
There are also many other ways in which open source engines can be useful. Some people might have some interesting new search ideas, but lack the time or motivation to write a complete chess engine on their own. It is good that they have a variety of strong open source chess engines to experiment with. Some people might like an existing chess engine, but would like to add some new features. Do you want to see how well Fruit plays FRC? Do you want to see how Crafty would perform with checks in the qsearch? Would you like to run Glaurung on your mobile phone? In all cases, you can just grab the source code and do the necessary changes yourself. You can't do this with List, Aristarch or Ruffian, for obvious reasons.
Open source also has advantages for the author, because it makes it easier to receive help from other people. A good example was when I released Glaurung 0.2.0 recently. It turned out that my new opening book code, which worked perfectly in Linux and Mac OS X, didn't work in Windows. The problem would have been difficult or impossible to solve for me, but thanks to the generous help of numerous Windows programmers I had a new version with the problem fixed ready less than a day later. This couldn't have happened unless my program was open source.
The only possible negative effect I can see of publishing my source code is the risk of cloning. I don't think this is a very serious problem. A Glaurung clone would be farily easy to spot, I think.
Instead there always is a possibility to discuss ideas without providing huge chapters of source code, by what one's intellectual ability would be underlined much better.
These are not mutually exclusive. If anything, having the complete source code available facilitates discussion of ideas.
There is no need to distribute strong chess programs for free. Let's keep it private and avoid dumping or handle it as shareware. Don't help to feed the illusion that good chess programs are worthless.
There is no such illusion. Free does not imply worthless. Most of the things I value in life cannot be bought for money.
Tord