Bounties
The RISC OS Open bounty scheme is an open mechanism for the community to sponsor development of features and fixes in RISC OS.
It all starts with donations
People look through the list of open bounties and see if there is something they’d really like to see done there. If there is, they “vote” by making a non-refundable financial donation. Donations can be as large or small as the individual wants. Meanwhile, developers keep an eye on the list and see if there are open bounty items they would like to tackle. If a developer wants to claim an open bounty item, they get in contact with ROOL.
What do the bounty targets mean?
RISC OS Open sometimes displays an indicative target figure for a bounty – this is purely a guide based upon our rough estimate of the amount of work multiplied by minimum wage. The amount raised against the bounty is updated each time we receive a donation; it’s up to anyone wishing to claim the bounty to decide what they believe is a suitable amount to motivate them and this figure may be more or less than our indicated target. It’s not for ROOL to decide someone’s hourly rate!
What happens when a bounty is claimed
Once ROOL and the developer or developers have got in touch, some kind of acceptance criteria will be needed so that people who have donated to the bounty, as well as ROOL, can be sure that the developer has completed the job properly. Although bounty descriptions contain a reasonable amount of information about what the bounty is for, it isn’t feasible to go into too much detail at such an early stage as there may be a requirement for significant technical investigation and this may be pointless should the community ultimately show no interest in the bounty at all. So – that’s all left until the bounty gets underway.
As for setting a deadline on bounty completion, we take a pragmatic view that we should periodically review progress and then reach an amicable agreement with the developer if things aren’t progressing as we’d hoped.
On completion
When a developer or developers complete the task or tasks that make up a bounty item and previously agreed acceptance criteria have been met, the developer(s) will be paid the amount that the community donated to that bounty item. This may need to be declared as income, depending on the developer(s) personal tax situation.
Implementation conflict resolution
It’s conceivable that a bounty might be started by a developer/developers, only for ROOL and/or the developer(s) to later become aware that someone else was independently working on the same thing but wasn’t aware of the bounty item. In such cases all we can do is offer to mediate between the various parties to assign an appropriate proportion of the donated amount for the bounty and help merge the source they have produced.
Failure to deliver
If a developer fails to meet with the agreed acceptance criteria within some pre-agreed reasonable time, one of two things will happen:
- ROOL will grant them an extension to try to finish their work or
- ROOL will re-open the bounty to other developers.
In the second case, it would be up to the developer to decide what they want to do with whatever development they had managed to complete. Clearly, because we won’t actually pay any of the bounty until we deem it to have been completed to our satisfaction, we will try to review progress regularly to avoid developers pouring too much time into something that’s clearly not going to fulfil the bounty’s objectives!
Current status
The following table shows the status of each of the current bounties, along with an estimate of how far completed they are against plan:
Bounty | Status | Completion | Latest updates |
---|---|---|---|
Git source control client | Collecting | - | - |
More recent LanManFS protocols | Collecting | - | - |
TCP/IP stack overhaul (Step 2 of 4) | Collecting | - | - |
TCP/IP stack overhaul (Step 3 of 4) | Collecting | - | - |
Update and debug USB stack (Step 2 of 2) | Collecting | - | - |
Filing system improvements (step 2) | In progress | 10% | 16-Oct-2020 Progress review with developer 04-Feb-2021 Progress review with developer |
Improvements to !Paint | Waiting | 60% | 09-Dec-2020 Brush enhancements received for review 02-Jan-2021 Reviewed, comments fed back to developer 06-Jan-2021 Reworked code received 16-Jan-2021 Reviewed, comments fed back to developer 10-Feb-2021 Technical discussions with developer |
PNG export of bitmap images | Waiting | 95% | 19-Feb-2020 Changes parked due to RISC OS 5.28 feature freeze 21-Dec-2020 CompressPNG added to disc image 01-Jan-2021 Apps reviewed, comments fed back to developer 01-Feb-2021 Partial apps update received 20-Feb-2021 Added PNG output to ChangeFSI |
Toolbox reunification | In progress | 5% | 20-Dec-2020 Technical discussions with developer 09-Jan-2021 Questions received from developer 24-Jan-2021 Fixed module returned to developer 28-Jan-2021 Technical discussions with developer 19-Feb-2021 Technical discussions with developer |
How we select bounties
ROOL chooses bounties by scouring the forum devoted to this process, items on the RISC OS Roadmap, talking to community members at shows, and amongst ourselves. Generally, we try to avoid bounties that seem to be too wide in scope or muddy; for example, rather than having a bounty that simply said someone should “improve the filesystem”, there would be a series of bounties addressing specific, well bounded areas within the filesystem that needed attention.
So far we’ve found several areas where tackling one piece of work requires prior completion of another, so in such cases we’ll tend to only open up the bounty for the first piece of work, but perhaps let people know in its description that it forms a prerequisite for future developments which the community might find more interesting in the long run. Sometimes it’s not so exciting laying foundations, but they still need to be laid!
Exceptions to the rule
There are a couple of bounties which don’t conform to the standard model outlined above. These are special cases where the money isn’t put in a pot to be paid out to a developer for delivering some software. This currently includes the annual RISC OS General bounty – see its ‘description’ page for more information of where this money is spent.
What happens if a bounty is never claimed
It’s possible that a bounty might not get claimed within “a reasonable time” (the exact time may vary depending upon the nature of the task and the number of donations it has – or perhaps, has not! – attracted). Should ROOL decide that a bounty needs to be expired, we’ll close the item. If it had attracted any donations, they will get distributed evenly between all other open bounties.
I don’t use PayPal
If you would rather donate via cheque, please make cheques out to “RISC OS Open Ltd.” and post to:
RISC OS Open Ltd.c/o Watermill Accounting,
Future Business Centre,
Kings Hedges Road,
Cambridge, Cambridgeshire,
England, CB4 2HY
Please also email info@riscosopen.org to let us know of your donation, how much and what you want it put towards. It may take us a week or two from you posting the cheque to us updating the stuff on the bounties page because of the extra admin in routing the cheque. We can also receive donations by bank transfer (BACS or SWIFT) and can also provide a VAT receipt on request.