CC Open Source Blog

Open Development with SaltStack

author's gravatar

by Timid Robot Zehta on 2019-04-17

I am excited to publicize the open source repository for our SaltStack configuration: creativecommons/sre-salt-prime. This is a rare offering. Not many configuration management system repositories are open sourced. Read on for why this is important to me :)

I really like open source software (The Open Source Definition (Annotated) | Open Source Initiative). Over the years it has provided me with access and capabilities I would not normally be able to afford.

I had very little money in college. My first computer was salvaged from a dumpster and ran entirely on open source software. I was once reduced to begging a few dollars to satisfy a museum's arbitrarily enforced "suggested donation". Thankfully, open source image manipulation software powered many of my art projects.

With the exception of typing class in high school and a few training sessions at work, I have never received any formal computer training. Instead, I was able to teach myself by using and investigating open source software. I have been able to determine exactly why open source software behaves the way it does by looking at the source code. It is instructive to be able to synthesize complex systems as a single user and participate in the same communities as SysAdmins using the same software with thousands or millions of users.

I've been gainfully employed in the technology sector for over a decade so the free cost of open source software is not as necessary to me. However, open source software remains very important. As a SysAdmin, I have repeatedly found open source communities to be a better resource for support than even the most expensive maintenance contract. The ability to make at-will modifications to a codebase can save project timelines, and seeing those modifications accepted upstream is deeply satisfying.

When I started at Creative Commons in the fall of 2018, I began using SaltStack full time. As part of my work on developing infrastructure as code at Creative Commons, I created a new open source repository for our SaltStack configuration: creativecommons/sre-salt-prime. While working on provisioning of AWS resources, I have had trouble finding examples. I learn best by example and I know I’m not alone. I hope opening this repository helps other Site Reliability Engineers (SREs) and Systems Administrators (SysAdmins).

I expect that working in the open will improve the quality of my work. Research has not only shown that people produce higher quality work when they expect it to be reviewed or shared, but also that open source allows others to provide criticism, feedback, and contributions.

Perhaps most of all, I hope to give back to the community. I hope it helps others learn when they do not have access to proprietary software at home, school, or work. I hope that my work in the open might lower the resources required to implement open source for others.