Trust the Upstream Community

Note: This post was co-authored by my good friend Thomas Graf.

My last post was around how to effectively contribute to an Open Source community. This post received a fair amount of traction, and I was happy with the conversation it created around Open Source contributions. There are plenty of people who hopefully benefited from this discussion.

Recently, I’ve been having some discussions with my friend Thomas Graf around upstream community engagement. Thomas recently shared with me the below, which are his words on how to engage and trust the upstream community. Thomas was kind enough to let me share these thoughts with everyone. I won’t summarize his words, but instead share them with you below.

1. Trust the upstream community

    Trust leads to openness. Openness leads to respecting all
    opinions. Respect leads to collaboration. Collaboration leads
    to give and take. The taking multiplies over time. Profit.

    Mistrust leads to mistrust.

    Before any interaction I ask myself: Would I say/do that to
    somebody I trust?

 2. Upstream does not care about the product roadmap

    Use cases and vision make up an excellent upstream motivation.
    Product roadmap driven agenda will drive contributors away.
    How I derive a downstream product from upstream is *my* problem,
    not the problem of the community.

    Open source is a long term investment into a sustainable model
    that if done right, can lead to maximum short term gains as well.

 3. Public discussions and public decision making

    Opening the circle of decision making makes a project attractive.
    Trust and respect whoever writes *good* code!

    Having all discussions on the public mailing list or other
    asynchronous communication channels allows new contributors to
    grow into the project by gradually spending more time on it and
    by reading up on previous discussions.

    Only exception: Classified internal material.

 4. Upstream reputation and community building is key

    Feature completeness, upstream merge, and packaging will come
    naturally, driven by magic community pixie dust, faster than
    anybody can imagine.

I agree with everything Thomas says above. Open Source is about transparency and trust. Due to the fact that many projects have disparate developers from not only different companies but also different cultures, locales, and skill levels, developing trust is important to the very essence of Open Source projects. Trust is both in the form of giving as well as receiving trust. Consider trust to be the currency of Open Source development.

I’d like to thank Thomas again for sharing these words with me, and I am grateful to be able to share them with you as well.