Is there an open source or free comprehensive (or close to it) list of ICAO to IATA airport identifiers? The official list from ICAO costs hundreds of dollars. I suppose such a list could be scraped from Wikipedia.
It depends on whether it should be reliable enough to be used operationally. If yes, I don’t know one and would to the best of my knowledge advise spending some sort of money. If no, maybe openflights.org could help?
If you don't mind a little leg-work, you can put together a very good list, although it may have some variance from the official product.
This site is oriented toward weather reporting and you'll have to edit out some "fake" identifiers that are simply weather stations without an IATA identifier, but that's a pretty straightforward exercise using a spreadsheet.
The site OurAirports.com has a .csv file you can download (top line menu "Data" then select the CSV download) which has a vast number of airports, with both ICAO and IATA identifiers listed.
If you combine the two data sources, you're probably 90%+ of the way to having the exhaustive list. If that level of completeness is enough for you, then you're probably good-to-go, especially if you include what was suggested in another answer and what you can find in Wikipedia. If that solution isn't good enough (or is too much work), then you may be better off spending the money on the official product.