As of ~4 days ago, the openFPGALoader FPGA programmer got support for programming the internal flash of MachXO2 devices using .bit files. Thanks to @gwenhaelG for implementing this!
My own experience is that programming tools provided by Lattice only support programming the internal flash of MachXO2 devices using .jed files, or JEDEC fuse maps. The JEDEC standard, is well, standardized, for describing how to program GALs, PALs, PROMs, and other programmable devices. FPGAs are also programmable devices (JTAG being a popular protocol to program FPGAs), so Lattice's support makes sense.
If you have programming software supporting programming multiple types of devices, I can see the appeal of only having to parse a single, unified data exchange format for all the devices you support. The spec also goes back to 1983, according to the 1994 copy linked above. So it should be possible to create new tools to RE old fuse maps of those pesky GALs/PALs if the old software no longer exists :).
While openFPGALoader supported programming the internal flash using .jed files previously, just like the Lattice tools, the experimental FOSS flow for MachXO2 only really supports .bit and SVF files. .bit files are the native format of bitstream that Lattice MachXO2 and ECP5 FPGAs understand (and differs from the iCE40 format) when initializing themselves on power on. For debugging purposes and bringing up the initial nextpnr-machxo2 port, I did not find creating JEDEC files from the pre-existing .bit file artifacts useful. Rather, I found it easier to instead add .bit file support to the board-specific programmer I was using at the time. So for a while, programming MachXO2 devices could only be done using the proprietary Lattice programmer software and/or "the Open Source Hardware programmer (plus FOSS Python driver program) I personally had on hand".
Seeing as openFPGALoader supports a large number of board-agnostic methods to bang out JTAG, including libgpiod for instance, this new feature should make utilizing bitstreams generated by the FOSS MachXO2 toolchain easier. Now if only I would add support for more MachXO2 devices. Hmmm...
(Seriously, it's really cool to use libgpiod to bitbang JTAG over an RPi-like expansion connector! :D)