You start by forking the open source project so you're in control. Now you create an issue, explaining the missing feature you want. Tag it with a special CodeMill price tag and the issue then becomes an opening in the CodeMill marketplace.
Developers are then able to see the work offer. If they think they are up to the task and they agree to the price offered, they fork your repository and start working.
When the developer completes the task, they send you a pull request. It's like any other pull request you get, except that if you merge this one, the transaction completes and the developer is being paid. Moreover, a pull request will be sent on your behalf to the original open source project.
First you need to fork the original open source project. It's a matter of a mouse click within GitHub. Then you need to sign up using GitHub, and when asked to apply CodeMill to a repository or organization, choose your newly created fork.
We want you to have control over the process. you need to be able to post an issue without it being deleted or closed by the repository owner, and you need to be able to merge pull requests. If we had tried to implement the CodeMill process on the original open source project, it wouldn't have worked smoothly, if at all.
GitHub creates public forks with the 'Issues' option disabled by default. Simply go to the 'Settings' tab of the fork, and enable 'Issues' (see example).
Yes, simply add a comment to the issue with a new price tag. The last one always counts (see example).
Your task is published in the CodeMill marketplace and developers are alerted on new tasks. Moreover, we let you submit an issue to the original open source project, telling about your offer and linking to it. This way many developers that are 'watching' the repository in GitHub are being notified, and since they're already somehow connected to that open source project, there's a good chance that one of them will grab the task.
That's part of the beauty of CodeMill -- It's based completely on GitHub, where each developer has their public profile, and you can trace their work and style.
Any developer can take the task, but you can unassign them for any reason.
Sure, please do. We didn't put our own mechanism in place specifically for that because we want to keep you away from GitHub for as little as possible. The best and most transparent approach is to communicate over comments on the GitHub issue, or alternatively by using Gitter.
Payments are currently processed via pre-approved Paypal payments. For each new task you create, we'll ask you to pre-approve a payment for it. This preapprovment will only be utilized if you merge a pull request for that task, which implies that you got your job done.