|
|
1.1 root 1:
2:
3: GNU Chess: Experiences Learned
4: with Communal Sharing
5: by Stuart Cracraft
6: (and contributors to the GNU Project)
7:
8:
9: Limited sharing has characterized the computer chess community
10: for the past two decades. Occasional research articles give hints
11: and suggestions for useful features, but rarely reveal the real
12: details of the critically important advances. We will here
13: describe an effort underway (titled "GNU Chess") to create a more
14: open and friendly environment of sharing.
15:
16: GNU Chess is part of Project GNU, a large-scale effort in which
17: the philosophical goals are far-reaching. We will not go into any
18: great depth about these goals as they relate to the larger pro-
19: ject, because these are described elsewhere [1]. However, we will
20: mention the basic issues and the changes we hope to encourage.
21:
22: The start of the GNU Chess project was a natural result of the
23: experiences gleaned in writing a chess program. While the author
24: was at a progressive academic location [2], he was able to con-
25: ceive the idea of a communal chess program only after much heart-
26: ache. During the period of writing the initial version (which
27: has since undergone many improvements and whole revisions), it
28: became clear that the best features and most useful hints, the
29: very best of the heuristics, were hidden and difficult to find in
30: the literature.
31:
32: Sprinkled across many books, research papers, magazine articles,
33: accumulated in the community, during the past 25 years, there was
34: literally a void of true, empirical programs. Locating usable
35: programs was difficult. Many programs were the result of academic
36: work in "ivory towers", and hence were inaccessible to the common
37: man. Other programs were sequestered in research think-tanks. Na-
38: turally, developers of commercial programs carefully guarded
39: their source in order to protect their investment. On the other
40: hand, a few chess program source listings had actually been pub-
41: lished, but these were not really very strong, often written in a
42: non-general language, and frequently more pedantic than practi-
43: cal.
44:
45: The idea of a reasonably strong communal program solidified.
46: When we refer to a communal program, we do not regard this as
47: public-domain software. Rather, we refer to a program which is
48: under the shared authority of a number of individuals, the prin-
49: cipal contributors. These individuals have experienced and real-
50: ized the positive results of a sharing community and the rapid
51: improvements that come through contributing in such a community.
52: Further, these individuals devote time and energy to coordinating
53: the contributions of other individuals. While they exercise a
54: certain editorial right, this is usually not exercised arbitrari-
55: ly; instead, a discussion is often undertaken.
56:
57: Eventually, a working C program that played chess was available.
58: The coordinating institution for Project GNU [3], accepted our
59: suggestion of inclusion of a chess program in the GNU distribu-
60: tion. Initial distribution of GNU Chess commenced in October of
61: 1986. Interest in the project increased rapidly.
62:
63: Contributions came in from many places and people. Interfaces to
64: X-windows and SUN-windows were donated, thus allowing very fancy
65: chess fonts on bit-mapped screens. Also, contributions involving
66: large portions of opening books such as MCO and collections of
67: master games were added to the distribution. Additionally,
68: tree-search modifications and heuristics were provided, and occa-
69: sionally even entire rewrites.
70:
71: The program advanced in strength by several USCF class intervals
72: during a period of less than one year. During this time, many
73: unusual features and enhancements were added to the program, usu-
74: ally under the coordination of two or more people, with one work-
75: ing in a distant-advisory capacity to the other. Frequently, gra-
76: duate students would give up significant time from their thesis
77: work to devote energy to contributing. Their corporate counter-
78: parts would often give up project time to make their donation.
79:
80: Contributors would often enter the project in a very forceful way
81: and then having made their contribution, learn the viability of
82: communal sharing once others had stepped in and contributed to
83: them, thus providing considerable reinforcement. Frequently, con-
84: tributors would then go into "hibernation" for a long period of
85: time, but most of them remained open to contributing and were
86: helpful when asked to reprogram their particular contribution in
87: a more recent version.
88:
89: GNU Chess has made great strides in relatively little time. It
90: has run on many different hardware architectures and has been
91: compiled by a number of C compilers [4]. A sampling of the com-
92: puters on which the program has run is: National 32032, Vax
93: 11/750, 8550, 8600, 8650, Motorola 68020, CCI 5/32, CCI 6/32
94: (tahoe), Cray XMP.
95:
96: It is our belief that GNU Chess will stimulate graduate research
97: in computer chess theory and practice. When students are able to
98: easily obtain a state-of-the-art program in order to test out
99: their ideas, they will no longer need to reinvent the wheel. The
100: students will be able to investigate their research areas much
101: more thoroughly, because they will spend more time on the specif-
102: ic research areas they are concerned about. Basically, GNU Chess
103: "frees up" time in order to get on to more fundamental issues.
104:
105: We also feel that as other researchers gain trust in the GNU
106: Chess project, they will be more likely to release their results
107: directly and rapidly, through journal articles, or directly to
108: the GNU project, and in fact become contributors and join the
109: present list [5]. At the very least, a communal, ever-growing
110: program will encourage the few "closeted" researchers to be some-
111: what more open in their approach to disseminating advances.
112:
113: In whatever form it takes, the progress toward elaboration of
114: machine chess is ongoing, and we hope that GNU chess will be
115: helpful to the community. Copies of GNU Chess source and "book",
116: as well as additional experimental code are available from the
117: Free Software Foundation [3] or the author [6].
118:
119:
120: [1] The GNU Manifesto, Richard Stallman, Free Software Foundation, Inc.
121:
122: [2] University of Southern California, Information Sciences Institute.
123:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.