Involving software engineers in shaping the future of Clean ABAP and the Style Guide repository
Evolving the contribution and governance model to make better and faster decisions
The latest blog on clean code has more than 140k views and shows how relevant the topic is. As the style guide project grows and evolves, Florian Hoffmann and myself have realized some time ago that we can no longer lead it effectively in the founder-lead way. Therefore, there is the need to share responsibilities and authority with other contributors and maintainers who have proven their dedication and expertise. And we need to establish a more formal and transparent governance process that allows for more participation and feedback from our diverse and distributed community.
The contribution and governance model has been evolved to be able to come up with decisions in a more effective way. Based on the improved model 9 pull request have been closed and 13 issues have been closed in the last month.
Open source projects are collaborative efforts that rely on the contributions of their users and community members. However, not every contribution can be accepted or merged into the project without some rules and processes that guide the decision-making and quality control. These rules and processes are part of the project’s governance model, which defines who has the authority to do what and how they are supposed to do it.
Open Source Contribution and Governance
This chapters is applicable to all Open Source kinds of Open Source projects. The Style Guide repository is different to other open source repository, since it is focused on aligned good practices and not about code.
Why is a clear contribution and governance process important
A clear contribution and governance process is important for a successful OpenSource project for several reasons:
- It helps newcomers to understand how to participate and seek approval for their contributions. Some projects have explicit and formal governance models, such as self-appointing councils, electoral boards, corporate-backed or foundation-backed structures. Others have implicit and informal governance models, such as do-ocracies or founder-leaders. In either case, having a clear and documented contribution and governance process can lower the barriers to entry and increase the diversity and inclusivity of the project.
- It helps maintainers to manage the project effectively and efficiently. A clear contribution and governance process can streamline the workflow of reviewing, testing, merging, and releasing. It can also help avoid conflicts, confusion, or bottlenecks among contributors and maintainers. A clear contribution and governance process can also establish a shared vision and direction for the project, as well as a way to resolve disputes or disagreements.
- It helps users to trust the quality and reliability of the project. A clear contribution and governance process can ensure that the project follows certain standards and best practices, such as coding style, documentation, testing, security, licensing, etc. It can also help communicate the status and roadmap of the project to its users and stakeholders. A clear contribution and governance process can also foster a sense of community and ownership among the contributors and users of the project.
Therefore, a clear contribution and governance process is essential for any OpenSource project that aims to grow, thrive, and deliver value to its users and community.
What are typical challenges of founder-lead OpenSource model?
Some reasons to evolve to a more formal model from a founder-leader model are:
- As the project grows in size and complexity, the founder-leader may not be able to handle all the administrative, technical, and strategic tasks by themselves. They may need to delegate some of their responsibilities and authority to other contributors or maintainers.
- As the project attracts more diverse and distributed contributors and users, the founder-leader may not be able to represent or communicate with all of them effectively. They may need to establish a more transparent and inclusive governance process that allows for more participation and feedback from the community.
- As the project faces more challenges and opportunities, the founder-leader may not be able to make all the decisions by themselves. They may need to consult with other experts or stakeholders, or even allow for some degree of democracy or consensus in the decision-making process.
- As the project matures and stabilizes, the founder-leader may want to step back or move on to other ventures. They may need to ensure that the project has a clear succession plan and a sustainable governance model that can continue without their involvement.
Therefore, evolving to a more formal model from a founder-leader model can help the project scale, adapt, and thrive in the long term. To support this model we have built up a larger group of moderators and a dedicated board of decision makers with diverse background and aggregated experience of more than 100 years of software engineering with ABAP.
How to make contributions to Clean ABAP and the Style Guide repository
You can find the detailed guide for making contributions in the CONTRIBUTING.md. The detailed process for preparing and making decisions is an optional read for contributors and can be found in the GOVERNANCE.md.
What has already been achieved with the new governance model?
The Style Guide repository is different from other open-source repositories because it is focused on aligned good practices and not about code. Ensuring rules are based on a shared understanding and oriented towards Agile Software Engineering principles requires more alignment compared to typical OpenSource projects. With this in mind the contribution and governance model has been evolved to be able to come up with decisions in a more effective way. Based on the improved model 9 pull request have been closed and 13 issues have been closed in the last month.
Clean Code: Writing maintainable, readable and testable code: The blog provides an overview about the motivation, principles and related activities.