(See also Setting up Cygwin.)
If you're having trouble starting one of our programs, please try running it from a Cygwin Bash prompt instead of from the desktop shortcut icon until you work out what's wrong. We have had several of these problems in the past.
Please mail us a bug report including the output when you start the program from a Cygwin Bash prompt. (The web page for the particular project you're trying to run should tell you the email address.)
Any console output from our applications (as opposed to the start-up scripts or their interpreters) is recorded in a file. For Terminator, these are stored in ~/.terminator/logs/ along with a file containing a log of each tab's output. Evergreen's output is logged in your temporary directory. SCM's output is not currently logged.
The main reason for using Cygwin is that one of our projects, Terminator, requires it. NT's built-in POSIX subsystem won't let you launch native Windows applications or interact with the network, so that wasn't an option. Cygwin, on the other hand, even contains the Unix98 pseudo-terminal support which we use to support terminal resizing, not to mention containing a port of one of the most widely used ssh programs.
Cygwin is also convenient for us in that it lets us use the same start-up scripts that we use on Linux and Mac OS.
In future, the other projects may be runnable without Cygwin, though probably not before there's a native (non-Cygwin) Ruby 1.9 available. (Ruby 1.9 for Windows is still flagged as experimental at the time of writing.) Even then, if you're programming or doing system administration on Windows, installing and learning Cygwin would probably be an excellent investment of your time.
We don't distribute the Cygwin DLL because that would cause problems for our users and because it would require us to distribute the Cygwin source (which would cost storage and bandwidth and administration effort).
All our projects are designed to work with UTF-8. Cygwin itself doesn't yet support UTF-8 filenames. You can happily edit UTF-8 files or view UTF-8 manual pages or whatever, but you will have problems if you need to deal with non-ASCII filenames.
The Windows NT/2000/2003/XP/Vista family use two-byte Unicode characters internally but the older Windows operating systems (such as Windows 95/98/ME) didn't support Unicode at all, so it would be difficult for Cygwin to use the UTF-16 interfaces without dropping support for the older operating systems.
The next major version of Cygwin, 1.7, now in beta, does not support the old operating systems, and indeed support for UTF-8 filenames has been added. Alternatively, Suzuki Hisao maintains an ambitious UTF-8 patch for Cygwin 1.5. (You can download a replacement DLL if you don't want to patch and rebuild yourself.) The Cygwin maintainers didn't like the approach he took. If you try either of these versions, please let us know how you get on.
All our projects are designed to work with both 64 bit and 32 bit processors. Cygwin itself, however, is 32 bit only. Our Cygwin-compiled java-launcher.exe is thus a 32 bit application and cannot load a 64 bit shared library. Terminator needs to use a Cygwin-compiled Java launcher in order to be able to load a JNI DLL that uses Cygwin's pseudo-terminal support. A 32 bit Java installation should work fine on 64 bit Windows.
Microsoft's telnet program does that when started from Cygwin terminals like Terminator and rxvt. It works fine from "the Cygwin icon", which launches a console subsystem window, but not from real terminals, which are Windows subsystem applications. We recommend that you install Cygwin's inetutils package, which installs a fully working /usr/bin/telnet.
Microsoft's ftp program exhibits a similar symptom, producing no output. The solution is, once again, to install Cygwin inetutils.
Similar behavior has been reported for at least one other console subsystem application.