Every Amiga emulator I checked relies on the SPS library to load IPF images, and it's strictly non-commercial but free to distribute so it's been working fine.
But there is a couple actual open source re-implementations of it, so it might be beneficial to build IPF support straight into the emulator. I don't know the functional difference between CAPSimg and these (if any), so I don't know if it'd make sense to leave an option to use integrated or SPS's one.
Every Amiga emulator I checked relies on the SPS library to load IPF images, and it's strictly non-commercial but free to distribute so it's been working fine.
But there is a couple actual open source re-implementations of it, so it might be beneficial to build IPF support straight into the emulator. I don't know the functional difference between CAPSimg and these (if any), so I don't know if it'd make sense to leave an option to use integrated or SPS's one.
https://github.com/mamedev/mame/blob/master/src/lib/formats/ipf_dsk.cpp (amusingly made 4 days before SPS released their code) https://github.com/Tom1975/CPCCore/blob/master/CPCCoreEmu/CAPSFile.cpp