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.
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!
There is one special case, where the money isn’t directly paid out to a developer for delivering some software, which is the annual RISC OS General bounty – see its ‘description’ page for more information of where this money is spent.
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!
Current bounty 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 |
---|---|---|---|
Desktop Unicode support Opened 25-Apr-2021 |
Collecting |
- |
|
Filing system improvements (step 3) Opened 25-Apr-2021 |
Collecting |
- |
|
More recent LanManFS protocols Opened 13-Jun-2019 |
Collecting |
- |
|
Filing system improvements (step 2) Opened 01-Jan-2015; Claimed Oct-2018 |
In progress |
10% |
26-Oct-2021 Progress review with developer 26-May-2022 Programme of work being rescoped 27-Mar-2024 Technical discussions with developer 17-Jun-2024 Technical discussions with developer 26-Oct-2024 Progress review with developer |
Git source control client Opened 13-Jun-2019; Claimed Mar-2021 |
In progress |
68% |
17-Apr-2024 Updated version 0.07 client now available, consult ReadMe in the download to get involved in the trial 23-Apr-2024 Technical discussions with developer 23-May-2024 Technical discussions with developer 31-May-2024 Review of progress against plan 08-Jun-2024 Technical discussions with developer 16-Oct-2024 Progress review with developer |
Improvements to !Paint Opened 01-Jan-2015; Claimed Oct-2016 |
In progress |
72% |
20-May-2023 Technical discussions with developer 02-Jul-2023 Query current status with developer 10-Jul-2023 Removed editable DPI feature, needs more thought 20-Jun-2024 Improved ‘full info’ display from stand in developer in review 22-Jun-2024 Improved ‘full info’ display added to Paint 2.55 |
Revised Programmer’s Reference Manuals Opened 25-Apr-2021; Claimed Apr-2023 |
In progress |
4% |
09-Aug-2023 FileCore chapter changes from earlier bounty integrated 16-Aug-2023 Technical discussions with developer 02-Sep-2023 Technical discussions with developer 02-Nov-2023 Proposed style sheet and sample chapters received 09-Nov-2023 Technical discussions with developer 16-Dec-2023 Technical discussions with developer 21-Dec-2023 Technical discussions with developer 04-Jan-2024 Technical discussions with developer 08-Jan-2024 Technical discussions with developer 05-Feb-2024 Technical discussions with developer 06-Mar-2024 Books 1-4 sampler PDFs generated for review 16-Mar-2024 Feedback given to developer with areas to address 01-Jun-2024 Technical discussions with developer 04-Aug-2024 Progress review with developer 17-Sep-2024 Progress review with developer 30-Sep-2024 Technical discussions with developer |
TCP/IP stack overhaul (Step 2 of 4) Opened 14-Mar-2018; Claimed Jan-2022 |
In progress |
24% |
25-Aug-2023 Changes to OmniClient 2.34 to remove COMPAT_INET4 31-Dec-2023 Technical discussions with developer 07-Feb-2024 Retired obsolete Xerox NS address family from Internet 5.67 and TCPIPLibs 5.78 17-Jul-2024 Technical discussions with developer 07-Aug-2024 Retire COMPAT_INET4 variants entirely from TCPIPLibs 5.79 |
TCP/IP stack overhaul (Step 3 of 4) Opened 13-Jun-2019; Part claimed Jan-2024 |
In progress |
28% |
09-Dec-2023 Proof of concept loading firmware scanning access points at MUG Christmas market 24-Feb-2024 Public display of WLanBWFM driver at South West show, suitable for any Pi model with onboard chipset 17-Mar-2024 Technical discussions with developer 05-Apr-2024 Technical discussions with developer 10-Apr-2024 Completed WLanBWFM driver received, in review 16-Apr-2024 Feedback given to developer 21-Apr-2024 Technical discussions with developer 16-May-2024 Updated WLanBWFM driver now available 20-Sep-2024 Minor bug fixes in WLanBWFM driver now available |
Toolbox reunification Opened 13-Jun-2019; Claimed Aug-2024 |
In progress |
9% |
29-Nov-2023 By mutual agreement the original developer has stepped down after 9% done 24-Aug-2024 Handover to new developer, taken off hold |
Update and debug USB stack (Step 2 of 2) Opened 19-Feb-2017; Part claimed Nov-2022 |
In progress |
10% |
12-Feb-2024 Beta EtherUSB with CDC-ECM support 15-Apr-2024 Beta EtherUSB with CDC-ECM support 17-Apr-2024 Changes to EtherUSB 0.43 with CDC-ECM support 29-Oct-2024 Handover to new developer, taken off hold 31-Oct-2024 Technical discussions with developer |
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 not going to fulfil the bounty’s objectives!
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). ROOL will firstly actively seek a suitable developer should the bounty have reached its indicative target (see caveats on how the target is calculated), this may not succeed within “a reasonable time” either, but deals with the possibility that a potential developer simply wasn’t aware of the opportunity. 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 payable to “RISC OS Open Ltd.” and post to:
RISC OS Open Ltd.c/o Watermill Accounting,
Future Business Centre,
Kings Hedges Road,
Cambridge, Cambridgeshire,
CB4 2HY, United Kingdom.
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), just drop an email to notify@riscosopen.org saying which bounty you’d like to contribute towards and we’ll send back the account number (or IBAN) to use.