Core Development Guide: Branching for Direct Contributions
Overview of Contributions
We welcome contributions from all community members, including both Core Development Teams (direct access) and Fork-Based Contribution Teams (forked workflow). Your participation is vital to the project's success. Here's how you can get involved:
- Code Contributions: Whether you're proposing new features or fixing bugs, please follow the detailed steps below to ensure your contributions align with our standards.
- Issue Reporting: If you discover bugs or have suggestions for improvement, open a GitHub issue. These reports drive continuous enhancement.
- Discussions and Ideas: We encourage open discussions on technical ideas, design proposals, and development challenges. Your insights shape the evolution of the platform.
Access Levels and Workflows
-
Core Development Teams (Direct Access): These contributors have write access to the main repository. They follow a structured Git Flow branching model and are responsible for maintaining shared platform components. See the Core Development Team Registration Process
-
Fork-Based Contribution Teams (External Workflow): These contributors do not have direct access. They develop via forks of the repository and submit their work through pull requests. This model supports deployment-specific customization and community-driven innovation. See the Fork-Based Contribution Guide for detailed instructions
Contributor License Agreement (CLA)
Before any code can be merged, you must sign the RDK Contributor License Agreement (CLA). This ensures legal clarity and freedom for the community to use your contributions. First-time contributors must complete this step before any merges can occur.
Getting Started with Git Collaboration
1. Clone the Repository
2. Set Up Git Flow
We use Git Flow to structure development:
3. Create a Feature Branch
Start from develop
and name your branch as feature/gh<issue-number>_<description>
:
Compliance Notice: All branches must align with naming conventions and be traceable to a GitHub issue. Non-compliant branches are subject to removal if not corrected within 30 days.
4. Implement Changes
Follow coding standards and document your changes thoroughly.
5. Commit Your Changes
Use the 50/72 rule:
Fix #123: Update error handling in authentication module
This commit enhances error detection and adds comprehensive logging to address frequent issues reported by users.
6. Push Changes
7. Open a Pull Request
Create a PR to the develop
branch. Review will be auto-assigned via CODEOWNERS
.
8. Merge the Pull Request
After approval:
9. Code Ownership and Releases
CODEOWNERS
ensure quality and manage release tagging:
Requirements for Contributions
- Use Git Flow correctly.
- Write clear commit messages.
- Undergo and complete peer reviews.
- Participate in open discussions.
By following these practices, you contribute to a robust and transparent open-source platform. We appreciate your involvement in building a high-quality, maintainable codebase.