@chapter What is it?

The Cygwin tools are ports of the popular GNU development tools for
Microsoft Windows.  They run thanks to the Cygwin library which
provides the UNIX system calls and environment these programs expect.

With these tools installed, it is possible to write Win32 console or
GUI applications that make use of the standard Microsoft Win32 API
and/or the Cygwin API.  As a result, it is possible to easily
port many significant Unix programs without the need
for extensive changes to the source code.  This includes configuring
and building most of the available GNU software (including the packages
included with the Cygwin development tools themselves).  Even if
the development tools are of little to no use to you, you may have
interest in the many standard Unix utilities provided with the package.
They can be used both from the bash shell (provided) or from the
standard Windows command shell.

@section What versions of Windows are supported?

Wait a minute... Cygwin is only @emph{supported} if you are paying for
it, such as through a support contract with Red Hat.  For information
about getting a Red Hat support contract, see
@file{http://www.redhat.com/software/tools/cygwin/}.

That said, Cygwin can be expected to run on all modern 32 bit versions of
Windows, except Windows CE.  This includes Windows 95/98/ME/NT/2000/XP.

Keep in mind that Cygwin can only do as much as the underlying OS
supports.  Because of this, Cygwin will behave differently, and
exhibit different limitations, on the various versions of Windows.

@section Where can I get it?

The home page for the Cygwin project is @file{http://cygwin.com/}.
There you should find everything you need for Cygwin, including links
for download and setup, a current list of mirror sites, a User's
Guide, an API Reference, mailing lists and archives, and additional
ported software.

You can find documentation for the individual GNU tools at
@file{http://www.fsf.org/manual/}.  (You should read GNU manuals from a
local mirror.  Check @file{http://www.fsf.org/server/list-mirrors.html}
for a list of them.)

@section Is it free software?

Yes.  Parts are GNU software (gcc, gas, ld, etc...), parts are covered
by the standard X11 license, some of it is public domain, some of
it was written by Cygnus and placed under the GPL.  None of it is
shareware.  You don't have to pay anyone to use it but you should be
sure to read the copyright section of the FAQ more more information on
how the GNU General Public License may affect your use of these tools.

In particular, if you intend to port a proprietary (non-GPL'd)
application using Cygwin, you will need the proprietary-use license 
for the Cygwin library.  This is available for purchase; please visit
@file{http://www.redhat.com/software/tools/cygwin/} for more information.
All other questions should be sent to the project
mailing list cygwin@@cygwin.com.

Note that when we say "free" we mean freedom, not price.  The goal of
such freedom is that the people who use a given piece of software
should be able to change it to fit their needs, learn from it, share
it with their friends, etc.  The Cygwin license allows you those
freedoms, so it is free software.

@section What version of Cygwin @emph{is} this, anyway?

To find the version of the Cygwin DLL installed, you can use
@file{uname} as on Linux or @file{cygcheck}. Refer to each command's
@samp{--help} output and the @uref{http://cygwin.com/cygwin-ug-net/,
Cygwin User's Guide} for more information.

If you are looking for the a version number for the whole Cygwin
release, there is none. Each package in the Cygwin release has its own
version.  The packages in Cygwin are continually improving, thanks to
the efforts of net volunteers who maintain the Cygwin binary ports.
Each package has its own version numbers and its own release process.

So, how do you get the most up-to-date version of Cygwin?  Easy.  Just
download the Cygwin Setup program from
@uref{http://cygwin.com/setup.exe}.  This program will handle the task
of updating the packages on your system to the latest version. For
more information about using Cygwin's @file{setup.exe}, see 
@uref{http://cygwin.com/cygwin-ug-net/setup-net.html, Setting Up Cygwin}
in the Cygwin User's Guide. 
