releasing or not releasing source code

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

releasing or not releasing source code

Postby Uri Blass » 19 Feb 2005, 05:41

I consider to delete part of the code that I have in movei and release the source of a significantly weaker version(more than 200 elo weaker).

I still did not decide if to do it.

The idea is to delete parts when I believe that I may have relative advantage to other people when strength improvements of the released code can in part of the cases also help me also to improve the non released code or to improve it's functionality(for example by supporting linux and not only windows).

Note that I think that the data structure of movei(inspite of the fact that most of it is original and it is not based on foreign sources) is not something that I think that movei has a relative advantage to other programs.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 19 Feb 2005, 09:14

Hi Uri,

what are your reasons for to publish any source code at all?

I actually cannot yet imagine any serious need to which I would understand.

Regards, Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Robert Allgeuer » 19 Feb 2005, 09:46

Uri,
why would you then publish the source code in the first place?
I think it is a philosophic question and one of personal preferences and both approaches are ok.

Robert
Robert Allgeuer
 
Posts: 124
Joined: 28 Sep 2004, 19:09
Location: Konz / Germany

Re: releasing or not releasing source code

Postby Uri Blass » 19 Feb 2005, 10:02

Hi reinhard,
The main reason is that I may get help from other people to improve things(or ideas for strength improvement or more functions like supporting linux).

I do not think to release everything so I will need to delete part of the code in case that I decide to do it and I guess that the result will be significantly weaker then public movei(I expect it to be more than 200 elo weaker).

If I decide to release source code then it mean that I delete every idea that I consider as original idea except data structure that is used to make and generate moves.

I worked months in improving the speed of my move generator but I believe that things are not close to be optimal and I have the feeling that a lot of code like

if ((piece(x)!=PAWN)&&(piece(x)!=KING)) that appear in many places in my move generator can be replaced by more efficient code.

Note also that I think that data structure of the move generator is not very important for playing strength so even if I expose some new ideas of how to do things faster then my opinion is that it still does not give the opponents a big advantage.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 19 Feb 2005, 11:06

Hi Uri,

Uri wrote:The main reason is that I may get help from other people to improve things ...

well, cooperating with other chess programmers does not give reason for to exchange more than code snippets (if source code at all) or to publish it e.g. via WWW to everybody, even anonymus people.

Discussing ideas or heuristics is possible without using a specific programming language. Moreover I am convinced that if there would be a need to translate programming ideas (if not language specific) into common human language this would also help to force oneself to have a second look on it.

A negative consequence of the above might be, that echos on such postings would become rare, because you would communicate only with competent and really interested people but skipping code patchworkers and compile-without-having-understood benefiters.

Moreover I regard you to be a person which also is not interested in integrating foreign source code snippets without having understood.

Regards, Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Anonymous » 19 Feb 2005, 18:16

Hello,

There are other reason to share source code besides something productive. And it is to satisfy curiosity from some others. After all, one can also see how this guy did this and that, what variable names he uses, the comments etc. get some fun.
And THAT is the solely reason why myself could possibly one of these days release Amyan source code. There are not much chess sources in spanish also, so it has also that value. But still, I would do it of an old version of my program anyway.
Anonymous
 

Re: releasing or not releasing source code

Postby Uri Blass » 19 Feb 2005, 22:21

Considering the comments of Reinhard,one possibility is to release source that does not work because it include only data structure and names of functions and discreption in english of what the functions are supposed to do and how it is done.

Some code may be mentioned but only as an example to explain the programming language to the reader.

Uri
User avatar
Uri Blass
 
Posts: 727
Joined: 09 Oct 2004, 05:59
Location: Tel-Aviv

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 19 Feb 2005, 23:16

Hi Antonio and Uri,

Antonio Di?guez wrote:There are other reason to share source code besides something productive.

Open Source projects may make sense, where a common platform for applications should be provided, where customizing tasks will remain to satisfy individual needs of paying customers. Especially protocols and interfaces always should be published, if of wider interest.

But chess engines establish no needs for customizing processes. And programming chess and having tournaments of named engines has the character of a sport discipline, where doping and cheating should be avoided. And a published complete or moreover compilable whole source of an engine invites some "programmers" to cheat by patchworking.

Uri Blass wrote:Some code may be mentioned but only as an example to explain the programming language to the reader.

That is indeed to recommend!

It is normal and human that when a programmer finally has succeeded in writing his own chess program, he would be very proud of that task and be motivated to tell the whole world what he has written for a great program. But it should be done with discipline best having his engine speak for itself in tournaments and by participating personally in chess related discussions.

That would make it easier to identify (hopefully few) clones or to prove one's original genuine task, if requested by trustworthy people.

Regards, Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Anonymous » 20 Feb 2005, 01:42

Reinhard Scharnagl wrote:Hi Antonio and Uri,

Antonio Di?guez wrote:There are other reason to share source code besides something productive.

Open Source projects may make sense, where a common platform for applications should be provided, where customizing tasks will remain to satisfy individual needs of paying customers. Especially protocols and interfaces always should be published, if of wider interest.

