The process of writing up a patch, testing it, pushing it to the community and getting it merged is not a simple one.
There are many pitfalls that stand between git clone, the “Welcome new contributor” message and the “Your patch has been successfully merged to the repository” message that often stop contributors in their tracks and leave repositories strewn with dead and abandoned patches. While this path is well known and more easily navigated by those who have been contributing code for some time, it is less publicized to those who deploy OpenStack.
Managing expectations is key to contribution
The inaugural OpenStack Day France debuted the presentation “Managing Expectations: The Real Workflow of OpenStack” in which attendees less versed in the ins and outs of what it means to implement a feature in OpenStack learned about the process from more experienced contributors. They gained insight into the real process of developing a feature from inception to deployment and why that process, while at times frustrating, yields better quality implementations.
What companies need to know is that there needs to be some management of expectations when asking the community for new features. This can seem like a drawback, but the diversity of the community ensures a higher quality and better tested feature than if your team had done it in-house. Managing expectations is important to the success of any company that wants to be a part of an open source community like OpenStack. It’s not possible to rush the process and it’s crucial to remember that the community adds a lot of variables along with many benefits.
Understanding how to actually contribute is only part of the puzzle, which isn’t clear to those new to the community. It’s vital to make this barrier to entry as low as possible so they can focus on the other challenges that come with working on OpenStack. For this reason, education like the Upstream Training sessions and documentation become especially important. Once people know about the tools and resources they have to push code or documentation, they can focus on being a member of the community which will make it easier to get the features they wanted merged.
Attendees received advice on how to make the contribution process go more smoothly once they are familiar with the process and the tools to contribute. They learned about what it means to be an active member of the community, the baby steps they can take to establish themselves, that everyone has an opinion and it’s important to not take things personally and that setting expectations with management is just as important as being able to work with others.
I hope to give this presentation again and continue to make OpenStack and better place for new and veteran contributors alike. If you want to hear more about this presentation or want to know if it is being given again, I’m available on IRC (nick: diablo_rojo) or by email ([email protected]).