Enabling Open Source Contributors

Part 1. Open source should be thoughtfully open source.

Cady Holmes
2 min readJun 18, 2018

Due to the nature of open source projects, open source is often toted as a great way for people to learn new skills in development.

While this sounds wonderful in theory, there’s often a caveat: it’s a great way for people who are already skilled to contribute to projects they find meaningful while increasing their experience.

Organized open source events help to offset this, but, honestly, open source development can be quite harsh and inaccessible. Of course the quality of the project requires this on some level, but please consider that the world of creating meaningful products does not consist solely of programmers scrutinizing each others code until an app falls out of the sky. And, while there are certainly exceptions, I believe the benefits of open source development can be increased and improved if project contributions were more obviously accessible.

This could mean a lot of things, but consider this example. You’re working for a big tech company creating a new app that will Solve the World’s Problems™. Your team discovers it will be near impossible to control quality if everyone is left to their own devices, so you decide to strategize and end up developing a separate product first. This isn’t a new concept. Maybe you need a custom audio or graphics engine. Maybe your level designers need a custom game engine to be more productive. The lesson here is that we already create products as tools to help us create better products in general, and this concept can be scaled or abstracted to address any number of other problems. And isn’t creating tools a defining aspect of being human? Isn’t our new app that will Solve the World’s Problems™ already just a tool?

This is where I think open source development fails. I think most projects, big and small, are thought of as being the atomic level. That they are themselves the smallest meaningful unit. And I think this is a mistake. The solutions being developed for these projects, even if the project is itself a solution to a bigger problem, can also be extremely useful if we could just recognize and develop them as such. And, if we were to create these tools for our large open source projects, we could simultaneously better control the quality of our project and increase the potential for other people to contribute in meaningful ways.

I want to be clear here. I’m not suggesting every open source project should try to accommodate any and every person who wants to contribute. But I do think open source projects should be thoughtfully designed to be open source. We should take the time to enable more people to contribute rather than insisting contributors take the time to be allowed the privilege.

Thanks for reading this quick introduction. Part 2 is coming soon, and I’ll be describing how I’m trying to put this into practice with my contributions to PowerUp, an open source game by Systers Open Source.

--

--