As a passionate open source advocate, I’m always looking for more ways to get more people involved. Of particular interest to me is getting more girls and women involved, so we can strengthen diversity in our communities and give them the fantastic opportunities in their hobbies and career that many contributors to open source have today.
Getting started with contributing to open source can be tricky, so the following is a list of suggestions I have as a women in the community for other women and girls out there to make it easier.
Tips for women
1. Get involved with a supportive organization.
One of the things that was key to my involvement early on and later success was being involved with an organization that supported my goals. In my case that organization was LinuxChix.org (http://www.linuxchix.org/) and I ended up running a chapter called PhillyChix (http://www.phillychix.org/) in Philadelphia for several years. I’ve also been part of Systers (http://anitaborg.org/get-involved/systers/) for some time.
These organizations helped me find other women who shared my interests. On a personal level this helped me feel more confident and less alone when I went to the routinely male-dominated events like Linux User Group meetings and conferences. Professionally, I found that women who network with each other on these lists frequently bring opportunities to the communities which we wouldn’t otherwise be exposed to, from speaking engagements to job postings. They often also have a private space to sanity-check experiences and feelings you’re having as a minority in a technical community. Not sure if someone is treating you differently because you’re a woman? Not sure how to react to a certain situation you’ve found yourself in? You have a space to talk about it.
Many open source projects also have groups to support and encourage women in their communities:
- Debian Women: https://www.debian.org/women/
- Ubuntu Women: http://wiki.ubuntu-women.org/
- KDE Women: https://community.kde.org/KDE_Women
- Womoz: http://www.womoz.org/
- PyLadies: http://www.pyladies.com/
These are project or language specific groups that largely have public mailing lists and aim to work as a project to increase the participation of women. All of these organizations have support from key members in the broader project and often have participants of all genders working on recruitment and retention of female contributors. They can often give you tips about where to start if you provide your skills and interests, and help you along the way as you work in the community.
Looking for more? A great list of organizations are on the Geek Feminism wiki: http://geekfeminism.wikia.com/wiki/List_of_women_groups_in_technology
2. Find a supportive peer or mentor
Another key for me was making friends with people in the open source space that I wanted to be in. I spent time in the Philadelphia Linux community and made friends and colleagues who supported me early on, from my career goals to defending me as a knowledgeable member of the community to newcomers who were surprised to see a woman in the community. They also helped me get involved with projects I was interested in, with the help of the local Ubuntu community in Pennsylvania I was able to start building up my body of work within the Ubuntu community before diving into the rest of the project. It was also great to have these friends when I started going to conferences, since I had people to go with and didn’t have to feel so isolated.
3. Apply for the FOSS Outreach Program for Women
The FOSS Outreach Program for Women (OPW) (http://gnome.org/opw/) is an internship program backed by the GNOME Foundation. It began as a GNOME-specific program and expanded to other open source projects once they saw what a positive influence it was having on the gender ratio in their community. The premise behind this program is that it can be difficult for women to start off in open source working for free, so a stipend is given to every intern, and lack of mentors or supportive community is another reason why women leave, so a mentor or mentoring team is also provided.
In my work with the OpenStack project, I now work with several OPW alumni who have moved on to jobs in the OpenStack space following their internships. Several have become very strong open source advocates and their enthusiasm for the project has been an inspiration to many.
Tips for girls
1. Find a local program to participate in.
Interested in Programming? Check out http://girlswhocode.com/. Most of their programs target girls from 6-12th grade, so you’ll want to check the age restrictions.
Interested in Robots? Find a http://www.robogals.org/ chapter near you.
Are you a girl of color interested in programming? Visit http://www.blackgirlscode.com/ to see if there are opportunities in your area.
These are just two programs that I know of readily that are high quality and have regional chapters. If you look around locally, you may find many more. After school programs, partnerships with Girls Inc. (http://www.girlsinc.org/) and the Girl Scouts (https://www.girlscouts.org/) and more have been popping up all over the United States targeted at technical pursuits for girls.
2. Go to an open source conference.
Think conferences are just for adults? Several open source conferences have started welcoming younger participants. I attend the Southern California Linux Expo (http://www.socallinuxexpo.org) in Los Angeles most years and they’ve had a youth track for several years. Young presenters share their experiences using and participating in open source projects.
Even better? Submit a talk. Don’t be scared! Open source conferences are always looking for an opportunity to support a diverse track that includes talks of many levels of experience from many different kinds of people. One of the most inspiring talks from a conference I attended last year was a trio of girls in middle school who explained how they were using a popular open source project in their classroom.
Tips for everyone
While compiling a list of how to help women and girls get into open source, it’s important not to forget that many of the tips for general contributions to open source apply to people of all genders.
1. Get a feel for the project.
It can be a bit daunting at first to jump right in to a project. I often sign up for some mailing lists and join the chat (IRC) channel for a project before making a contribution. By joining these resources you can often find what the current pain points are for the project and where your talents can be most useful. Does the project need people writing bug fixes or just people looking at incoming bugs to confirm they are a problem? Or perhaps they’re struggling with a lot of support requests that can be solved by improved documentation? Does the project lacks a feature that users really want to see?
You can also browse the bug tracker, where you can often find the most “popular” bugs and some projects even provide “low-hanging fruit” bugs that may be easier for newcomers to tackle.
2. Jump right in.
On the flip side, you may have written a patch for a project and already have it ready to go, don’t be afraid to just jump right in and submit that patch to the project.
For the highest chance of success, look into the preferred mechanism for submitting that contribution, some projects prefer you submit a patch as an attachment to a bug report, others may accept it on the development mailing list or as a commit request against their code repository, for example, a pull request on their GitHub project.
3. Follow the “Get Involved” or “How to Contribute” links.
Many mature projects have a “Get Involved” or similar link that can explain to new contributors where they can contribute. I do a lot of work on the Ubuntu project, and we have http://community.ubuntu.com/ for giving newcomers a taste of the kinds of projects throughout our community and how to get involved with them. In the OpenStack community we have a wiki page on how to contribute: https://wiki.openstack.org/wiki/How_To_Contribute
4. Ask other project members what they need help with.
Current project members tend to know what they need help with, so you may approach the development community with a list of your skills and interests to see where they can be most valuable. Sharing your skills and interests is important here, many “How can I help?” questions on open source mailing lists go unanswered because members of the community don’t know what the expertise of the new contributor is, and so decide not to take time to share tasks they don’t know if the new contributor will be able to work on.
5. Support the user community.
One of the most valuable things you will find about many open source projects is their free and open support communities. The barrier to entry is low for helping with many of these communities as you can contribute as little or as much as you want on your own schedule via various mediums (mailing lists, forums, chat). You also just need to answer what you already know about, and as a user of the software you’re bound to know more than folks who are new to using it. This in itself is a valuable way to contribute to a project.
Want to do more? Surprisingly, support roles can transition into more active roles in the development community. As someone who supports the community, you may find yourself updating out-dated documentation to make your support life easier, following up on bug reports that you see many users are struggling with, and often having a better idea about project pain points faced by users than some of the developers, making your input very valuable to them.
Bonus: A tip for allies
Finally, a bonus tip for allies: Do you want to support women and girls in open source?
Many of the programs and organizations mentioned above are in dire need of volunteers, and not just female volunteers. While it’s certainly inspiring to have a woman for a mentor, there still aren’t enough women to make this a sustainable model for mentorship programs. So apply to be a mentor the next time the FOSS Outreach Program for Women comes to your project, or join a local chapter of an organization supporting girls and offer to help as an instructor, teaching assistant, or event coordinator.