But chess engines establish no needs for customizing processes. And programming chess and having tournaments of named engines has the character of a sport discipline, where doping and cheating should be avoided. And a published complete or moreover compilable whole source of an engine invites some "programmers" to cheat by patchworking.

...
Regards, Reinhard.


Well, I already said I was worring about the curiosity factor, not about that purpose in particular of open source projects.
Yes, I may be not at your level of understanding, but even I have noted a few times when someone seems to use something done by other(s), which is a common case anyway, but become worse when it seems only later he understand it at a somewhat decent level (whatever that decent level means... a chess program search with all the artifacts is not so trivial to understand it fully and surely not even the best programmers can really say why this or why that).
May be the disgust of having clones is bigger than the interest of having chess sources codes, if that's is the case then I wouldn't release a s.c., but there are already several released. At this forum I got to know about Slowchess and Glaurung or Gothmog s.c. being released, and when I downloaded Fruit, it came with source code included, so chess programs source codes are already floating around everywhere.

Now I remember another bad factor in respect to releasing source codes, and has to do with the merit of doing a chess proggy in the view of other people.

Agent Smith: "It's inevitable."
Anonymous
 

Re: releasing or not releasing source code

Postby José Carlos » 20 Feb 2005, 08:21

I've said this many times: the fact that you can kill a person with a knife (clone with open source) doesn't mean we must stop making knives, because they're useful for other things. It's up to the people how to use the tools. Only the killer (cloner) is responsable for the murder (cloning), and must be punished.
_____________________________
José Carlos Martínez Galán
User avatar
José Carlos
 
Posts: 102
Joined: 26 Sep 2004, 03:22
Location: Murcia (Spain)

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 20 Feb 2005, 09:19

Hi Jos?,

it is not responsible to place weapons or drugs open accessible in the middle of a kindergarden.

Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Volker Pittlik » 20 Feb 2005, 11:18

Reinhard Scharnagl wrote:Hi Jos?,

it is not responsible to place weapons or drugs open accessible in the middle of a kindergarden.

Reinhard.


Fortunately we are already out of kindergarten. To make weapons or drugs accessible is not only irresponsible (not only in kindergarten) but forbidden itself.

Volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: releasing or not releasing source code

Postby José Carlos » 20 Feb 2005, 22:31

Reinhard Scharnagl wrote:Hi Jos?,

it is not responsible to place weapons or drugs open accessible in the middle of a kindergarden.

Reinhard.


Chess programmers are not kids.
Source code is not a weapon or drug.
My example is much closer to reality than yours. Chess sources are pretty much a tool, like a knife or a hammer.
_____________________________
José Carlos Martínez Galán
User avatar
José Carlos
 
Posts: 102
Joined: 26 Sep 2004, 03:22
Location: Murcia (Spain)

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 21 Feb 2005, 00:35

Hi Jos?,
Jos? wrote:... the fact that you can kill a person with a knife ...

well, I have driven your unmatching example into an extrem, I confess.

But searching something better matching I found that pupils could 'create' their solutions and articles to tasks given from their teachers by searching in the web for foreign solutions. I think it is a bad situation where certificates could be reached by such a cheating. So it would be not a good act to publish one's successful homework to 'help' other pupils.

If there would be a tournament in which my program should participate I would not agree to have there some patchworked opponents where it overmore should be my task to investigate and proof them to be clones or recycled intellectual properties of others. Publishing whole source codes especially when compilable would be such a dubious kind of 'help' as mentioned above. It would for sure be much better to handle one's source code more responsible.

Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Dann Corbit » 21 Feb 2005, 19:49

Reinhard Scharnagl wrote:Hi Jos?,

it is not responsible to place weapons or drugs open accessible in the middle of a kindergarden.

Reinhard.


I really think this is ridiculous.

If true, then the ACM would be terrible criminals.

Hiding code because you want to compete better is fine with me. But to say that others must hide their code also is truly absurd to me.

IMO-YMMV.
Dann Corbit
 

Re: releasing or not releasing source code

Postby Dan Honeycutt » 21 Feb 2005, 21:15

Uri Blass wrote:The idea is to delete parts when I believe that I may have relative advantage to other people when strength improvements of the released code can in part of the cases also help me also to improve the non released code or to improve it's functionality(for example by supporting linux and not only windows).


Hi Uri:

If I understand your statement correctly, you are hoping that improvements made by others will help you improve strength or functionality.

What type of license do you have in mind? ie:

Copyright (c) Uri Blass, you may send me improvements but you may not otherwise use this code.

or

Copyright (c) Uri Blass, you may use with my permission but I need to see any improvements you make.

or

Public Domain. Use as you wish, I would appreciate you sharing improvements with me.

etc.

Best
Dan H.
Dan Honeycutt
 
Posts: 167
Joined: 28 Sep 2004, 15:49
Location: Atlanta Georgia, USA

Re: releasing or not releasing source code

Postby Reinhard Scharnagl » 21 Feb 2005, 21:36

Hi Dann,

