Sachverhalt: A. Das Geschworenengericht des Kantons Zürich sprach X._ am 15. Juli 2003 der mehrfachen versuchten schweren Körperverletzung im Sinne von Art. 122 Abs. 1 StGB sowie des mehrfachen versuchten Verbreitens menschlicher Krankheiten im Sinne von Art. 231 Ziff. 1 Abs. 1 StGB, jeweils in Verbindung mit Art. 22 Abs. 1 StGB sowie teilweise in Verbindung mit Art. 21 Abs. 1 StGB, schuldig und bestrafte ihn mit dreieinhalb Jahren Gefängnis unter Anrechnung von 29 Tagen Untersuchungshaft. X._ wird zur Last gelegt, zwischen August 1995 und Juni/Juli 1998 mit fünf Männern, wissend um seine HIV-Infektion, ungeschützt sexuell verkehrt zu haben. B. X._ erhebt mit Eingabe vom 17. Mai 2004 eidgenössische Nichtigkeitsbeschwerde mit dem Antrag, das Urteil des Geschworenengerichts aufzuheben und die Sache zur Neubeurteilung an die Vorinstanz zurückzuweisen. Er ersucht ausserdem um die Gewährung der unentgeltlichen Rechtspflege. C. Das Geschworenengericht und die Staatsanwaltschaft des Kantons Zürich haben auf eine Stellungnahme zur Beschwerde verzichtet. 