Why People Don’t Contribute to Your Open Source Project

I just listened to Mike McQuaid‘s FOSDEM talk, Why People Don’t Contribute to Your Open Source Project.  If you are interested in communities and how they grow, I highly recommend you take a half hour and watch it.

Some of the things I got from the talk:

  • I get asked a lot what the difference between a contributor and a maintainer is. Mike does a great job of explaining it around minute 4:00. Contributors are people who write code or docs or do triage for your project but who need help from others to get their work included. Maintainers are people that review and merge contributions.
  • You should users as your source for contributors. The type of contributor that is not a user is not likely someone you want.
  • Once maintainers are not users, they are not likely to continue contributing. So if you stop using your project, you need to start recruiting someone else to maintain it because it’s unlikely that you’ll continue to maintain it.
  • Most maintainers are talked into it. Nobody thinks they are qualified at first.

I did wonder what Mike would think about open source software projects where most of the contributors are people paid by a company to work on it. There are projects that are unlikely to be used by individuals, that are primarily supported by paid contributors. Do the same rules apply?

Do not mention time when giving a talk

One of the challenges of public speaking is timing your talk.  And paying attention to that timing without distracting your audience.

Do not mention the time to the audience.
Do not say you only have 5 minutes.
Do not say you won’t take up too much of their time.
Do not point out you finished with one minute left.
Do not mention you are running a couple of minutes over.
Do not ask for a time check.

If you focus your audience’s attention on time, they will think about time, instead of the topic you’d like them to be thinking about.

The one exception is if someone is waving a huge placard saying you have 5 minutes left, distracting both you and the audience. In that case, nod to acknowledge them and go on with your talk.

You should focus on leaving your audience with one key message. And that message should not be how you are delivering your presentation unless your talk is about presenting!

Saturday morning: 4 things I learned from credit card deals to getting great at Photography

Working the travel points system

I did some research to see when I should get two new Southwest credit cards. People look at you weird when you say you play the credit card game but I’ve found them to be worth it. This time I’m working on a Southwest companion pass for 2018 and 2019. This means every time we fly Southwest on vacation, one of us will fly for free. A lot of travel bloggers have written about it. You need to apply for one card by October 1st and the other by October 5th. (And if you froze all your credit, you will need to find out what credit agency they will use to check your credit and unfreeze it first.)

Rey costumes

In anticipation of Krewe of Boo, Halloween and Chewbacchus, I’m working on a Rey costume. I spent a lot of time looking for pictures of her and then when I talked to my 11 year old, he remembered everything in great detail without having to consult any pictures. I should have asked him first. My partner mentioned that I’d need to figure out how to fix my hair and I told him there are tons of YouTube videos on just Rey’s hair.

Photos: Aperature

Last weekend I took pictures at a Crossfit competition and really wished I knew how to make the background blurry so that I could focus just on the people in the foreground — there were a lot of people standing around. So I spent some time learning about aperture and learned how to set up aperture priority mode on my camera. The article that got me started in the right direction was one about taking pictures at corporate events. There are a lot of articles about depth of focus.

Puerto Rico

Three and a half million people without power and running water! No drinking water! With no near term solution in sight. I’m sure money would help but they are also going to need some major logistical help and being an island is an disadvantage. And being a US territory, something few US citizens understand, is also a disadvantage. I read that Tesla is sending powerwalls. And private companies have been flying in medicine and flying out medical patients. It’s going to take a lot to help everyone that needs help.

5 thoughts for the day: who moderates conversations, organization, grit and purpose

Photo by Michael Dunne.
  • When we make a private company the keeper of the space of most of our conversations, we give them a lot of control. Revealed: Facebook’s internal rulebook on sex, terrorism and violence.
  • I spend my day working on lots of different things and I’m often context switching. I was also playing around with the search on Google Photos and find it fascinating that I can see all the pictures of a particular person, or all the pictures of “doors” or all the pictures of “angry”. Now I want that ability to group together my emails. I want to automatically have my inbox grouped by topic.
  • I read the book Grit recently. This take by Jon Gordon, based on the author’s work, was slightly different but still good. I like the focus on doing something that has purpose to you instead of just “doing what you love” which I think leads people to think that you shouldn’t do things you don’t enjoy every minute of.
  • Foot binding in China might have had an economic factor behind it. Work, not sex? The real reason Chinese women bound their feet.
  • And some more political news. I learned about congressional subpoenas vs judicial subpoenas.

5 things I read today: Amazon, Tesla and Attractiveness

Amazon’s new bestseller list tracks what people are actually reading. A bestseller list based on how many times the book was read, not sold. There’s not easy way to compare the lists but they are different. The Power of Habit, which I highly recommend was on the most read list but not the most sold list.  The 5 Languages of Love, which I decided not to finish, was on the most sold list but not the most read list. (I checked mine out of the library though so I didn’t directly contribute to that number.)

