Contribution to Open Source projects is an awesome experience and can be rewarding. Due to the enormous number of projects to choose from and the variety of its sizes and technologies, it might be overwhelming to just start the contribution. This time we’ll provide an overview of how to join them, as it’s worth it!
Ways to contribute
It might seem like contributing to the projects is all about writing code. Nothing could be more wrong – there are plenty of different ways to help in Open Source projects – from writing the documentation to designing the architecture. We’ll get to that, but first let’s discuss some general ways to contribute – you can either create your project or join an existing one. It might seem like there are already projects solving every problem. But despite the variety of existing projects, there are still plenty of problems to solve. Additionally, many of the solutions are commercial ones. An idea to start a new project doesn’t have to be something unique or innovative – it can be just a free replacement of a paid software. Designing a new Open Source project requires considering at least some of the basic questions:
- What problem(s) it solves?
- What skills are required?
- Who will use this solution?
If you decide to go with an existing project it’s important to find one that suits you the most. Think about the projects that seem interesting to you and that you would like to use you (or maybe already using). You don’t need to focus on what exactly you’ll be doing there – the selection of a proper project is more important. You can look for projects simply on the web, or even directly on the services like GitHub or Bitbucket. After finding an interesting project make sure that:
- The project meets the definition of Open Source (it has a license defined)
- The project is still actively maintained (your contribution to the project that is not active anymore might be pointless as it might never be responded)
- The maintainers’ approach is friendly (you can verify that by looking at how they respond to the pull requests or issues)
Each Open Source project should have some rules for the contribution – if you’re joining an existing one reading those should be the first step to participate. To keep things organized, the process of contribution is strictly documented. If you’re starting a new project you should gather some rules as well – it’s a good idea to take an example from already existing projects.
Types of contribution
As mentioned before, being a part of the Open Source project is much more than just writing code. As the project grows, different types of tasks have to be performed. The solutions are getting more complex and before those can be implemented a discussion on the forum or even special meetings might be required. Doing other tasks is a great way to get involved with the project – understand the needs, applied solutions, architecture, or meet other community members. Each project has it’s individual needs, and in many cases, things to do can be found on some issues board, but those are not the limits – any help is useful. As an example, you can:
- Read through the documentation to find typos, mistakes or needed improvements
- Test existing software manually or add some more tests to be executed regularly
- Review existing pull requests
- Discuss the architecture, design or any other improvements
- Suggest new features
- Improve the process of a contribution
- Write missing documentation or tutorials
- Add some translations
- Respond to existing issues
- Help with the organization of tasks
- Improve automation of setting up the project
- Dockerize the project environment
As you can see even without writing code there are still many things to do. While joining a new project it’s possible that after your submission, you won’t get a response for a while – it depends on how actively it’s maintained and how popular it is. If your contribution does not get any response for a long while, make sure that all the rules of a contribution are fulfilled. If so, do not hesitate to mention a user that could help you to proceed with the change (based on their activity). It’s also a common case that your changes are requested, so be prepared for some constructive criticism.
Recommended projects
SolDevelo has been involved with many Open Source projects for years. If you are looking for great projects to start your adventure with Open Source take a look at the projects below. We still are a part of those and any contribution is welcome.
OpenLMIS
Powerful cloud-based electronic logistics management information system (LMIS) purpose-built to manage health commodity supply chains.
OpenMRS
Software platform and a reference application which enables the design of a customized medical records system with no programming knowledge (although medical and systems analysis knowledge is required).
Benetech Service Net
Data exchange platform that makes it easier to share and maintain information on local social and human services.
Product Catalog Management Tool
Allows organizations to publish and manage product catalogs.
ODK Collect
Android app that replaces paper forms used in survey-based data gathering.
OpenIMIS – Insurance Claim Module
Interface to manage the complex processes used in health protection schemes.
Article was originally published at: https://www.blog.soldevelo.com/how-to-become-a-part-of-an-open-source-project/