For last check www.bubblesoftonline.com it has some programmers and bootloader.
I use IcProg for programming my PIC's, never the less correct programming of the µC depends of the capability of the serial port to supply enough current. If you want to program OPT µC i recommend you to use EPIC (parallel port) it uses a external supply but it 100% reliable.
There are many more programmer and bootloader in the net, if you do a search will find other but i believe that the above are the most common.
I hope this post answer your question.
All of the sites that i post have the schematics for building the programmer. At ic-prog check under "supported programmer types". For ponyprog, at lancos see www.lancos.com/prog.html#hardware and at propic2 see www.propic2.com/Download.htm. The first don´t have PCB but they have full schematics. I use IC-prog with JDM interface (www.jdm.homepage.dk/newpic.htm).