“Communities are mostly about people, not only code, so there is an element of match-making personalities and styles involved.”


This post is part of the Women of Open Infrastructure series to spotlighting the women in various roles in the community who have helped make the Open Infrastructure successful. With each post, we learn more about each woman’s involvement in the community and how they see the future of Open Infrastructure taking shape. If you’re interested in being featured or would like to nominate someone to tell their stories, please email [email protected].

This time we’re talking to Melanie Witt from the OpenStack Nova project. She tells Superuser about how she became an active contributor in the community and her best practices on stay on top of things in the fast-moving open source industry.

What’s your role (roles) in the Open Infrastructure community?

I am a core reviewer in the OpenStack Nova project. I also served as Nova Project Team Lead (PTL) for the Rocky and Stein release cycles.

What obstacles do you think women face when getting involved in the Open Infrastructure community?   

For me, I think the primary obstacle I faced when I was first getting involved in the community was being different than most everyone else. Questions like, “will they accept me?” or “do I belong here?” came to my mind. I think I started off too shy because of this.

The community documentation made it easy for me to get started and before I knew it, I was proposing patches, filing and triaging bugs, and chatting on IRC with members of the community. Everyone was (and still is, eight years later) so welcoming and willing to help me. I love this community and am still so happy I joined. The only thing I would change is I would have started off less shy.

Why do you think it’s important for women to get involved with open source?

I think it’s important for everyone to get involved with open source. Open source software is such a unique model where a large community of contributors works together on software we all share. Each contribution is multiplied not only to a single company’s product or customers but to everyone in the world who uses that same open source software. It’s like “distributed software.” We have so many improvements constantly flowing into the software from different people and organizations that it can get difficult to keep track of all of them (in a good way!).

Open source is so important and impactful that I think everyone who is interested in getting involved should absolutely get involved. You might hesitate and wonder whether it’s for you if you are different, but I encourage everyone to give it a try. It can be very rewarding.

Efforts have been made to get women involved in open source, what are some initiatives that have worked and why?

I think the most important thing is general community encouragement. When someone asks a question in an IRC channel or when they propose a patch, file a bug, post to the mailing list, having a community that responds with friendliness, helpfulness, and actionable guidance makes all the difference, in my opinion. When someone reaches out to make a contribution, they’ve put themselves out there to a new community. It’s important to help them learn the ropes and by doing that you also let them know you appreciate their contribution. When people know their contributions are appreciated, they are more likely to return and make more contributions. Keep it going and eventually, they will hold positions in the community like core reviewer, PTL, Technical Committee (TC) member, etc.

Community documentation is the second most important thing, in my opinion. This will be the first thing that prospective contributors see and interact with, so it’s important that it be clear, concise, and easy to consume as a layperson. All of us had to start somewhere and the easier it is to understand the documentation as a new person who doesn’t know anything yet, the more likely we are to obtain new contributors. It’s hard to make that first step to get involved when you have no clue what anything is or how to use it.

Open source moves very quickly. How do you stay on top of things and what resources have been important for you during this process?

I do a lot of things to stay up to speed. First, I have a separate email address for open source work and I set up email filters for Gerrit notifications, launchpad bugs, and mailing lists. This helps me to find highlights in each area: of code reviews|bugs|community discussion mailing list quickly. Next, I try to attend community meetings on IRC and if I can’t attend, I read the recorded meeting log created by the channel meetbot. I have my IRC client set up with a ZNC bouncer and receive notifications when my IRC nick is mentioned. I review these at the start of each workday and respond to items related to me.

By doing these things, I’m able to have at least a high-level idea of what’s going on even when I’m more occupied with downstream work. During the busiest of downstream times, I spend at least 15 minutes a day reviewing the code review|bug|community mailing list email filter folders just so I have an idea what’s been going on.

The last thing I’ll mention might sound obvious, but another thing to do is to let people know when you’re interested in something. If you’re interested in a feature or a bug fix, chime in on the review or the bug or  IRC. When people know others are interested, they’re more mindful about communicating updates and will likely keep you in the loop directly.

What advice would you give to a woman considering a career in open source? What do you wish you had known?

I would say, give it a try! Each open source community is different and it’s important to know that you can find the right community that is a good match for you. Not everyone finds the same fit in the same communities. I would advise not to give up on a career in open source if the first community you tried was not a good match. Communities are mostly about people, not only code, so there is an element of match-making personalities and styles involved.

I think the number one thing I wish I had known a long time ago is how rewarding it is to take risks. I’m actually thinking more about small risks, like asking questions, jumping into a code review|bug report|community mailing list post that you weren’t previously involved with, asking for advice, and proposing an idea or patch and potentially being wrong or having people not like your idea. Lots of these things can feel like embarrassments or failures but I’ve learned over the years that these are things that make you part of a community and team. You might feel embarrassed but what others see is that you are engaged and motivated to solve problems. That you are someone they might want to ask to weigh in on something later or you might be someone to go to for questions on that topic.

Push yourself to ask questions and share thoughts on code reviews, even if they are not perfect. Oftentimes, an imperfect question or comment will build a little bridge for someone else to catch a problem in a patch or see a way to improve a patch. This helps build your relationship with the community as people get to know your contributions and get more chances to appreciate them.

Taking risks is hard but I think it’s really worth it. I’d say it’s even essential. Otherwise, you stay “distant” in the community, to some degree. So, please take risks. I have been in the community for many years and I am still pushing myself to take risks.