Slide 1

Slide 1 text

HUMANS OF OPEN SOURCE Christian Bromann - Senior Software Engineer

Slide 2

Slide 2 text

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. “

Slide 3

Slide 3 text

WEBDRIVER.IO Next-gen browser and mobile automation test framework for Node.js. https://twitter.com/Paztoya_/status/1230588731779932174/photo/1

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

INCEPTION 01.

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

COLLABORATE 02.

Slide 9

Slide 9 text

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 “ “

Slide 10

Slide 10 text

CONTEXT IS KING

Slide 11

Slide 11 text

CONTEXT IS KING

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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)

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

# COMMUNITY HOME Build a striving and strong community by providing support and help throughout multiple communication channels!

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

LEAD AND INSPIRE 03.

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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/

Slide 21

Slide 21 text

GOVERN AT SCALE 04.

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

THANK YOU! Christian Bromann Sr. Software Engineer at Sauce Labs christian-bromann @bromann