Bounty Procedures

This page explains how organizations can place a pldn-bounty on a GitHub issue in one of the PLDN GitHub repositories (e.g. in the LDWizard repository) and how developers can become involved in solving a bount-issue under the guidance of a gatekeeper for a linked data tool.

Introduction[bewerken]

Types of issues[bewerken]

The following table gives an overview of the types of Github issues that we can have:

Type Description
Normal issue Normal issue on GitHub that is solved by developers on a voluntary basis (not in scope of the bounty procedures)
Bounty issue Special issue on GitHub, labeled as pldn-bounty, for which an organization has placed a bounty for the developer that solves the issue within the desired timeframe

Roles involved in the bounty procedures[bewerken]

The following table gives an overview of the roles that can be involved in the bounty procedures:

Role Responsibilities
PLDN Maintains the bounty-issues list and communicates with the organizations, developers and gatekeepers
Organization Places bounties on GitHub issues and approves/rejects the bounty-issue solution once available
Developer Solves a bounty-issue within the desired timeframe under the guidance of the gatekeeper (where needed)
Gatekeeper Guides and monitors developer activities on all issues and approves/rejects the issue solutions and effectuates issue solutions (after all necessary approvals)

Possible bounty amounts[bewerken]

Possible amounts for bounty-issues range from e.g. € 272,- for small bounty-issues of low difficulty to € 544,- for bounty-issues of medium difficulty to € 1088,- or € 1632,- for bounty-issues of high difficulty. And also bounty-issue priority can be a reason to choose for a higher bounty amount.

There is no upper limit to a bounty amount. An organization can propose any amount they would like to offer to get a bounty-issue solved. PLDN discusses with the organization that wants to place the bounty what the most-appropriate bounty amount is for a bounty-issue and includes this amount in the bounty description. The proposed bounty amounts are based on the amounts that are currently used in the Comunica Bounty Program.

Procedures[bewerken]

Procedure 1: Placing a new bounty-issue[bewerken]

Organizations interested in placing a bounty must follow the this procedure:

Step Description
1 An organization mails PLDN to place a new bounty on a GitHub issue
2 PLDN and the organization agree upon the bounty amount and the desirable timeframe to solve the bounty-issue
3 The organization pays the bounty amount to PLDN
4 PLDN labels the issue on GitHub with a pldn-bounty label
5 PLDN adds the new bounty-issue with its bounty details on the bounty-issues list on the PLDN website
6 PLDN announces the new bounty-issue within her developer network

Procedure 2: Solving a bounty-issue[bewerken]

Developers that are interested in solving bounty-issues must follow this procedure:

Step Description
1 A developer mails PLDN to say that he/she/ze would like to solve a bounty-issue
2 PLDN checks whether the developer experience is a good match with the issue difficulty and checks with the developer if the bounty-issue can be solved within the desirable timeframe
3 PLDN assigns the qualified developer to the bounty-issue on the bounty-issues list (if step 2 is positive)
4 The developer starts working on solving the bounty-issue and submits his/her/zers issue solution to the gatekeeper for review onces it is available review (and when needed, the developer can ask the gatekeeper for help when needed if he/she/ze needs some more guidance for a certain part of the solution he/she/ze is working on)
5 The gatekeeper approves/rejects the issue solution and gives feedback to the developer on how to fix the issue-solution to meet the required quality standards or puts the development activities on hold when the issue-solution is not expected to meet the quality standards
6 PLDN sends the bounty-issue solution to the organization for final approval
7 The gatekeeper closes the bounty-issue on Github when all requirements are met and merges and effectuates the solution in the code base on GitHub
8 PLDN updates the bounty-issues list to highlight that the bounty-issue is closed and moves the bounty-issue to the closed bounty-issues list
9 PLDN pays the bounty to the developer

Procedure 3: The escape route[bewerken]

In cases where bounty-issues can't be solved within the desired timeframe (e.g. 6 months), then we will investigate alternative financing options to get the issue solved via an alternative route. But, in general, we would like to get more developers involved in the development and maintenance activities of lightweight linked data tools and that they can receive bounties for the bounty-issues that they solve for us.