Community

What It Means to Be a Good Open Source Citizen

By Tim Pepper

Our team recently discussed the word choice in our VMware Open Source Technology Center (OSTC) mission statement. Our goals are to:

  • Establish VMware as a good open source citizen.
  • Build VMware’s presence and influence in relevant projects through meaningful contributions and participation.
  • Develop and promote VMware standards for best practices in open source development and engagement with external communities.
  • Mentor internal teams to increase VMware’s open source competency and expertise.

good open source citizen

It’s easy to suppose that I, as an open source contributor, share some common, implicit understanding of what it means to be a “good citizen” with the rest of the open source community. Or, as a definition by negation, that I can think in shared terms of not doing some set of obviously bad behaviors. The reality is that these concepts can vary across cultures and contexts, and the meaning of the “good citizen” phrase has been debated for years and years.

What are some of the specific behaviors I strive for when I talk of good citizenship in open source?

One might start with license compliance and the free availability of code. However, open source citizenry is about so much more than just the code. While undeniably necessary, sharing code in itself is not a sufficient enough action for one to be considered a “good citizen” in open source communities. I believe that I must do more. The spirit of open source includes an active, participatory aspect through a spirit of collaboration.

Going Beyond Open Source Code

To me, here’s what it means to be a good open source citizen:

  • Collaborate and take action.
  • Share ideas through formulation and implementation.
  • File bug reports.
  • Test.
  • Develop.
  • Maintain and support code over the long haul.
  • Constructively review others’ code.
  • Submit your code for review by others.
  • Change based on the community’s feedback.

Open source collaboration involves being a mentor, but it also means being a mentee. Collaboration and good citizenry are a two-way street, with each party perhaps changing themselves as much or more than the code and projects they seek to change.

Conflict will occur. Nevertheless, a good citizen will not simply fork when ideas diverge. A true open source community member will seek opportunities to unfork, commonize, refactor and reconverge as technology evolves.

[Related: Spork! An Open Source Fork Utensil]

A good open source citizen will not simply follow project norms or codes of conduct, but engage in their communities’ governance as an ally of peaceful, fair and inclusive norms.

All of these aspects of collaboration are about adding and sustaining value at a scale impossible individually.

What It Means to Be a Good Open Source Citizen — Plus One

While VMware aims to offer great value through its participation in open source, I am also mindful of our OSTC organization being a relative newcomer. Astronaut Chris Hadfield has a useful bit of guidance in this situation:

“Over the years, I’ve realized that in any new situation, whether it involves an elevator or a rocket ship, you will almost certainly be viewed in one of three ways. As a minus one: actively harmful, someone who creates problems. Or as a zero: your impact is neutral and doesn’t tip the balance one way or the other. Or you’ll be seen as a plus one: someone who actively adds value. Everyone wants to be a plus one, of course. But proclaiming your plus one-ness at the outset almost guarantees that you’ll be perceived as a minus one, regardless of the skills you bring to the table or how you actually perform.”

—Chris Hadfield, An Astronaut’s Guide to Life on Earth

The VMware OSTC team continues to grow, and my goal is to share my knowledge and expertise beyond our group into all parts of VMware. It is a deliberate, thoughtful process. Over time, I hope our leadership will convince open source communities that VMware is an open source plus one.

About the Author

good open source citizenTim Pepper is interested in development roles involving dynamic, sophisticated and deeply-skilled teams driving forward the state of the art in open source and Linux-based systems.

Born in California to a U.S. service member, he has had at least two dozen addresses and attended over a dozen schools, eventually settling in Oregon where he has now lived over almost 15 years, three times the length of any prior location. He holds a B.S. in Computer Engineering from Cal. Poly San Luis Obispo and an M.S. in Computer Science from Portland State University. He specializes in Linux and open source systems development and is a staff engineer with VMware’s Open Source Technology Center.