Bounty Procedures

Versie door Pveverdingen (overleg | bijdragen) op 24 nov 2022 om 09:17 (Procedure 1: Placing a new bounty-issue)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)

This page explains how organizations can place a pldn-bounty on LDWizard GitHub issues and how developers can become involved in solving a bount-issue under the guidance of the gatekeeper for the LDWizardDe LDWizard is open source software, waarmee in 3 stappen, in een gebruiksvriendelijke user interface, tabulaire brondata omgezet kan worden naar linked data en ook direct gepubliceerd kan worden als linked data. Er bestaan meerdere varianten van de LDWizard, die specifiek voor een werkdomein zijn geconfigureerd met gebruikmaking van de voor dat werkdomein relevante vocabulaires (zoals de Erfgoed Wizard, de Biolink Wizard, de Humanities and Social Sciences Wizard, de Geodata Wizard en de Clariah Wizard). development and maintenance activities.

Introduction

Types of issues

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

Type Description
Normal issue Normal issue on GitHubPowerful collaboration, code review, and code management for open source and private projects. that is solved by developers on a voluntary basis (not in scope of the bounty procedures)
Bounty issue Special issue on GitHubPowerful collaboration, code review, and code management for open source and private projects., 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

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

Role Responsibilities
PLDNPlatform Linked Data Nederland (PLDN) Maintains the bounty-issues list and communicates with the organizations, developers and the gatekeeper
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

Possible amounts for bounty-issues range from e.g. € 250,- for small bounty-issues of low difficulty to € 500,- for bounty-issues of medium difficulty to € 1250,- or € 2000,- 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.

Procedures

Procedure 1: Placing a new bounty-issue

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

Step Description
1 An organization sends and e-mail to PLDN to place a new bounty on a GitHub issue
2 PLDN and the organization agree upon the bounty scope, the bounty issue description, the bounty amount and the desirable timeframe to solve the bounty-issue
3 The organization pays the bounty amount to PLDNPlatform Linked Data Nederland (PLDN)
4 PLDN creates/updates the issue description where needed and labels the issue on GitHubPowerful collaboration, code review, and code management for open source and private projects. 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

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

Step Description
1 A developer sends an e-mail to 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 that has placed the bounty 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 LDWizardDe LDWizard is open source software, waarmee in 3 stappen, in een gebruiksvriendelijke user interface, tabulaire brondata omgezet kan worden naar linked data en ook direct gepubliceerd kan worden als linked data. Er bestaan meerdere varianten van de LDWizard, die specifiek voor een werkdomein zijn geconfigureerd met gebruikmaking van de voor dat werkdomein relevante vocabulaires (zoals de Erfgoed Wizard, de Biolink Wizard, de Humanities and Social Sciences Wizard, de Geodata Wizard en de Clariah Wizard). codebase on GitHubPowerful collaboration, code review, and code management for open source and private projects.
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 amount to the developer

Procedure 3: The escape route

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.