Contributing to Open Source Milvus: A Beginner’s Guide
Open source software (OSS) is all about collaboration. Many open source projects are started by individual developers or organizations but the real power of OSS comes from its community of contributors. These contributors can be developers, testers, writers or designers who work together to make the project better. But managing contributions from a large and diverse group requires an efficient and transparent process. Let’s see how ongoing community contributions are reviewed and merged into the open source project.
Core Team and Maintainers
Every open source project has a core group of maintainers or a team of lead developers. These maintainers determine the direction of the project, review contributions, ensure code quality and make key decisions. They are the gatekeepers who decide which contributions are accepted and merged into the main codebase.
Maintainers also manage the community by creating an inclusive and welcoming environment. They set the rules and guidelines for contributing, often documented in a CONTRIBUTING.md
file or similar in the project’s repository.
The Open Source Software Development Process: Contribution Review and Integration
In open source projects, community contributions are good for growth, and ensuring quality and alignment with the project’s goals requires a structured review process. Here's how contributions are reviewed and integrated:
Issue Tracking and DiscussionContributors typically start by identifying bugs or proposing features through platforms like GitHub Issues. Maintainers and other developers discuss the best approach before any code is written.
Submitting Pull Requests (PRs)Contributors submit a pull request with their code changes, explaining what they’ve done and linking to any relevant issues. PRs are the main channel for introducing changes, whether for bug fixes, new features, or improvements.
Code ReviewMaintainers and community members review the PR, checking for functionality, code quality, and adherence to the project’s guidelines. This review ensures the contribution aligns with project standards and doesn’t introduce bugs or security vulnerabilities.
Feedback and IterationIf changes are needed, reviewers provide feedback, and contributors revise their PR accordingly. This cycle may repeat several times to refine the code.
Automated TestingContinuous integration (CI) tools automatically run tests on the PR to catch any issues early. Only when the code passes all tests is it considered for merging.
Merging and ReleaseOnce the PR is approved and tests are successful, the maintainer merges the contribution into the main branch. The new code is now part of the project and will be included in the next release.
This review and testing process ensures that community contributions maintain the project's quality and reliability, while also fostering collaboration and improvement.
How to Submit a Pull Request to an Open Source Repository on GitHub
GitHub is one of the most popular platforms for hosting open source projects. If you’re new to contributing to open source, submitting your first pull request (PR) can be an exciting experience. Here’s a step-by-step guide to help you navigate the process.
Step 1: Fork the Repository
The first step in contributing to a project is forking the repository. A fork is your own copy of the repository where you can freely make changes without affecting the original project.
Go to the project’s GitHub page and click the Fork button at the top right of the page.
This will create a copy of the repository under your GitHub account, allowing you to make changes without impacting the original codebase.
Step 2: Clone the Forked Repository
Next, you’ll want to clone your forked repository to your local machine so you can work on it.
In your forked repository on GitHub, click the Code button and copy the HTTPS or SSH link.
Open your terminal and run the following command to clone the repository:
git clone <repository-url>
This will download the project to your local machine.
Step 3: Create a New Branch
It’s good practice to create a new branch for every feature or bug fix you’re working on. This keeps your changes organized and separated from the main branch (usually main
or master
).
Navigate to the repository’s folder:
cd <repository-folder>
Create and switch to a new branch:
git checkout -b <new-branch-name>
Step 4: Make Your Changes
Now, you’re ready to make changes to the code. This could involve fixing bugs, adding new features, or improving documentation.
Open the files in your preferred code editor and implement the changes you want to make.
After making changes, you can verify your work locally by running tests or checking the application’s functionality.
Step 5: Commit Your Changes
Once you’ve made and tested your changes, commit them to your local repository.
Stage your changes:
git add .
Commit your changes with a descriptive message:
git commit -m "Description of the changes made"
Step 6: Push the Changes to GitHub
Next, push your changes to your forked repository on GitHub.
Push the changes to the new branch you created:
git push origin <new-branch-name>
Step 7: Create a Pull Request
Now that your changes are pushed to your GitHub fork, it’s time to create a pull request (PR) to merge them into the original repository.
Go to your forked repository on GitHub and you should see a notification suggesting you create a PR.
Click the Compare & Pull Request button.
In the PR form, provide a clear title and detailed description of the changes you’ve made. You may also need to select the branch of the original repository you want to merge into.
Submit the pull request by clicking the Create Pull Request button.
Step 8: Collaborate and Make Revisions
Once you’ve submitted your pull request, the project maintainers will review your changes. They might ask for revisions or suggest improvements. Be prepared to make additional commits to address any feedback.
- You can update the pull request by pushing new changes to the same branch on your forked repository. The PR will automatically update with your new changes.
Step 9: Merge and Celebrate!
Once your PR is reviewed and approved, it will be merged into the original project’s codebase. Congratulations—you’ve officially contributed to an open source project!
Conclusion
Contributing to open source software is a rewarding way to improve your programming skills, collaborate with others, and give back to the development community. Whether you’re fixing bugs or introducing new features, your contributions can have a lasting impact. Understanding the OSS development process and knowing how to submit a pull request on GitHub are essential skills for any developer looking to make their mark in the open source world. So go ahead, find a project you’re passionate about, and start contributing!
- Core Team and Maintainers
- The Open Source Software Development Process: Contribution Review and Integration
- How to Submit a Pull Request to an Open Source Repository on GitHub
- Conclusion
Content
Start Free, Scale Easily
Try the fully-managed vector database built for your GenAI applications.
Try Zilliz Cloud for Free