One thing I love about being a software engineer is how developers all around the world collaborate on projects. There are thousands of projects hosted on sites like GitHub and available in repositories like npm for use by anyone. Many projects are volunteer efforts, while others are company sponsored, but the human element is always there and surprisingly accessible.

I’ve spent time on different sides of these relationships. I’ve helped maintain personal and company projects publicly, but I’ve also opened issues and submitted code for projects I’ve otherwise passively used. Most of the time, I have no idea who the person commenting on the other side of the internet is. But every once in a while that digital wall breaks down a little bit. Maybe it’s because I’ve gotten more familiar with someone’s work or seen videos of them speaking at a conference. Other times it’s because I meet someone at an online or in-person meetup.

Over time, I’ve grown to value these intersecting communities more. Initially, interacting with software projects online was intimidating. Each community has it’s own culture, norms, and tools. But I’ve gained so much from participating. There is a special thrill getting a response from an internet stranger which says “Good idea! I’ve added that feature and you can try it out now.”

Human Labor in a Digital World

XKCD comic describing how modern digital infrastructure is built on projects run by individuals
xkcd’s classic “Dependency” comic

What is wild to me, is how many of these projects are managed on a volunteer basis. While some people are fortunate to be paid to work on open source software, most projects are primarily one person spending their free evenings trying to understand the questions people submit and make the project better for everyone. That’s also why I’ve learned to not place high expectations on project maintainers. Project maintainer burnout is a real concern. Just keeping a project up to date with the changes or security fixes of other software can be a pain. Add an abrasive commenter or significant life event and it’s easy for maintainers to lose motivation.

Even knowing the costs, I’m still eager to contribute code publicly for other. My website code is publicly posted. I don’t expect many people to ever look at it, but maybe some will be curious how I make something and will take a peek. If I modify someone elses code, I try to share my changes so that they can be incorporated back into the main project, or even someone else. Currently I’ve shunned the harder work of supporting code for other people outside of my job, but I imagine I’ll do that again some day.

Community Language Building

I recently attended a developer meetup which partnered with the JavaScript programming language’s standardizing committee. I appreciate how the committee makes a big effort to work transparently and I’ve read many of the public discussions for new language proposals online. Many of the committee members are significant contributors to prominent Open Source software projects themselves.

After years of seeing how committee members interacted online, it was really eye opening to see them in person. On one hand, you can see so much more about their personalities and how they approach interactions. But I also learned more about their life experiences. Hearing people talk about where they worked, or where they got laid off, adds color about how they view technical problems. Even work as consequential as defining one of the most popular programming languages in the world still sometimes depends on volunteer work. Some committee members are subsidized by their employers, but others have to find their own time and pay for their own travel expenses.

Even with all the efforts towards transparency, the event gave me more perspective on something that feels like it happens behind the curtain. Beyond understanding the process, I was glad to meet the very real people on the other side of the internet who’s thoughtful discussions steer the code I write. I’ve had similar experiences meeting people in the IndieWeb community. People on the other side of the web are still real people with unique personalities and perspectives no matter how significant their contributions.

A Word of Thanks

I think the Open-source-software movement is a huge benefit to the world. Because others have shared the work they’ve done online and allowed others to use it free of charge, I have been able to build projects I wouldn’t even attempt. I wish there were better incentives for funding open source projects, especially considering how much economic value they bring to companies. But I’ll continue to be grateful for people being generous with their time for the benefit of the community.

This post is a submission to IndieWeb Carnival February 2023 - Digital Relationships, hosted by Manuel Moreale for the IndieWeb Carnival.