Skip to content

DPG Contribution Readiness Framework

bhavyaberlia edited this page Jul 19, 2023 · 6 revisions

DPG Contribution Readiness Framework v1.0

Objective
1 For DPG Builders & Adopters

- Evaluate the readiness of their products to receive high-quality open-source contribution

- Identify best practices that can be incorporated to improve their Contribution Readiness Level.

2 For Open Source Contributors

- Gauge the readiness level of different DPG products to receive quality contribution.

Guidelines for understanding the Framework
1 The framework comprises 3 independent categories- (1) Documentation & Code (2) Community Engagement and (3) project management
2 Within each category, the product could be at beginner, intermediate or advanced level. Each sub-point defined for a given level needs to be complied with for the DPG to be considered on that level
3 Implementing more sub-points within each category will help the product mature on the same & get a quality contribution. A higher level across the three categories will help make the product more likely to receive high quality, high volume and sustained open-source contributions.
4 The information listed in brackets under each sup-point is prescriptive and not mandatory. These details should be added depending on their relevance to the DPG.
DPG Contribution Readiness Framework
# Category / Levels Beginner Intermediate Advance Benchmark Examples
1 Documentation & Code Level 1 Level 2 Level 3
1.1 Product ReadMe documentation available with basic details

(Product description and vision)

Yes Yes Yes Link
1.2 Product set-up documentation is available with the following details

(Hardware, software, libraries, tools, API references, tech skills and product installation steps)

Yes Yes Yes Link
1.3 The detailed functional and technical architecture of the DPG is available

(Functional - use-case PRDs, impact envisioned | Technical - diagrams, technical specifications, APIs, algorithms, frameworks)

Yes Yes Link
1.4 Ensuring code quality via CI/CD and proper comments within the code Yes Yes Link
1.5 Code Documentation with code coverage present

(Test cases exist & run effectively via circle CI/GitHub actions etc)

Yes Link
# Category / Levels Beginner Intermediate Advance Benchmark Examples
2 Community Engagement Level 1 Level 2 Level 3
2.1 Good First Issues listed, updated & reviewed periodically

(GFI pull requests should be reviewed & closed within 1-2 weeks)

Yes Yes Yes Link
2.2 A channel/forum for active communication with contributors should exist

(eg: Discord, GitHub, Slack etc )

Yes Yes Yes Link
2.3 Detailed community engagement guidelines & code of conduct for contributors available publically

(process to contribute, preferred workflow, coding conventions, testing procedures, submitting a PR etc)

Yes Yes Link
2.4 Active issue management with timely response and closure to enable contributors

(Timely feedback, guidance, query responses & closure)

Yes Yes Link
2.5 Working Group Meetings/Events with the community with MOM for public access

(scrum calls, roadmap & feature discussions etc)

Yes Link
# Category / Levels Beginner Intermediate Advance Benchmark Examples
3 Project Management Level 1 Level 2 Level 3
3.1 Public project management boards (Eg: JIRA, GitHub) & public assigning of tickets (for internal & external team members) Yes Yes Yes Link
3.2 Use open licenses to enable contributors to use the relevant libraries/software & allow for code re-use by adopters Yes Yes Yes Link
3.3 Issue tickets are being created as per a defined ticket taxonomy

(proper labels, tags & headers to exists | C4GT issue ticket taxonomy can be referred)

Yes Yes Link
3.4 Public product roadmaps at a defined interval made available

(Product goals,milestones, planned features etc)

Yes Link
3.5 Public release management to ensure a smooth transition between versions

(sharing versioning, release plans, changelogs, upgrade instructions etc)

Yes Link

Steps to Submit the Project

Step 1 : Install the C4GT GitHub App - Please install this GitHub App in your product repositories so that we can access your repositories and track the C4GT tickets to make it automatically discoverable for the contributors.

Step 2 : Format existing/create new issue tickets - Use this COMMUNITY issue template Or DMP issue template to update existing or create new tickets that you want listed in the C4GT Community And DMP. The consistency of this template will improve the experience of the contributors to explore and comprehend your tickets. Note - For all tickets that are being updated/added as per the format. Please create a label called C4GT Community or DMP 2026 and tag all tickets with that label. This is key to making the tickets automatically discoverable.

Dedicated Mentoring Program

C4GT Contribution Sprints

C4GT Bounty projects

Open Community Projects

Augtoberfest

Standards and Frameworks

Clone this wiki locally