Open Source Survival Guide with Coraline Ada Ehmke

Notes and thoughts about Coraline Ada Ehmke's talk.
8 February 2014

Yesterday I attended a talk by Coraline Ada Ehmke titled The Open Source Survival Guide. The talk was hosted by the Chicago chapter of Girl Develop It. It was my first time at this meetup and I'm glad that I beat the five o'clock "I just want to go home" feeling, as well as Chiberian weather to attend.

This is a rough outline of notes that I took during the talk and my thoughts at the end of the post. One day maybe I will master the dark art of livetweeting at events.

Open Source Survival Guide

Core values as a developer

Get better at what I do

Stuff that I do:

  1. Stuff I have done in the past
  2. Stuff that I do every day (reinforcement of vocabulary)
  3. Stuff that I want to do (experimenting and taking challenges)

Retain, practice, and find new things.

Code is the new literacy.

You can learn from good code and bad code.

Build useful stuff

The worst developer I ever met was me, six months ago.

Open source projects gain focus over time.

Building useful stuff:

  • takes a combination of practice learning
  • going outside of comfort zone
  • learning and teaching moments

Design communicates intent - others can fill in the blanks.

Practice good citizenship

Through:

  • mentoring
  • speaking
  • teaching
  • contributing to open source

Open source

Open source is software written for the common good that you can read and modify.

Tragedy of the commons, the idea that individuals acting in self interest is not in community's long term best interest. Depletes common resource. Open source is the new commons, but an infinite resource.

The new tragedy is access.

Core values of open source:

  • transparency
  • shared ownership
  • "meritocracy" (and the infamous rug)

Culture is not a ping pong table in the kitchen, it's an expression of shared values. Some cultures are toxic (brogrammers).

Open source needs diversity and different voices.

Ada Byron Lovelace, the first programmer, published the source code of her programs.

A chart of participation of women in open source software:

| Year | Percent of women in open source | |------|--------------------------------:| | 1842 | 100% | | 2014 | 2% | {: .table .table-bordered .autowidth}

Open source culture is often hostile to newbies.

Changing the culture

Call out bad behavior. Advice from Ashe Dryden: don't talk about the person, talk about what they did: "That was not cool." If they respond, take it to email.

Set a good example.

Find a way to get paid to do open source software.

Get better at what you do:

  • exercism.io Write code to pass tests, get get feedback, give feedback to others.
  • Believe in yourself.
  • Maintain a discipline of contributing
  • Pair up: pairprogramwith.me has pair programming resources and tools.
  • Most importantly, don't go it alone. Find a mentor, guide, role model.
  • Build a support network

And learn all the things.

Contributing effectively

  • Be a fixer. Look at issues and fix bugs.
  • Be a scribe. Update or write documentation. Many projects suffer from lack or outdated documentation.
  • Build a reputation over time.
  • Don't be shy about putting your name on the work you do.
  • Dont do too much at once..
  • Don't overcommit (make big changes) or over commit (too many changes).
  • Don't be anonymous.

Projects are increasing adopting contributor code of conduct:

opensourceforwomen.org aims to be a resource for connecting all women of all skill levels to open source projects.

Use google hangouts and IRC.

Support other people via gittip.

We can do this.

Questions?

In an answer to "What is the best programming language to get started with?":

Ruby: designed to make programmers happy.

My thoughts

On women in open source

Conferences and meetups are spaces where a lot of what Coraline mentioned (experimenting, taking on challenges, teaching and learning) takes place. Providing childcare at conferences (like PyCon 2014) or hosting events at which kids can either participate or have space to play is another way to increase women's participation in open source.

On contributing

A picture is worth a thousand words, but good documentation is worth a thousand lines of code. Especially documentation for getting started with a particular tool. Documentation is a process. Helping write and rewrite documentation is a great way to get started with contributing to open source.

In the Drupal community there have been several initiatives to make contributing an easier process for novice contributors. One such initiative is Drupal Ladder. Another is tagging issues with Novice. This helps identify tasks suitable for folks who are just getting started, and make it obvious that novices are welcome.

On mentoring

Allow for others (and yourself!) to go at own pace from exploration and deconstruction (of projects and concepts) toward contribution. Pacing is important. Be mindful of bandwidth, it's easy to overwhelm yourself and others. Sometimes the process can take a while.

With that in mind, a big thank you to all the mentors.