Skip to content

DPG Contribution Readiness Framework

Shruti Agarwal edited this page Jan 31, 2024 · 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 categories- (1) Documentation & Code (2) Community Engagement and (3) Project Management
2 Each category has 5 points which are equally valuable, and levels within the category are awarded basis of completion of the number of points within a category
3 Implementing more sub-points within each category will help the product mature on the same, level up & enable quality contribution.
4 The overall level is the lowest level you have achieved within the 3 categories
5 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.

Evaluation Criteria

# Achievement Criteria (For a Category) Maturity Level
1 Achieved 1/5 criteria within a category Novice
2 Achieved 2/5 criteria(s) within a category Beginner
3 Achieved 3/5 criteria(s) within a category Intermediate
4 Achieved 4/5 criteria(s) within a category Advanced
5 Achieved 5/5 criteria(s) within a category Expert
DPG Contribution Readiness Framework
1 Documentation & Code Benchmark Examples
1.1 Detailed product & code documentation is available

(Product - Hardware, software, libraries, API references, tech skills | Code - tutorials, blogs, videos etc.)

Link
1.2 Product installation steps, description & vision are available as part of ReadMe Link
1.3 Maximum code coverage via comprehensive test cases is available

(It should run effectively via circle CI/GitHub actions etc)

Link
1.4 Readily accessible & functional sandbox environment exists

(via a publically available URL)

Link
1.5 Technical Architecture of the DPG is present with relevant details

( Architecture diagrams, technical specifications, APIs, algorithms, frameworks)

Link
2 Community Engagement
2.1 Planned use cases are listed as issues on the product repository Link
2.2 Good First Issues & contribution guidelines are listed

(contribution process, preferred workflow, coding conventions, testing process, submitting PRs)

Link
2.3 Active contribution management with timely response and closure

(Pull requests should be reviewed & closed within 1-2 weeks with timely feedback/guidance)

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

(e.g.: Discord, GitHub, Slack etc.)

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

(scrum calls, roadmap & feature discussions etc. conducted at monthly/quarterly intervals)

Link
3 Project Management
3.1 Use of open licenses to enable usage of relevant libraries & code re-use by adopters Link
3.2 Public project management boards (e.g.: JIRA, GitHub) & public assigning of tickets

(for internal & external team members)

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)

Link
3.4 Public product roadmaps at a defined interval made available

(Product goals, milestones, planned features etc.)

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

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

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