Let’s face it, modern development is completely dependent on two things; StackOverflow and Open Source Software (OSS). Without either, I suspect the majority of us developers/engineers/programmers/code-ninjas would spend most of our time timing staring at our monitors dreaming about the day we can retire. Today I want to focus on OSS and Underbelly’s journey of participation and support for open source.
Hi! I’m Zack, a lead developer here at Underbelly; I started here almost two years ago. At that time, we hadn’t put much thought into how we can support open-source but we were relying on a lot of open-source packages. We primarily run full-stack Javascript applications that rely on a multitude of packages including the big ones like react, babel, express, and next. Some of these are backed by major companies, such as Facebook, but most of them are supported by just a few individuals who dedicate their free time to creating and maintaining the packages. I’ve always felt an obligation to those behind the scenes developers that drive the world, so as soon as I had the opportunity I started pushing for us to get involved in OSS.
Creating an OSS package
To be honest, I’ve always found the life of an OSS package maintainer to be alluring. It presents itself as an opportunity for fame and fortune; a way of proving yourself as a truly great developer. The reality, it seems, is much more thankless, but that didn’t change my mind. So naturally, my first inclination was to create an awesome package that would prove to be a game-changer for front-end developers everywhere.
Even before I started I had been working on a few concepts that I thought could be great additions to the front-end scene. So when I started, I dedicated some time to working on those projects, made quarterly goals to release an OSS package, and worked with my boss to determine how we could best release and maintain OSS packages.
But then work got busy, life got busy, and there just wasn’t time for me to dedicate to working on OSS. And so the packages were never released. Eventually, I decided to shift my goals away from open source.
Sponsoring Projects
A quarter or two later, the question of goals came up again and I decided I wanted to refocus on open-source. From past experience, it was obvious that releasing a package was not a good goal for me so I focused on the smaller task of organizing Underbelly’s sponsorship of OSS projects. I worked with management to determine a budget and then based on that worked with the rest of the development team to decide on four packages to support.
In the end, we decided on Babel, Prettier, Styled Components, and React Hook Form. The first three are major packages that we use everyday on [almost] all of our projects, and the last is an amazing new project that has tremendously simplified the way we do forms. If you haven’t heard of any of these I strongly encourage taking the time to look into them.
While sponsorship isn’t as glamorous or high-profile as being a core contributor, in some ways I think it’s better. When creating any piece of software, not everyone is in the weeds writing code and building awesome features, most of the work is in other roles either supporting or enabling the developers. In fact, one of the biggest challenges for every budding software company is funding, and it is a constant stress on many software owners. My hope is that by sponsoring, and by being a proponent for sponsorship we can ease the lives of those who are in the weeds, creating the code that makes all our lives easier.
The major goal of this article is to encourage anyone reading to genuinely consider sponsoring some of the OSS packages you regularly use. Many may not have the financial means to personally sponsor a package, and in those cases, I would encourage you to be a proponent for sponsorship at your company.
Contributing to an OSS package
I don’t want to draw attention away from sponsorship as a means of supporting OSS, but the journey continues. This quarter my goal is to make three impactful contributions to OSS projects; in fact, most of our development team has the same goal. Sponsorship is a great start, but we want to do more! Some of us have already found projects we’ll be contributing to, but most are still looking so if you have a project that could use some support please reach out to us!
In addition, we have plans to finally release our very own OSS package, Belly! I won’t spoil the surprise too much, but it’s a tool we’ve been working on and utilizing internally for over a year and has consistently made our development faster and easier.
Conclusion
Support OSS! However, you can! Creating that magical, solve-all package would be amazing, but starting with a smaller goal can lead to great results over time.
Sponsorship should be your first option when looking at different support options. This is just my opinion, but I truly believe this can be the most impactful means of support.
It’s a journey. If at first, you fail, find a way to move past and just keep trying!