Diving Into Open Source. Tips and tricks for becoming an Open… | by Rebecca Sealfon | Mar, 2022

Photo by Tarikul Raana on Unsplash
Use GitHub Explorer to search for projects.
Use GitHub Explorer to search for projects. Screenshot from Serghei Iakovlev.
Programming languages ​​used in MongoDB, from its GitHub repository.
Programming languages ​​used in MongoDB, from its GitHub repository. Screenshot by Rebecca Sealfon.
  • Building a new feature. This might be one of the first things people think about when listing ways to contribute to the project. Especially if the feature catches on, it is also one of the best ways being involved with an open-source project can improve your credentials. However, it is not always the best approach for any given contributor. Adding a new, completed feature requires you to thoroughly understand the project’s priorities, so you can be working on one that matters to the project as a whole. It also requires you to write thorough code, tests, and documentation, as well as understand any interfaces well enough to keep them easy to use.
  • Reporting bugs. This is the easiest way to participate in the project, as one need not be a developer. It is also one of the most important tasks. Simply download and install the software, start using it, and note any bugs. Then, if these bugs have not already been reported as issues, create new issues that these bugs exist. This will alert developers that the bugs need to be fixed.
  • Answering questions. Sometimes, issues are used not to report bugs but to ask questions. Open issues may be used as a forum where people ask and answer questions, such as “How do I use this feature”?
  • Creating documentation. This also does not necessarily require programming knowledge, although it requires good writing skills. Go through the documentation of the project and see what is missing or needs to be improved. Then try to fill in the gaps. Often, for example, the License file has misleading or irrelevant information. The License file should contain registration information that allows a registered user to open and access a piece of software.
  • Translating documentation, programs, and interfaces into different languages. Many projects use translation services, such as translation systems based on web services or the gettext-compiled MO files. You can also translate into a foreign language that would help expand the project’s userbase or programmer community.
  • Starting discussions and making suggestions. If you have an idea of ​​how to improve the software, such as adding new features or changing old ones, you can create a new issue or share your thoughts on an existing open issue to make it into a discussion. You can also provide feedback on others’ ideas. A project that has a discussions section is unlikely to accept open issues unless you first participate in the discussion.
  • Adding tests. Many projects have features that are missing the unit and other tests.
  • Improving infrastructure. Many projects face infrastructure issues such as continuous integration and continuous delivery (CI/CD), or developing a website or a landing page. You can contribute to these. Improving configurations, in fact, can be a good first contribution to the project.
  • Resolving existing open issues. This often, but not always, requires programming knowledge. For example, some issues may involve fixing or improving documentation, and many involve writing code. Simply go through the list of issues and find ones you would like to help resolve. Sometimes, issues are duplicated and you can dedupe. Sometimes, there is a discussion on the issue ticket where you can participate.
  • Suggesting issue labels. If the project does not have issue labels, you might want to suggest a labeling system.
  • Evangelism. You can spread the word about the software on social media and tell your audience how the software works, what issues it helps solve, and why it is preferable to others. This is an important way of growing the community around the software project.
Photo by an_vision on Unsplash

Leave a Comment