Participation in Open Source Software
This section describes the use case of participating in open source projects as a company. He thus addresses the second maturity level.
- Opportunities of Participating in Open-Source Development
- Possible Organizational Challenges
- Types of Participation
Opportunities of Participating in Open-Source Development
By participating in open-source projects, you actively influence their development. This may be done by providing code segments that functionally extend the application, but it may also be something much simpler, such as creating an issue describing an error scenario or contributing documentation or tests. A large proportion of open-source ABAP projects are maintained in the contributors’ spare time, and maintainers are generally pleased about any kind of participation. The barrier to entry is therefore relatively low.
Your participation also brings several advantages. By contributing to such external projects, you inevitably come into contact with other technological challenges, libraries, and frameworks, allowing you to further develop your own skills. If you contribute code, it will be subjected to a code review, through which you receive feedback that you can incorporate into your work. You can also participate in an open-source project by testing and reviewing pull requests, thereby gradually becoming familiar with the code base.
Possible Organizational Challenges
Participation of this kind is generally possible in personal time, which is how many open-source maintainers contribute to their projects. The situation is different during working hours. If your company wants to invest in the maintenance and further development of open-source projects that it may also use itself, appropriate guidelines should be in place to provide orientation for the respective employee. In addition to questions regarding working time, licensing and copyright issues must also be clarified.
Types of Participation
Participation can take place in many different ways.
- Opening issues
The easiest way to get involved is to report bugs or submit feature requests. The vast majority of open source projects offer a tracker in which issues can be recorded and discussed with the community. If necessary, you can also offer to solve the problem yourself and submit a pull request. Make sure that your issues are well formulated and represent the problem in a reproducible way. If necessary, the project provides a template for structuring the issue. - Addition of documentation and tests
Most open source projects include documentation on how to use the software and contribute to its development. As a user who has used the documentation to set it up himself, it is easy to close gaps and improve the documentation. In addition, there are often automated software tests that can be supplemented with additional test cases. In both cases, the actual coding is not yet touched, but the project itself is increasingly improved. - Performing bug fixes
To actually get into the codebase, you can edit simple issues. Some open source projects offer issues with the labelgood-first-issuefor exactly this use case, which are particularly suitable for getting started. Please pay particular attention to the contribution guidelines of the respective project when making coding changes. A useful extension is often the addition of a unit test to prevent the problem from recurring in the future. - Addition of new features
The most comprehensive option to participate is to contribute your own features. In this case, you add new functionality to the open source project. You can already do this internally, independently of the project - but you should also make your extensions available in the project so that others can also benefit from them. Always create an issue first to discuss your desired extension with the maintainers and the community and to coordinate a possible implementation approach. Here too, the contribution guidelines are very important. You can then propose the extensions and respond to code reviews via a pull request.