161 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| @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/products/support/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 main WWW 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 ftp 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
 | |
| contact sales@@cygnus.com 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.
 | |
| 
 | |
| The Cygwin 1.0 product was a "commercial" distribution of cygwin.  As
 | |
| such, it included such non-software things as printed manuals, support,
 | |
| and aggregation of useful utilities.  There was nothing (software-wise)
 | |
| in there that you couldn't get off the net already, if you took the time
 | |
| to find and download everything (and usually, build it yourself),
 | |
| although the @emph{versions} available for download may have been
 | |
| different than those distributed with the commercial product.  We tested
 | |
| it all to make sure it worked together, and packaged it in a convenient
 | |
| form.  We considered such testing and packaging to be a valuable service
 | |
| and thus charged a fee for it.  Plus, it provided income for the cygwin
 | |
| project so we could continue working on it.  However, Red Hat is no
 | |
| longer offering Cygwin 1.0 on CD.  There are tentative plans to offer a
 | |
| new Cygwin CD sometime in early 2001.  So far, however, there are no
 | |
| definite plans.  The latest news about this can be found at
 | |
| @file{http://cygwin.com/cygwin-cd.html}.
 | |
| 
 | |
| 
 | |
| @section Recent history of the project: What version @emph{is} this, anyway?
 | |
| 
 | |
| Starting on April 17, 2000, the Cygwin team changed the procedure for
 | |
| doing net releases.
 | |
| 
 | |
| Previously, net releases entailed downloading one or two large files
 | |
| (called something like @code{FULL.EXE} or @code{USER.EXE}).  These files
 | |
| unpacked a "Cygwin Distribution" to a static (and arcane) directory
 | |
| structure.  This distribution contained lots of .exe, .a, .h, and other
 | |
| files.
 | |
| 
 | |
| These distributions were named after the version of the Cygwin DLL which
 | |
| they contained.  The last version released with this method was Cygwin
 | |
| B20.1.
 | |
| 
 | |
| This distribution method has the advantage that everything was "all in
 | |
| one place".  You could copy the huge FULL.EXE file around and know that
 | |
| you were getting the complete "Cygwin Distribution".
 | |
| 
 | |
| The method had several disadvantages, however.  1) it was huge, 2) it
 | |
| was hard to download in one error-free piece, and 3) it was hard to
 | |
| update.
 | |
| 
 | |
| Why was it hard to update?  Because any change to any package in
 | |
| FULL.EXE meant re-generating all of FULL.EXE.  This process was not easy
 | |
| to automate since FULL.EXE was an InstallShield executable.  As a
 | |
| result, until recently, Cygwin development was relatively static.
 | |
| 
 | |
| To rectify these problems, the Cygwin team decided, early in January
 | |
| 2000, to break up the packages in the release and make a small program
 | |
| (@code{setup.exe}) available to use in downloading packages.  After much
 | |
| development and internal discussion on the cygwin-developers mailing
 | |
| list, the new, improved version of a Cygwin release was made available
 | |
| on April 17, 2000.
 | |
| 
 | |
| This new release also had a new version of the Cygwin DLL -- 1.1.0.
 | |
| Most of the other packages were updated and some packages from the
 | |
| Cygwin CD were included.  Meanwhile, the Cygwin DLL continues to be
 | |
| updated, and since release 1.3.1, is more generically referred to as
 | |
| "1.3.x".
 | |
| 
 | |
| Users obtain this package by first downloading a version of
 | |
| @code{setup.exe}.  This program started as a simple command line tool,
 | |
| has metamorphosed into a GUI, and is in the process of continual
 | |
| improvement.  However, its purpose is simple -- it is designed to
 | |
| install packages from the cygwin web site at @file{http://cygwin.com/}.
 | |
| In effect, it is a smaller, more intelligent replacement for FULL.EXE.
 | |
| It does not require the downloading a huge executable but rather
 | |
| downloads individual small packages.
 | |
| 
 | |
| Does this mean that the new net release of the Cygwin package is 1.3.x?
 | |
| No.  We no longer label the releases with the Cygwin version number.
 | |
| Each package in the cygwin release has its own version now.
 | |
| 
 | |
| Does this mean that Cygwin 1.3.x is newer than B20.1?  Yes!  The cygwin
 | |
| 1.3.x versions all represent continual improvement in the Cygwin DLL.
 | |
| Although the 1.3.x code is still considered "beta quality", the Cygwin
 | |
| team felt comfortable enough with the cygwin technology to bump the
 | |
| version number to "1".
 | |
| 
 | |
| The other packages in the latest directory are also 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 setup.exe program from your closest mirror.  This program
 | |
| will handle the task of updating the packages on your system to the
 | |
| latest version.  The Cygwin team frequently updates and adds new
 | |
| packages to the soureware web site.  The setup.exe program is the
 | |
| easiest way to determine what you need on your system.
 | |
| 
 | |
| For some "ancient" history of the project (rather, just woefully out of
 | |
| date), visit the Project History page at
 | |
| @file{http://cygwin.com/history.html}.
 |