Design + Open Source: Lessons from a year of contributing to the Kubernetes project
By: Gamoreno Cesar
Tags: UX, Open Source, Kubernetes

On July 30, 2019, I found myself at my first ever open source meeting. Everybody was on mute. They were waiting for the recording to start and the meeting to begin.

I looked around wondering if these people already knew each other. I recognized several of their names from the Kubernetes community forums. Months of intense discussion about the state of Kubernetes UX had rallied us around the formation of this new user experience-focused contributor group called SIG Usability. It felt surreal to have come this far and to see their faces for the first time.

At the end of that meeting, we all hopped off Zoom and I found myself back in one of the IBM Austin meeting rooms, feeling like I had been transported from another world. Around me, work continued as normal.

It’s been over a year since that first meeting and I’m still living my bucket list dream of contributing to open source. However, I’ll be the first to say it can be hecka intimidating to take those first steps. The Kubernetes community has 43,000 contributors (a modest size, I know). And I didn’t know a single one of them when I started engaging. From figuring out how to introduce myself to launching our first research study, it’s been a year full of learnings. To celebrate SIG Usability’s one year milestone, I’d like to share my top three lessons from venturing upstream as a first-time contributor.

Lesson #1: Don’t know where to start? Contribute thoughtful critique.

I found myself on a Saturday morning following an email thread titled: “UX working group?” It included a call for feedback on the new SIG Usability charter for Kubernetes.

There were a few reasons I was super excited to read this. I had just attended KubeCon for the first time just a few months earlier. The community was amazing, and it seemed like UX was a theme for the year. As a designer, I wondered what role I could play in this open source community. What opportunities are there for someone with my background to contribute?

All in all, this UX-focused email thread felt like that opportunity. I couldn’t help feeling mega intimidated at the thought of dropping comments in such a public forum. What if I said something out of context or people noticed I didn’t have any open source experience?

Dilbert comic by Unknown

Needless to say, as a designer on IBM Cloud and having been to KubeCon, I was as prepared as anybody could be.

I still spent like two more hours of reading and re-reading all the comments in the email-thread-turned-issue-turned-pull-request. Only then did I muster up the courage to jot up some comments. Oh, and I cleaned up my GitHub profile. Nobody’s looking … but you never know 😉

I dropped a few observation+suggestion comments in the thread, shut my computer and did a mini celebration. Later that night, I took a peek and saw that the maintainer of the pull request had gone through and incorporated some of my suggestions and responded directly to some others. Overall a great outcome!

And there you have it, my first contribution. The idea that a contribution can be in the form of timely, well-structured feedback was amazing to me.

Fast forward a few months to when I was working on the SIG’s first survey. I sent out an email to our email group asking for feedback and got back several responses. Some were from people I know and others from people I don’t. This is one of the amazing things about working in the open. It reminds me of this great quote from Linus Torvalds, the creator of the Linux kernel and Git. He said this in his TED Talk about the first time he shared his project publicly:

“People started contributing ideas. Just the fact that somebody takes a look at your project, takes an interest in your code, looks at it enough to give you feedback and give you ideas … that was a huge thing for me.” - Linus Torvalds

I’m glad this applies not just to code, but to people commenting on a user research plan as well!

Lesson #2: Full-time designer? Manage your time & expectations.

After the SIG Usability charter was approved, project ideas started flowing. By this time, I felt comfortable proposing ideas. But as far as time commitment, I had no idea how much time I would be able to dedicate.

People on the Kubernetes project are extremely passionate about what they do. I saw no lack of discussions facilitated during my time at KubeCon, with the theme of debate coming up again and again. It’s contagious. Probably one of my favorite parts of the community. However, early on in my involvement with SIG Usability, I made the mistake of thinking I would be judged based on the amount of time I could spend contributing.

As a first-time contributor, I admired how involved everybody in the SIG seemed to be. They were chairs of other SIGs and seemed well versed in the inner workings of the community. It wasn’t until I met some of the other SIG Usability members almost 6 months later that I realized I wasn’t the only first-time contributor. All of a sudden I realized I was not alone. What’s more, I realized there were other first-timers who were also trying to balance full time design duties and contributing to open source all while keeping weekends free. I realized that while there are people whose work circumstances allow them to contribute full time. I should take on a level of contribution that makes sense for me. It should take into account my workload and what type of skills I want to build.

I should take on a level of contribution that makes sense for me. It should take into account my workload and what type of skills I want to build.

For me, this meant building up Kubernetes domain knowledge, flexing my user research muscles, and generally just giving back to the Kubernetes community. Overall this amounted to adopting a healthy 20% time attitude towards contributing. I attend the tri-weekly meetings, push survey work forward and if there are seasons when I can be more or less involved, I take advantage of that. Friday-you afternoons in the summer are the perfect example of a good season for being involved. Leading up to a Beta launch and having to work weekends, not so much.

Getting to that realization allowed me to worry less about what others expected of me and focus on contributing what I could.

Lesson #3: Hit a blocker? Help is a Slack away.

As our first survey approached a state where it was ready to send out, I still had it in a free version of Survey Monkey. It had gone through several rounds of feedback and had reached the point of, “Now what??”

With the help of our wonderful SIG leads, Tasha Drew and Vallery Lancey (Emeritus Lead), we were able to request permission to use the CNCF survey tool. CNCF helped us do a final review and publish our survey. We celebrated and sent our shiny new survey out to the SIG Usability email list.

Later the question became, how do we reach a wider audience than just our small SIG? Again, with the help of our SIG leads, I grew to realize help was just a Slack message away. Kubernetes has a whole Special Interest Group dedicated to the Contributor Experience. One message on their Slack channel and they help put you in touch with the right people. With their help we were able to share our survey via the CNCF Twitter, reach a global audience, and get a great response on our survey.

How amazing is it that the Kubernetes project has a SIG specializing in Contributor Experience?