What project or projects do you maintain and what was your motivation for creating those projects and releasing them as open source software?
Most of my work in open source has been creating civic-minded side projects including Let’s Go!, a database of over 6000 museums from across the US that you can search by location and category, and Shut That Down, a collection of racist, sexist, and anti-LGBTQ statements by political figures side by side with the companies that give them money.
I also run Hear Me Code, an organization that offers free, beginner-friendly coding classes for over 2000 women in the DC area. When people can see practical examples of what coding can do, they’re able to connect what they’re learning with their real lives. Coding stops being an abstract concept at that point – and that’s why open sourcing all of my projects is so important to me.
If you created any of those projects, were they meant to solve a specific problem you faced, or were they born out of a larger opportunity you saw?
I created Shut That Down because I was so angry with what Todd Akin said, and so frustrated that he was a lawmaker for so long. I knew there were more politicians like him, and I wanted to find a way to get companies to pull their support from racist, sexist, anti-LGBTQ politicians.
How has the project evolved since you first got involved or first released it?
When I first created Art Games, it was a single game that used a single museum’s API. As time went on, I was able to add more museum APIs, and store information on all of the artworks featured in a database, which let me build additional games that using the artwork data I’d collected.
How do you spend your time on those projects? (i.e. Developing, managing the community, triaging issues, etc.)
There was a time when I would spend several months working on a single project and do a major release all at once when it was perfect but I found that it didn’t serve me well.
Now, unless something is majorly broken, I often try to release and be done with something. Truth be told, the perfectionist in me could go back and tinker endlessly with any of the many, many projects I have active and in production right now. I fix things if they’re broken, but I’ve made peace with adding issues in GitHub, often leaving them unresolved, and moving on to other projects.
There are so many projects I could be working on, and each of those projects has major fixes, improvements, new features, or just new areas to explore. There’s always something to do, so I try very hard to only work on the thing I’m most excited about and most interested in working on at any given moment.
How would you describe the community around projects you participate in? What are your favorite and least favorite aspects?
All of my side projects are solo endeavors, which is great because I’m only answerable to myself.
Sometimes I collaborate or work in groups with the women in tech community here in DC, and those have generated some really wonderful projects, things that are much larger than any one person. For example, in 2014 I was one of a few dozen women who helped create Buscando, a project in partnership with the state of Maryland that helped Central American children seeking refuge find food, clothing, and other resources.
What keeps you involved in those projects? Do you have long-term plans for maintaining your involvement?
Every project I’ve created, like Seriously?, a visualization of over 500 schools and universities that aren’t taking campus sexual assault seriously, is a project I care deeply about. It’s easy to work on projects that I’m passionate about; the challenge is when I have so many active projects that all could use updates, bugfixes, and improvements.
Long-term, I’d like to do more collaborations as a way of sustainably staying involved in lots of projects near to my heart. The aphorism “if you want to go fast, go alone; if you want to go far, go together” seems appropriate here.
What is the most important thing someone submitting an issue or patch should know?
Most of my projects have lots of open issues right now; most of them I’ve filed myself; most of them I will never get around to. I often encourage my students to create and contribute to open source as a way of proving their skills and showing potential employers what they can do.
Contributing to small open source projects is a great way to prepare for a job in coding – you’re reading someone else’s code, and if you understand it well enough to make changes and contribute, that’s demonstrating skills that are applicable everywhere.
What’s your development environment right now?
I’m pretty no-frills and use Sublime for most things. I also really like how it has distraction-free mode, though I don’t get to use it as often as I’d like.
What was your first development environment? Do you miss anything from it?
When I first got into coding, you needed to purchase expensive software in order be able to code. I’m glad that’s not the case anymore. The rise of free and open source software has been such an important force in democratizing computing and making it more accessible to everyone.
I’m an optimist at heart, and I believe if we lower the barriers to entry, if we teach others, if we help others climb, we will all be better off. The tech industry likes to think it’s building the future, but I want everyone’s voices to be heard in what that future should look like.
Where do you see the open source software community headed?
If we’re lucky, and if we’re smart, the open source community will recognize that it’s been too insular, and will do more to welcome, include, train, recognize, and retain talent. I believe we will be much better off as a society and as an industry, when we are using our full talent base and valuing everyone’s contributions.