@c -*-texinfo-*-
@c This is part of the GNU Guile Reference Manual.
@c Copyright (C)  1996, 1997, 2000, 2001, 2002, 2003, 2004, 2010, 2011, 2018
@c   Free Software Foundation, Inc.
@c See the file guile.texi for copying conditions.

@node Preface
@unnumbered Preface

This manual describes how to use Guile, GNU's Ubiquitous Intelligent
Language for Extensions.  It relates particularly to Guile version
@value{VERSION}.

@menu
* Contributors::                
* Guile License::               
@end menu

@node Contributors
@unnumberedsec Contributors to this Manual

Like Guile itself, the Guile reference manual is a living entity, cared
for by many people over a long period of time.  As such, it is hard to
identify individuals of whom to say ``yes, this single person wrote the
manual.''

Still, among the many contributions, some caretakers stand out.  First
among them is Neil Jerram, who has worked on this document for over ten
years.  Neil's attention both to detail and to the big picture have made
a real difference in the understanding of a generation of Guile hackers.

Next we should note Marius Vollmer's effect on this document.  Marius
maintained Guile during a period in which Guile's API was
clarified---put to the fire, so to speak---and he had the good sense to
effect the same change on the manual.

Martin Grabmueller made substantial contributions throughout the manual
in preparation for the Guile 1.6 release, including filling out a lot of
the documentation of Scheme data types, control mechanisms and
procedures.  In addition, he wrote the documentation for Guile's SRFI
modules and modules associated with the Guile REPL.

Ludovic Court@`es and Andy Wingo, who co-maintain Guile since 2010,
along with Mark Weaver, have also made their dent in the manual, writing
documentation for new modules and subsystems that arrived with Guile
2.0.  Ludovic, Andy, and Mark are also responsible for ensuring that the
existing text retains its relevance as Guile evolves.  @xref{Reporting
Bugs}, for more information on reporting problems in this manual.

The content for the first versions of this manual incorporated and was
inspired by documents from Aubrey Jaffer, author of the SCM system on
which Guile was based, and from Tom Lord, Guile's first maintainer.
Although most of this text has been rewritten, all of it was important,
and some of the structure remains.

The manual for the first versions of Guile were largely written, edited,
and compiled by Mark Galassi and Jim Blandy.  In particular, Jim wrote
the original tutorial on Guile's data representation and the C API for
accessing Guile objects.

Significant portions were also contributed by Thien-Thi Nguyen, Kevin
Ryde, Mikael Djurfeldt, Christian Lynbech, Julian Graham, Gary Houston,
Tim Pierce, and a few dozen more.  You, reader, are most welcome to join
their esteemed ranks.  Visit Guile's web site at
@uref{http://www.gnu.org/software/guile/} to find out how to get
involved.


@node Guile License
@unnumberedsec The Guile License
@cindex copying
@cindex GPL
@cindex LGPL
@cindex license

Guile is Free Software.  Guile is copyrighted, not public domain, and
there are restrictions on its distribution or redistribution, but
these restrictions are designed to permit everything a cooperating
person would want to do.

@itemize @bullet
@item
The Guile library (libguile) and supporting files are published under
the terms of the GNU Lesser General Public License version 3 or later.
See the files @file{COPYING.LESSER} and @file{COPYING}.

@item
The Guile readline module is published under the terms of the GNU
General Public License version 3 or later.  See the file @file{COPYING}.

@item
The manual you're now reading is published under the terms of the GNU
Free Documentation License (@pxref{GNU Free Documentation License}).
@end itemize

C code linking to the Guile library is subject to terms of that
library.  Basically such code may be published on any terms, provided
users can re-link against a new or modified version of Guile.

C code linking to the Guile readline module is subject to the terms of
that module.  Basically such code must be published on Free terms.

Scheme level code written to be run by Guile (but not derived from
Guile itself) is not restricted in any way, and may be published on any
terms.  We encourage authors to publish on Free terms.

You must be aware there is no warranty whatsoever for Guile.  This is
described in full in the licenses.


@c Local Variables:
@c TeX-master: "guile.texi"
@c End:
