DPG Contribution Readiness Framework v1.0

Objective

For DPG Builders & Adopters

  • Evaluate the readiness of their products to receive high-quality open-source contribution.
  • Identify best practices to improve their Contribution Readiness Level.

For Open Source Contributors

  • Gauge the readiness level of different DPG products to receive quality contributions.

Guidelines for Understanding the Framework

  • The framework comprises three categories:
    • Documentation & Code
    • Community Engagement
    • Project Management
  • Each category has five criteria, equally valuable.
  • Levels within a category are assigned based on how many criteria are met.
  • The overall readiness level is the lowest level achieved across the three categories.
  • Details in brackets are suggested best practices but not mandatory and should be added as relevant.

Evaluation Criteria

Achievement Level Category Maturity
1 Novice
2 Beginner
3 Intermediate
4 Advanced
5 Expert

DPG Contribution Readiness Framework

Criteria Description Benchmark Examples
1. Documentation & Code
1.1 Detailed product & code documentation Product (hardware, software, libraries, APIs, tech skills) and code documentation (tutorials, blogs, videos, etc.) Link
1.2 ReadMe with installation & vision Product installation steps, description, and vision available in README Link
1.3 Comprehensive test coverage Maximum code coverage with test cases running via CI (GitHub Actions, CircleCI, etc.) Link
1.4 Sandbox environment Publicly accessible and functional sandbox/demo environment Link
1.5 Technical architecture documentation Architecture diagrams, technical specifications, APIs, algorithms, frameworks Link
2. Community Engagement
2.1 Planned use cases as issues Use cases listed as issues in the product repository Link
2.2 Good First Issues & guidelines Contribution process, workflow, coding conventions, testing, PR submission Link
2.3 Active contribution management PRs reviewed and closed within 1–2 weeks with timely feedback Link
2.4 Contributor communication channels Active channels such as Discord, GitHub Discussions, Slack, etc. Link
2.5 Community meetings & MOM Working group meetings/events with public Minutes of Meeting Link
3. Project Management
3.1 Open licenses Use of open licenses to enable reuse by adopters Link
3.2 Public project boards Public Jira/GitHub boards with ticket assignments Link
3.3 Defined issue taxonomy Proper labels, tags, headers (C4GT issue taxonomy) Link
3.4 Public product roadmaps Product goals, milestones, and planned features Link
3.5 Release management Versioning, release plans, changelogs, and upgrade instructions Link