@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: