The Pogues sang this song on Rum, Sodomy, and the Lash. If i could be bothered going downstairs to find my copy, i’d be able to tell you who actually wrote it.
The Pogues also adapted a bunch of other folk songs that had non-fiction origins, and wrote some of their own. Some of them include:
“And the Band Played Waltzing Matilda,” originally written by (i think) a guy named Eric Bogle. It’s historical in its description of Gallipoli, and of the place of that battle in Australian memory, although i’m not sure the story is about anyone in particular.
“Navigator,” about railway builders in the British Empire.
“Thousands are Sailing” is sort of about immigration, and starts with a reference to Ellis Island (although it would be stretching to call it a non-fiction song).
“Streets of Sorrow/Birmingham Six” is about the British justice system and alleged IRA terrorists the Birmingham Six.
I’m sure there are more, but that’s all i can think of off the top of my head.
An Australia band by the name of Spy v. Spy did a song in the late 1980s called “Sallie-Anne,” about the murder of prostitute Sallie-Anne Huckstep by underworld crime figures (with possible police involvement) in Sydney.
Boney-M, “Rasputin” and “Ma Baker.”
I was going to mention “I Don’t Like Mondays,” but got beaten to it by Peter Morris.
Midnight Oil, “Jimmy Sharman’s Boxers,” about tent-boxing circuses that travelled from place to place in Australia, usually using aboriginal fighters. Jimmy Sharman was a real person, and some of Australia’s best-known boxers, like Lionel Rose, came out the tent-boxing tradition.
Midnight Oil have other songs that qualify, like “Maralinga,” about British nuclear testing in the Australian outback, and “Harrisburg,” about Three Mile Island.
British folk rock group The Men They Couldn’t Hang have a number of non-fiction osngs, including “Midnight Train,” about the train that ferries (or used to; not sure if it still does) nuclear waste from the Sellafield nuclear power plant in Cumbria. And “The Colours,” about the Nore naval mutiny, on the Thames in 1797.
And who could forget “Oliver Cromwell,” by Monty Python. (on preview: beaten to it by cbawlmer.)