When it comes to attractiveness, your smell and voice play a role. I’m glad they now have proof for something that seemed obvious. It is interesting that voices that were deemed more attractive correlated with different body size ratios.

Tesla workers are passing out on the factory floor, according to a report. I didn’t investigate any further but assume it’s more than 1 or 2 people since CNBC is reporting. I’m not sure that’s a safe assumption these days. I think it’s crazy and fascinating that they have such a dedicated work culture. But definitely awful that it’s so short term focused that they aren’t even taking care of employees.

A few posts on how to take care of trees during spring snows.

Several political news articles.

5 things I read today: Women in Tech, Google and Politics

Women’s Leadership Community Luncheon at Red Hat Summit 2017

We Recorded VCs’ Conversations and Analyzed How Differently They Talk About Female Entrepreneurs. Researchers study 2 years worth of closed door venture capitalists’ conversations. There was a big difference in how men and women were described and in how much money they received. Men were “Young and promising” where as women were more likely to be described as “Young, and inexperienced”. They have a whole list of comparisons but they didn’t give any advice for how we can change the situation.

Fitted tees, shorty shorts: Sending the wrong message to girls? Girls shorts are literally 1/3 the length of boys shorts!

Everything New About Android From Google I/O. I didn’t see anything crazy on Android but my kids will be happy about the picture-in-picture and offline YouTube. (I’m waiting for more standalone cell phone watches like the Samsung Gear2-3 although hopefully smaller.)

Google Photos and Google Home phone calling does look really cool. Couples can finally share pictures. And Google Home will recognize who is asking for the phone call and use their phone number to make the call.

And then I read a few articles about our current political happenings. I feel like I should be keeping a scrap book for the kids.

5 things I read today: slaves, fake ids and communication

I got paid in quarters. One of these is not like the others.

My family’s slave. A story about a family from Manila who brings along a person who belongs to them. And they keep her for 56 years. A family member without freedom. I feel like it’ll be a few days before I know what to say about this but the story is moving and worth reading.

3 Lessons in Open Communications. A Red Hatter writes about communication in open organizations. The key? It’s a discussion not a lecture.

A practical guide to fetch(), reduce() and formatting data from an external API. I have to admit I didn’t actually read the article. But I did discover that New York City has lots of open data to play with. I think that’s awesome.

Explore New Universes with Tor.com Publishing’s Summer of Space Opera Sampler. I hate excerpts. Especially if the book is not available to read right now. I did however enjoy Tor’s blog and added it to my rss list. I also follow a number of science fiction writers on Twitter. I find it exciting in the way others seem to be excited about following celebrities.

There Is a Fake IDGod, and He Lives in China. I suppose it should be no surprise that you can now buy fake ids over the internet from China, but it was a fascinating surprise to me. What other illegal things can you buy on the internet?

3 important things to consider when measuring your success

Photo by Thomas Leuthard.
  1. Figure out what to measure. How will you know if your open source software project is wildly successful? What will be different with the world? What problem will it have solved? If you don’t know the answers to these questions, you won’t know what to measure.
    Often when projects start out, they measure what ever is possible. For example, you start a blog and you measure web site visitors. But that in itself is not a measure of success. It might be a measure of popularity or reach, but not of success. Why’d you start the blog? Maybe you want people to know Linux is an awesome operating systems. In that case, a measure of success might be how many people use Linux. Or how many people try Linux after reading your blog. Or how many repeat visitors are now on Linux instead of an alternative operating system. Obviously, some of these things are harder to measure than others. But defaulting to number of visitors is a crutch you should only use temporarily while you figure out better metrics.
  2. Change your metrics over time. What you measure will also change over time. As your project evolves, you’ll be able to measure more sophisticated things that more accurately reflect your goal. You might start out measuring number of visitors and evolve into number of people who convert within a month of visiting your blog. Both the way you can measure things and what your project can do might change. And your goals themselves might change. Maybe you started out to create a login widget and then realized what was really needed was a user management tool. You should never be afraid to change your metrics. If you are afraid of losing data over time, you can keep measuring the old metrics.
  3. Keep it simple. It’s much better to have one or two key metrics than to worry about all the possible metrics. You can capture all the possible metrics, but as a project, you should focus on moving one. It’s also better to have a simple metric that correlates directly to something in the real world than a metric that is a complicated formula or ration between multiple things. As project members make decisions, you want them to be able to intuitively feel whether or not it will affect the project’s key metric in the right direction.

