Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Humans of Open Source

Humans of Open Source

Every open source project has its own unique story to tell, whether it’s a small personal hobby program or a big corporate-funded project. A project always starts with a single person making a single commit and putting it on GitHub. From there the storyline writes itself and, if done successfully, it will highlight the most important component of open source: the people, friendships, and collaborations.

Putting code on an open platform like GitHub is easy. There is almost no friction when you iterate on your first versions of your new open source project. However once it grows and more people start using it, it often feels overwhelming when they start filing issues and requesting your support. This often leads to maintainers abandoning their projects as they get burned out and users becoming frustrated when they have to transition to a different framework. People often forget that building a community around an open source project is just as difficult and important as the solution that the project provides.

In this talk, Christian Bromann will share his experience of building a community around an open source project. He will provide various tips and tricks that help guide you through the difficulties of acquiring new contributors and will teach you important lessons he learned along the way. At the end of the session you will walk away with actionable ideas that you can apply to your own open source projects.

Christian Bromann

October 20, 2020
Tweet

More Decks by Christian Bromann

Other Decks in Programming

Transcript

  1. At my first conference I felt like being backstage at

    a festival full of Open Source artists. There were always these moments where you would get star-struck if you would see that person, who built that library, working at that big tech company. However, getting into casual conversations with them make you realise that they are just normal people like you or me. Being a passionate Open Source developer then eventually even brought me in situations where I would work with the same artists on a project together. It is fascinating how many doors just open magically when all you do is tinkering on a hobby project and share your passion with others. And the fact that this experience is accessible to everyone if the community is built with good ethics is the best part about it. “
  2. WEBDRIVER.IO Next-gen browser and mobile automation test framework for Node.js.

    https://twitter.com/Paztoya_/status/1230588731779932174/photo/1
  3. TYPES OF OSS PROJECTS SOLO One or two developer responsible

    for a whole project MONARCHIST all decisions are made by the project lead and a small number of "lieutenants" COMMUNITY A lot of contributors who run the project democratically as peers. CORPORATE Run by a private company but not completely alienated from them FOUNDATION incorporated with officers and directors and all decision-making formalized
  4. INCLUSIVE OPEN SOURCE PROJECTS DOCUMENTATION There are well written contributing

    guidelines SCOPE A project has a reasonable set of functions and features COMMUNITY A welcoming language for contributions is being used TECHNOLOGY A project uses common known tools and frameworks
  5. I was selected to present at SeleniumConf in London about

    an entirely different topic and during my presentation I had shown some examples using Selenium to drive iOS devices. Several people came up to me after the talk and were more interested in the iOS demo than what I was actually presenting and one of them said I should do that demo as a lightning talk later in the conference. So I signed up, and the next day I took the stage. The lightning talk host had mentioned in the rules for the talks that speakers had 30 seconds to get their presentations going or they'd be passed over for the next speaker. As my luck would have it, my MacBook didn't like the projector. The host started a countdown and just after he said, "1" the presentation finally showed up on the projector and the rest is history. A few months later the same lightning talk host would form a group to start a new open-source project based on the demo I gave at the conference and 8 years later, Appium is still going strong. “ Dan Cuellar Engineering Manager
  6. Context is everything. Your brain does not do absolutes. Your

    brain only does relationships. That’s all it ever does and that’s all it can ever do! —BEAU LOTTO “ “
  7. CONTEXT IS KING • A short description of the current

    and desired state • Link to code that is objective to change • Including related issues if possible • Link to contributing guidelines for specific code area • Proper labelling
  8. BE HELPFUL! • Always provide constructive comments or NON at

    all • Don’t lose your kindness in all the interactions you make with the community • Take a break if you feel burned out • Document question patterns (FAQ)
  9. I want to look back at my life at any

    point and feel generally positive about what I’ve done: what I’ve built, who I’ve interacted with, how I left them feeling. —JORDAN HARBAND // @LJHARB “ “ https://github.com/readme/jordan-harband
  10. # COMMUNITY HOME Build a striving and strong community by

    providing support and help throughout multiple communication channels!
  11. My first introduction to the energy and vitality of open-source

    communities occurred, when I had an opportunity to attend the Selenium conference in Boston. I'd been working with Selenium for several years, using Java or C#, when I first got started with a WebdriverIO project. Having developed a framework , gotten a taste for the power and flexibility of using JavaScript for UI automation, and worked through several WebdriverIO version upgrades, I discovered that not only was the Gitter WebdriverIO channel a great resource for knowledge exchange for the community, but that I was often able to answer questions on the channel. This further increased my confidence and deepened my own understanding of the project structure. Eventually I was able to commit a few changes to the project. Throughout, I've enjoyed the chance to chat with and get to know WebdriverIO users from all over the world. “ Olga Smolyar Quality Development Engineer
  12. First interest came from JavaScript unit testing. I really got

    into it, and thought, "Huh, can we do this with the UI/CSS?" From there, I learned of visual regression testing tools like Wraith and Gemini. Those tools were still a bit limited, so I continued my search. I also learned of Selenium tools like Protractor via my QA team and found the functionality very valuable. Eventually I came across WebdriverCSS, which gave me a lot of power with the Selenium integration through WebdriverIO. Became really interested in UI testing, so much that I took on a major project at work revolving around setting up a WebdriverIO test suite. Unfortunately at that time, many of the WebdriverIO integrations didn't exist, so I spent a fair amount of time building those integrations for the specific project needs. As WebdriverIO matured and the integrations became more built-in, I realized just how valuable that was. Became a strong advocate of the tool because of this (not wanting people to repeat the efforts of my past). As someone who enjoys speaking at conferences, I started presenting on WebdriverIO. Audience reaction was good, so I knew there was interest in it. I also gave a few workshops on the subject, and many seemed to enjoy it (despite the frequent technical issues). “ Kevin Klamping Front-end Engineer and Tester
  13. PRAISE CONTRIBUTIONS @MindfulTestDev Am I officially an open source contributor??

    @webdriverio. I should add this to LinkedIn. It has never been easier to contribute to open source. What an honor... @webdriverio @pako_88_ https://twitter.com/MindfulTestDev/status/1280956298771783681 https://twitter.com/pako_88_/status/1280953744465825792
  14. PAIR WITH THE COMMUNITY Vinod Reddy I am always curious

    to work for the open source projects. I think the time has come. My first PR got merged today to WebdriverIO project. Though I started with a small one, I know I can do a lot there. https://www.linkedin.com/feed/update/urn:li:activity:6712385032478167040/
  15. JOIN A FOUNDATION #A foundation can be a neutral organization

    to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large
  16. Make 10 different shelters with this old tire, some wood

    and a piece of rope. This kind of design exercise tests resourcefulness, and encourages you to think about the nature of the individual components and what happens as they combine. To me, working in open source & open standards is very much like that sort of puzzle. We may use the same tools - people, process, policy, code, etc - but the results can look a lot different. This industry has helped me appreciate this quality and work in a more systemic way; less like an engineer, more like a painter: “How do tools combine to solve the immediate problem, and also celebrate differences and respect surrounding context?” It’s creative, rewarding, and not without frustration or failure. You have to be willing to work on multiple timelines, try new things, and change your perspective. And patience helps. “ Jory Burson Open Source, Open Standards, and Open Engineering Advisor