There are multiple aspects to this:
- adding support for reading metadata from .IMP and .RB books
- adding support for storing .IMP and .RB books in the library
- adding support for creating IMP and .RB books
- serving .IMP and .RB books from calibre
#1 can be done very easily, it's a very small change.
#2 -- no idea, but should not be too much of an issue.
#3 -- from what I've seen, calibre prefers to do everything as a python library (possibly using ctypes) with no calls to external processes. If this policy can change, then impmake can be called to go from html -> imp (impmake can be renamed as html2imp) with the same concept applied to rbmake. This needs to be an external process as it may be running impmake under wine, else it would be supported under Windows only (which is not an incentive to me as I use Linux only). Also, duplicating rbmake's functionality can be quite an effort.
#4 -- this is a bit complex, as there are different methodologies for all 3 ebook versions.
for the 1100, you need something replacing
rebcomm for USB communication.
for the 1150, you need something replacing
eb1150 for replacing USB communication and in addition impserve running as a proxy (plus you need to configure your ebook).
for the 1200, you need to have impserve running as a proxy (plus you need to configure your ebook).
I'm pretty sure #1 and #2 should be acceptable to Kovid for patches. I don't think that #3 should be an issue for integrating into calibre. For #4, lots of thought will have to be given on re-doing (or re-using the existing tools) and deciding on the apporach (i.e. whether to integrate the changes or have it as an unofficial add-on).
I hope Kovid can chime in with his views also