And then, make sure your metrics are working. Double check that when you are closer to your goal when your metrics get better. If not, time to figure out what else you could measure. For example, maybe you were measuring number of contributors, but signing up more contributors does not seem to be getting you closer to your goal. You might want to look at measuring monthly contributions or active contributors.

If I was going to recommend one book for getting started in thinking about metrics, it would be Lean Analytics. Thanks to Luke Crouch for the recommendation and the many good conversations.

Create better processes to avoid difficult conversations

The best way to handle difficult conversations is to prevent them from ever starting. The way to prevent them from happening (or at least to keep them less painful) is to have good governance. Governance is the solution to difficult conversations and trolls.

My motto is that you’ve done the best job you can do when you work yourself out of a job. When you have solved the problem, you eliminate the need for anyone to need to work on it again in the future. So the best solution to difficult conversations is one that means we no longer have them. We’ll still have differences of opinion and a need for conversation but hopefully it won’t happen in painful ways. In order for that to happen, you need to have clearly defined ways to bring up new ideas, discuss differences of opinions, to make decisions and to execute on them.

Why do difficult conversations happen?

You maybe tempted to say difficult conversations happen because some people are awful. But nobody really likes to go out and argue. Worst case they are lonely or feel misunderstood. However, in open source, difficult conversations usually happen because people feel passionate about something and are missing either the tools, the communication skills or the place to do something about it. Maybe a decision was made without giving people a chance to comment. Maybe they didn’t even know a decision was being made about something they thought was really important. Maybe they felt like their opinion wasn’t getting heard. Maybe they felt like everyone was rehashing the same conversation for the 100th time and nothing was getting done. Maybe they want to get something done and there’s no obvious way to sign up or just do it. Maybe they made a decision they feel applies to the whole community and nobody is listening. Maybe …

So how do you fix that?

In order to prevent difficult conversations, or to make conversations easier and more productive, you make sure your project has governance, processes and tools to let people express their ideas, debate the merits and work out the details. Sometimes you are able to create them before you have problems. Often they are created in reaction to problems. But no matter when you create them, creating good governance is an opportunity for your community to discuss and agree on culture, processes and mission.

Some of the components of governance, which may overreach into ethics and culture, are:

  • Leadership. Who leads? How are they selected? By whom? What if they do something wrong? Who succeeds them?
  • Decision making processes. When are decisions made by the leader? When are they made by a vote? What if someone doesn’t like the decision? How are things proposed? How long and where does discussion happen.
  • Codes of conduct. What behavior is expected? What behavior is inappropriate? What happens if someone misbehaves? Who decides that it was misbehavior?
  • Communication. How does it happen? Online vs in person? Who can attend? Who is expected to attend?
  • Mission & Vision. Who defines them and through what process? How can they change?
  • Money. Can your project make money? Accept money? Can individuals in your community make or accept it for work they do in relationship with your project?
  • … what else would you add?

Often governance grows like culture. Slowly, without anyone noticing. So it’s helpful to stop and take a look at what governance you have, what’s explicitly defined and what your project might need moving forward, especially if it’s growing.

For an example of how governance and cultures evolve in communities, you can follow along as Fedora redefines its mission, Gluster decides who is a maintainer and Drupal evolves its governance.

Can your community get too big?

Open source software communities, like companies and cities, can come in all sizes. They don’t get too big but they can grow faster than their infrastructure and processes.

Take for comparison, the size of companies and cities. Companies come in sizes from one person LLCs to 100,000 employee megaliths. Cities come in sizes from a single person farm to enormous cities with 10’s of millions. Are some big companies too big for some people? Absolutely. Are big companies good at getting certain types of tasks done? Yes. Some people prefer some companies and small towns (maybe not the same set of people) and some people prefer big cities and large companies (again, maybe not the same set of people.)

So, can open source software communities get too big? Not really. But they can grow too fast. They can grow faster than their infrastructure; they can outgrow their governance; they can leave their mission behind.

So how can a community grow productively? By considering things like:

  • Onboarding processes. I’ve actually heard of communities having so many new people show up that to answer all their questions would have meant nobody would have time to get work done!
  • Infrastructure that scales. Where are you going to put all those new people? Will your source code control system, your chat system, and your blogging system scale?
  • Governance. As you have more people involved, you may want different ways of deciding membership and making decisions. OSI moved to individual membership from a self elected board. Gluster is moving to a new maintainer model as it grows. The evolution of process takes time and thought.
  • Mission statements that evolve. Sometimes you accomplish your original mission and you’ve moved on to something else and you need to state that for new and existing contributors like Fedora is doing now.

What else needs to grow along with your community?

Part of the OSS Communities series — maintaining existing community. Contribute your stories and tag them on Twitter with #osscommunities to be included.