Merge commit '1e3fd6a0c81bb3e9900a93a9d1923cc788de0f99'
[bpt/guile.git] / doc / ref / preface.texi
1 @c -*-texinfo-*-
2 @c This is part of the GNU Guile Reference Manual.
3 @c Copyright (C) 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2010, 2011
4 @c Free Software Foundation, Inc.
5 @c See the file guile.texi for copying conditions.
6
7 @node Preface
8 @unnumbered Preface
9
10 This manual describes how to use Guile, GNU's Ubiquitous Intelligent
11 Language for Extensions. It relates particularly to Guile version
12 @value{VERSION}.
13
14 @menu
15 * Contributors::
16 * Guile License::
17 @end menu
18
19 @node Contributors
20 @unnumberedsec Contributors to this Manual
21
22 Like Guile itself, the Guile reference manual is a living entity, cared
23 for by many people over a long period of time. As such, it is hard to
24 identify individuals of whom to say ``yes, this person, she wrote the
25 manual.''
26
27 Still, among the many contributions, some caretakers stand out. First
28 among them is Neil Jerram, who has been working on this document for ten
29 years now. Neil's attention both to detail and to the big picture have
30 made a real difference in the understanding of a generation of Guile
31 hackers.
32
33 Next we should note Marius Vollmer's effect on this document. Marius
34 maintained Guile during a period in which Guile's API was
35 clarified---put to the fire, so to speak---and he had the good sense to
36 effect the same change on the manual.
37
38 Martin Grabmueller made substantial contributions throughout the manual
39 in preparation for the Guile 1.6 release, including filling out a lot of
40 the documentation of Scheme data types, control mechanisms and
41 procedures. In addition, he wrote the documentation for Guile's SRFI
42 modules and modules associated with the Guile REPL.
43
44 Ludovic Court@`es and Andy Wingo, the Guile maintainers at the time of
45 this writing (late 2010), have also made their dent in the manual,
46 writing documentation for new modules and subsystems in Guile 2.0. They
47 are also responsible for ensuring that the existing text retains its
48 relevance as Guile evolves. @xref{Reporting Bugs}, for more information
49 on reporting problems in this manual.
50
51 The content for the first versions of this manual incorporated and was
52 inspired by documents from Aubrey Jaffer, author of the SCM system on
53 which Guile was based, and from Tom Lord, Guile's first maintainer.
54 Although most of this text has been rewritten, all of it was important,
55 and some of the structure remains.
56
57 The manual for the first versions of Guile were largely written, edited,
58 and compiled by Mark Galassi and Jim Blandy. In particular, Jim wrote
59 the original tutorial on Guile's data representation and the C API for
60 accessing Guile objects.
61
62 Significant portions were also contributed by Thien-Thi Nguyen, Kevin
63 Ryde, Mikael Djurfeldt, Christian Lynbech, Julian Graham, Gary Houston,
64 Tim Pierce, and a few dozen more. You, reader, are most welcome to join
65 their esteemed ranks. Visit Guile's web site at
66 @uref{http://www.gnu.org/software/guile/} to find out how to get
67 involved.
68
69
70 @node Guile License
71 @unnumberedsec The Guile License
72 @cindex copying
73 @cindex GPL
74 @cindex LGPL
75 @cindex license
76
77 Guile is Free Software. Guile is copyrighted, not public domain, and
78 there are restrictions on its distribution or redistribution, but
79 these restrictions are designed to permit everything a cooperating
80 person would want to do.
81
82 @itemize @bullet
83 @item
84 The Guile library (libguile) and supporting files are published under
85 the terms of the GNU Lesser General Public License version 3 or later.
86 See the files @file{COPYING.LESSER} and @file{COPYING}.
87
88 @item
89 The Guile readline module is published under the terms of the GNU
90 General Public License version 3 or later. See the file @file{COPYING}.
91
92 @item
93 The manual you're now reading is published under the terms of the GNU
94 Free Documentation License (@pxref{GNU Free Documentation License}).
95 @end itemize
96
97 C code linking to the Guile library is subject to terms of that
98 library. Basically such code may be published on any terms, provided
99 users can re-link against a new or modified version of Guile.
100
101 C code linking to the Guile readline module is subject to the terms of
102 that module. Basically such code must be published on Free terms.
103
104 Scheme level code written to be run by Guile (but not derived from
105 Guile itself) is not restricted in any way, and may be published on any
106 terms. We encourage authors to publish on Free terms.
107
108 You must be aware there is no warranty whatsoever for Guile. This is
109 described in full in the licenses.
110
111
112 @c Local Variables:
113 @c TeX-master: "guile.texi"
114 @c End: