WSJT was originally released in 2001 and has undergone several major revisions. Communication modes have been both added and removed from the software over the course of its development. Since 2005, the software has been released as open source software under the GNU General Public License. This licensing change required substantial rewrites and took several months to complete. Although Joe Taylor was the original developer (and still acts as maintainer), several programmers are currently involved in writing the software. Currently, the program is written in Python and C, with several utilities written in Fortran.
WSJT versions up through 7.06 r1933 (referred to as colloquially as WSJT7) and earlier were aggregations of previous versions, and as such WSJT7 contained 16 different modes (FSK441, JT6M, JT65 variants A – C, JT2, JT4 variants A – G, WSPR, and a preview of JT64A). As of version 8.0 (referred to as colloquially as WSJT8) the available modes changed completely such that WSJT8 now offers 5 different modes (JTMS, ISCAT, JT64A, JT8, and Echo) — none of which are back-compatible with WSJT7 or earlier releases. This backwards-incompatibility includes JT64A, such that the preview release of JT64A in WSJT7 cannot communicate with the stable release of JT64A in WSJT8.
Communication modes provided
The software carries a general emphasis on weak-signal operation and advanced DSP techniques; however, the communication modes rely upon different ionospheric propagation modes and may be used on many different bands.
FSK441, introduced in 2001 as the first communications mode included with WSJT, is designed to support communication using streaks of radio-reflecting ions created in the ionosphere by the trails of meteors entering the Earth’s atmosphere. The bursts of signal created by such trails are commonly referred to as “pings”, due to their characteristic sound. Such pings may be as short as a tenth of a second and carry enough information to complete at least one stage of a contact. FSK441 employs multi-frequency shift keying using four tones, at a data rate of 441 baud. Because of the choice of character codes in the protocol, it is self-synchronizing and does not require an explicit synchronization tone. FSK441 is generally used on the 2-meter and 70-centimeter amateur bands. Contacts may be made at almost any time (that is, a meteor shower is not required to be in progress) at distances of up to 1400 miles (2250 km).
When transmitted messages include at least one space, the FSK441 decoding algorithm uses that space character as a syncword for zero-overhead synchronization.:30
JT6M, introduced in late 2002, is intended for meteor scatter and other ionospheric scattering of signals, and is especially optimized for the 6-meter band. The mode also employs multiple frequency-shift keying, but at 44 tones. One of the tones is a synchronization tone, leaving 43 tones to carry data (one tone per character in the character set, which includes alphanumerics and some punctuation). The symbol rate is 21.53 baud; the actual data rate as encoded for transmit is 14.4 characters per second. The mode is known for sounding “a bit like piccolo music”.
JT65, developed and released in late 2003, is intended for extremely weak but slowly varying signals, such as those found on troposcatter or Earth-Moon-Earth (EME, or “moonbounce”) paths. It can decode signals many decibels below the noise floor in a 2500 Hz band (note that SNR in a 2500 Hz band is approximately 28 dB lower than SNR in a 4 Hz band, which is closer to the channel bandwidth of an individual JT65 tone), and can often allow amateurs to successfully exchange contact information without signals being audible to the human ear. Like the other modes, multiple-frequency shift keying is employed; unlike the other modes, messages are transmitted as atomic units after being compressed and then encoded with a process known as forward error correction (or “FEC”). The FEC adds redundancy to the data, such that all of a message may be successfully recovered even if some bits are not received by the receiver. (The particular code used for JT65 is Reed-Solomon.) Because of this FEC process, messages are either decoded correctly or not decoded at all, with very high probability. After messages are encoded, they are transmitted using MFSK with 65 tones.
Operators have also begun using the JT65 mode for contacts on the HF bands, often using QRP (very low transmit power); while the mode was not originally intended for such use, its popularity has resulted in several new features being added to WSJT in order to facilitate HF operation.
JT9, intended for MF and HF use, was introduced in an experimental version of WSJT, known as WSJT-X. It uses the same logical encoding as JT65, but modulates to a 9-FSK signal. With 1-minute transmission intervals, JT9 occupies less than 16 Hz bandwidth. JT9 also has versions designed for longer transmission intervals of 2 minutes, 5 minutes, 10 minutes or 30 minutes. These extended versions take increasingly less bandwidth and permit reception of even weaker signals. 
Alternative software for JT65
There are alternative software packages available for JT65 including MultiPSK (a commercial package developed by F6CTE), and JT65-HF HB9HQX Edition (a freeware package forked from the JT65-HF project developed by W6CQZ). The JT65-HF HB9HQX Edition software may be obtained from Sourceforge.
An article series on using the original JT65-HF software appeared in CQ Amateur Radio’s October & November 2010 issues.