My company's main product is a REST API and we've just released a couple of API libraries in PHP & Ruby that we wrote in-house. Our customers are starting to write libraries in other languages, but we'd like to turbo-charge this process (and help improve quality)
We're starting to talk to contractors about paying for open-source libraries - I just wondered if anyone had any tips on this process?
Specifically, how much success have you had with day-rates vs fixed-price contracts, how do you define "finished", and how do you cope with project over-run?
I've always done hourly because the clients were not able to specify upfront exactly what they wanted, and priorities would keep changing. Additionally they would find that I'm good at other things and can help in ways they didn't anticipate. Everyone benefited.
If you can accurately specify exactly what needs to be done, and know you won't change things then ask for fixed price bids. Contractors will know how to respond. There is no perfect way of protecting yourself from below expectations work, but contract limits mean you know the worst that can happen. (eg if you say you won't pay for more than 40 hours a week then they can't suddenly surprise with 120 hours of work after the first week.) Being able to immediately terminate also means you can cut your losses early if you need to.
I always end up spending a lot of time on the intellectual property parts of the contracts since they are usually egregious land grabs written by lawyers. It is really tedious getting that fixed up. Know up front what is happening with the copyright (you can retain it exclusively, or give the contractor their own copyright on a copy) and licensing. I'd certainly give discounts for open source work, especially something that I can freely reuse elsewhere - it helps as a reference and it helps future work.
TLDR: you can't perfectly protect yourself, but be optimistic and plan on good things happening