Kendall Nelson and Ildiko Vancsa share thoughts on the secret sauce of contributions.

image
What’s the secret sauce to making successful contributions to open source projects?  Superuser gets the scoop from two OpenStack veterans on why it takes a village and the pleasure in tossing out old code.

Kendall Nelson, upstream developer advocate:

Contributing to, maintaining and using open source code is a tall order if you have no experience with the people that surround the project. To effectively do all three, you need to understand the community. There is a history and an etiquette you should know to effectively use the code and get the help you need if you hit a wall.  There is a structure and set of expectations the community has that is vital to becoming a member; however, once you are a member, contributions to code, bug fixes, documentation additions, etc.  are infinitely easier and quicker than if you had made no effort to join the community. OpenStack is like a family in that once you make a connection, people will have your back and you’re in for life.

Ildiko Vancsa, ecosystem team lead:

Maintaining open source code also means maintaining the team and community around it; always be open to new people, new perspectives and new ideas.
Invest time and effort into mentoring people joining your team and community; while you gain new members who understand the code and technology better, you will also refresh your knowledge and learn new things and viewpoints.
When you start contributing upstream it can be challenging to join a large and diverse community for the first time, but it also gives you invaluable experience and a lot to learn.
Don’t be afraid to make your voice heard, but never forget to listen to others either at the same time.
In an open source environment, communication skills are just as important as coding and technical knowledge, even if many don’t admit that.
I often hear from developers that they like deleting code. I think it’s very important in an open source project to remove the old code paths that are not used anymore and keep the code as clean as possible. It increases readability and maintainability and often more improvements come out of the process than the original plans outlined.

What tips you would add? Tweet @superuser or add in the comments below!

Superuser