as I already have stated, I have driven Jos?'s kill-a-person-with-a-knife-example to the absurd. Maybe that this has not been that clear.
Dann wrote:... to say that others must hide ...

It is not at me to tell others what to do. But I have thought that here might be a place to speak out one's opinion. And indeed, I think it is a bad thing to publish the whole source code of working chessprograms, especially when not knowing, who will use it.

Reinhard.
Reinhard Scharnagl
 
Posts: 608
Joined: 01 Oct 2004, 08:36
Location: Klein-Gerau, Germany

Re: releasing or not releasing source code

Postby Tord Romstad » 21 Feb 2005, 22:48

Hi Reinhard,

I am beginning to get a bit tired of this debate. Most people (and I am no exception) just repeat their old points, and there is little progress. After this post, I hope to be able to refrain from participating in the debate.

Reinhard Scharnagl wrote:But searching something better matching I found that pupils could 'create' their solutions and articles to tasks given from their teachers by searching in the web for foreign solutions. I think it is a bad situation where certificates could be reached by such a cheating. So it would be not a good act to publish one's successful homework to 'help' other pupils.

But in the case of computer chess, using somebody else's source code as a starting point is not necessarily cheating. In many cases, it is in fact the most sensible thing to do. There are people who do research in game playing algorithms, but have no time or interest to develop their own chess engine. They may, for instance, be working mainly on some other strategic game (like shogi, othello or checkers), but still want to test whether some new algorithm they have invented is effective in computer chess. In such cases, starting with a strong open source program is clearly preferable to writing a complete chess program from scratch. Not only do they save a lot of time, the results of the research also becomes more valuable. In sufficiently weak chess engines, almost all tricks seem to work. Seeing that a new algorithm is effective in a well-known, stable and strong open source program is a much more interesting data point than seeing that the same algorithm works in some program the author wrote in a short period of time.

This is not purely hypothetical. A case in point was when Michael Buro (author of Logistello, which used to be the strongest othello program) used Crafty to test whether MPC pruning (a selective search technique used by Logistello) works in chess.

Different people are interested in chess for different reasons. You seem to be mainly attracted by the competitive side of chess programming (I think you called it a "brain sport" in a recent post to this forum). This is of course fine, but you sometimes seem to forget that not everybody shares this view. I have little interest in the competitive side of computer chess, and in "brain sports" in general. I have no desire to compete with Stefan Meyer-Kahlen, you, or anybody else. My interest is in game playing algorithms, and in artificial intelligence programming. I want to contribute, in my own small way, to the continuation of the great work started by Alan Turing and Claude Shannon.

If there would be a tournament in which my program should participate I would not agree to have there some patchworked opponents where it overmore should be my task to investigate and proof them to be clones or recycled intellectual properties of others.

I think you greatly overestimate this problem. Cheating in computer chess tournaments happens very rarely, and the cheaters do get caught. It is not too hard to detect a clone of an open source engine, and it is not likely that you will have to do the work yourself. Any new, unexpectedly strong engine is guaranteed to attract lots of attention, and sooner or later somebody will want to investigate it.

Among the top amateur engines today, there is not a single program (not even List) which I suspect to be a clone. I see no reason to believe that this will change radically in the future. Cloning seems to be more common on lower levels, where there has been numerous TSCP and Faile clones. Of course this is still annoying, but you can't claim that it destroys the competition.

Tord
User avatar
Tord Romstad
 
Posts: 639
Joined: 09 Oct 2004, 12:49
Location: Oslo, Norway

Re: releasing or not releasing source code

Postby Dan Honeycutt » 22 Feb 2005, 00:05

Tord Romstad wrote:I am beginning to get a bit tired of this debate. Most people (and I am no exception) just repeat their old points, and there is little progress.


Agree, though Uri's original post does bring up a new element - publishing the source as a means to garner feedback and possible improvement. I had never thought of this, and to be frank, I'm not sure what to think of it.

Best
Dan H.
Dan Honeycutt
 
Posts: 167
Joined: 28 Sep 2004, 15:49
Location: Atlanta Georgia, USA

Re: releasing or not releasing source code

Postby Dann Corbit » 22 Feb 2005, 00:39

Dan Honeycutt wrote:
Tord Romstad wrote:I am beginning to get a bit tired of this debate. Most people (and I am no exception) just repeat their old points, and there is little progress.


Agree, though Uri's original post does bring up a new element - publishing the source as a means to garner feedback and possible improvement. I had never thought of this, and to be frank, I'm not sure what to think of it.

Best
Dan H.


I have offered plenty of suggestions to chess program authors.
Sometimes, to closed source programs whose authors sent me the source.

But far more often to open source programs.

Which brings up a point. Sometimes, someone sends me source and asks for suggestions. If I do not offer them right away, it is probably because I am looking at a whole bunch of programs and not just one.

Eventually, I will send feedback (sometimes uninvited ;-)).

I also have an evil tendency to reformat source code so that I can understand it and have even introduced bugs from doing that.

I imagine that more than a few authors could commiserate on that.
Dann Corbit
 

Next

Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 9 guests