<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<!-- %% -->
<!-- %W  preface.tex               GAP documentation         Joachim Neubueser -->
<!-- %% -->
<!-- %% -->
<!-- %Y  Copyright (C) 1997, Lehrstuhl D für Mathematik, RWTH Aachen, Germany -->
<!-- %% -->
<!-- %%  This file contains the preface of the GAP reference manual. -->
<!-- %% -->
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->

<Chapter Label="Preface">
<Heading>Preface</Heading>
<Index Key="About GAP manual">About &GAP; manual</Index>

Welcome to &GAP;.
This is one of the manuals documenting the core part of &GAP;,
the others being the <E>&GAP; Tutorial</E>
<Alt Only="HTML">(see <Ref BookName="tut" Label="Preface"/>)</Alt>
and <E>HPC-GAP Reference Manual</E>.
<!--
<Alt Only="HTML">(see <Ref BookName="hpc" Label="Tasks"/>)</Alt>.
-->
<P/>

There is also a document <F>CHANGES.md</F> on the
changes from earlier versions in the root directory.

This preface serves not only to introduce <Q>The &GAP; Reference Manual</Q>,
but also as an introduction to the whole system.
<P/>
&GAP; stands  for  <E>Groups, Algorithms  and Programming</E>.  The  name was
chosen to reflect the original aim of the  system, which  is introduced in  this
reference manual.  Since  that  choice,  the  system has become   somewhat
broader,    and  you will  also   find information   about algorithms and
programming  for other   algebraic structures,   such as semigroups   and
algebras.
<P/>
This manual, the <E>&GAP; Reference Manual</E> contains the official definitions
of &GAP; functions. It should contain all the information needed to
use &GAP;, and is not intended to be read cover-to-cover.
<P/>
To get started a new user may first look at parts of the
<E>&GAP; Tutorial</E><Alt Only="HTML"> (see
<Ref BookName="tut" Label="Preface"/>)</Alt>.
<P/>
A lot of the functionality of the system and a number of
contributed extensions are provided as <Q>&GAP; packages</Q>
which are developed independently of the core part of &GAP; and can be loaded
into a &GAP; session. Each package comes with a its own manual which is
also available through the &GAP; help system.
<P/>
This manual is divided into chapters, sections and subsections.
Chapter&nbsp;<Ref Chap="The Help System"/> describes the <E>help system</E>,
which provides access to all the  manuals from a running &GAP; session.
Chapter&nbsp;<Ref Chap="Running GAP"/> gives technical advice for
<E>running</E> &GAP;. Chapter&nbsp;<Ref Chap="The Programming Language"/>
introduces the &GAP; language, and the next chapters deal with the
<E>environment</E> provided by &GAP; for the user. These are followed by
the main bulk of chapters which are devoted to the various mathematical
structures that &GAP; can handle.
<P/>
Subsequent sections of this preface explain the structure of the
system and
provide copyright and licensing information.
<P/>

<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="The GAP System">
<Heading>The &GAP; System</Heading>
<#Include SYSTEM "../ref/overview.xml">
</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Authors and Maintainers">
<Heading>Authors and Maintainers</Heading>
&GAP; is the work of very many people, some of whom still maintain
parts of the system. A complete list of authors can be found at
 <URL>https://github.com/gap-system/gap/blob/master/COPYRIGHT</URL>.

All &GAP; packages have their
own authors and maintainers. It should however be noted that some
packages provide interfaces between &GAP; and an external program, a
copy of which is included for convenience, and that, in these cases,
we do not claim that the package authors or maintainers wrote, or
maintain, this external program. Similarly, the system and some packages
include large data libraries that may have been computed by many
people. We try to make clear in each case what credit is attributable
to whom.
<P/>
We have, for some time, operated a refereeing system for contributed
packages, both to ensure the quality of the software we distribute,
and to provide recognition for the authors. We now consider this to be
a refereeing system for modules, and we would note, in particular
that, although it does not use the standard package interface, the
library of small groups has been refereed and accepted on exactly the
same basis as the accepted  packages.
<!-- TODO update the previous paragraph -->
<P/>
We also include with this distribution a
number of packages which have not (yet) gone through our refereeing
process. Some may be accepted in the future, in other cases the
authors have chosen not to submit them.  More information can be found
on our website <URL>https://www.gap-system.org</URL>.
<P/>

</Section>



<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Acknowledgements">
<Heading>Acknowledgements</Heading>

Very many people have worked on, and contributed to, &GAP; over the
years since its inception. On our website you will find the prefaces
to the previous releases, each of which acknowledges people who have
made special contributions to that release. Even so, it is appropriate
to mention here Joachim Neubüser whose vision of a free,
open and extensible system for computational algebra inspired &GAP;
in the first place, and Martin Schönert, who was the
technical architect of &GAP; 3 and &GAP; 4.
<P/>

</Section>


<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Copyright and License">
<Heading>Copyright and License</Heading>
<#Include SYSTEM "../ref/copyright.xml">
</Section>

</Chapter>
