Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Releasing the Source Code?

Author: Will Singleton

Date: 22:37:17 10/29/99

Go up one level in this thread


On October 30, 1999 at 00:55:36, Robert Hyatt wrote:

>On October 30, 1999 at 00:40:42, Will Singleton wrote:
>
>>On October 29, 1999 at 11:14:19, Dan Homan wrote:
>>
>>>On October 29, 1999 at 03:24:40, Will Singleton wrote:
>>>
>>>>
>>>>Lastly, I'd like to point out that I don't like the idea of distributing highly
>>>>advanced source code, I think it's detrimental to the spirit of discovery and
>>>>individual achievement.  It dissuades the true amateur from the game.  I know
>>>>this because I have looked at crafty's code and found it beautiful, elegant, and
>>>>good.  And I won't copy it, though others do.  The way to advance the theory of
>>>>chess programming is not to publish your code, but rather to publish your ideas.
>>>>
>>>>Will
>>>
>>>
>>>I found this to be a very interesting paragraph.  I've been trying to decide
>>>lately whether to release the newest version of EXchess under the GNU license.
>>>All of my previous versions (including up to v2.51) have been released that way
>>>- complete with source code.  EXchess, of course, is not highly advanced... I
>>>have always used the simplest possible data structures and it's strength is
>>>maybe a little better or worse than GNU chess 4.?? depending on time
>>>controls/machine speed/ponder setting.
>>>
>>>I benefited quite a bit from looking at TSCP and crafty.  Some people have
>>>told me that they have found my code informative to look at.  A couple of
>>>programmers have even used EXchess as the starting point for their own
>>>chess projects (which I hope they realize are also under the GNU open-source
>>>license due to its copy-left nature).
>>>
>>>All of this is great, but I am not sure that it is the right thing to do
>>>anymore.  This buisiness with Voyager/La Petite has really made me wonder
>>>if maybe there isn't a better way....  The idea that someone can take
>>>an advanced program like crafty and claim it as their own is very discouraging
>>>to those of us doing it from scratch.
>>>
>>>What is the solution?  I like your point that explaining ideas (perhaps
>>>through the use of pseudo-code) is perhaps a better way to advance chess
>>>programming than releasing full source code.  On the other hand,  having
>>>the full source code is great for people who want to tinker - making the
>>>program do things that Bob hasn't got around to or isn't really interested
>>>in at the moment.  For that sort of thing, having a full working program
>>>like crafty, complete with source code, is great and even necessary -
>>>unfortunately someone has already tried to claim the thing as their own and
>>>others may follow their lead.
>>>
>>> - Dan
>>
>>Thanks for the thoughtful response.  I'd like to say that I learned more about
>>king-safety from our brief discussions over a year ago than I would have from
>>examining your code.  That's because I was energized by the *ideas* you
>>imparted, in conversation; I would never feel the same way about digging in
>>code.
>>
>>Some might ask, what the difference?  For me, it's the challenge of taking an
>>idea and melding it into my previous ideas.  Or replacing them, for that matter.
>> But one must make his creation his own, or there *is* no creation, just
>>duplication, and no real advancement.
>>
>>So, what is the point of publishing source code?  Is it to advance the science?
>>What can possibly be gained from complete source code that could not be obtained
>>from the ideas contained therein?  (I am talking about advanced programs like
>>EXchess and above, not tscp.)  The only thing to be gained is the ability to
>>copy and cheat, nothing more.
>>
>>This argument assumes a viable forum to present ideas.  I think that exists here
>>in CCC, in the ICCAJ, and other places.  I would be interested to hear from
>>others who publish their source to comment.  Again, I am not against sharing
>>information, quite the contrary.  I only advocate providing the means to
>>advance, instead of dumping the advancement as a realized whole.
>>
>>Will
>
>
>You are really overlooking the main issue here.  Why do you think linux is
>a public-source deal?  For the same reason that Crafty is public-source.  I
>get plenty of useful stuff _back_.  Steven Edwards added the complete EPD
>support code to Crafty.  And the original tablebase code.  Eugene did the
>new tablebase probe code.  Mark Bromley did the compact attacks stuff.  Eugene
>Nalimov followed him by providing the key chess functions in X86 assembly.
>Dan Corbit has contributed the opening book data, and not the CAP data.  Someone
>else wrote a database program based on (initially) using Crafty as the chess
>engine.  There have been several other important contributions that are
>documented in main.c...
>
>That is useful...

Fair enough.  So, will you be crediting them as co-authors?  Is Crafty now a
collaborative project, not a program by Robert Hyatt?  If these contributions
are significant, you must relinquish sole authorship.  And if your goal is to
advance the science, rather than crafty by itself, I'd think that would be a
natural thing to do.

Will




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.