In the beginning there was a big beige box
I met the road that led me to Tidelift many years ago. When I was young, I was fascinated that one could boot up a mystical beige box and interact with it, whether it was playing a game, writing a document, or even communicating with others. Dying to know how these mysterious machines worked, I tore down and rebuilt old computer towers. Eventually, I took to the library to learn more, and after a couple basic books on computer hardware, I felt fully confident in my understanding of how computers worked.
Yet still, I knew nothing. I understood how the hardware fit together, but I had no clue about what made things happen when I clicked around on the screen. The missing piece to this puzzle was computer programs. So I snagged a copy of Java for Dummies, and thus began my journey to becoming a software engineer.
There are very few things in this world I’ve experienced that come close to the feeling I had when I wrote that first bit of working code. It was like I was bringing a living, breathing thing into the world. The tremendous power one finds themselves suddenly able to wield is truly liberating. I mean, to be able to write the code that allows you to command an entire legion of machines to do your bidding at any hour of the night, unyielding, never falling ill, and without a single complaint, is a crucial ingredient in the recipe for total world domination. Or so that’s what I’ve heard.
But my point is that writing code is awesome. And you know what’s even better than writing your own code? Being able to use code that other people have already written.
Which brings me to open source
I wrote lots and lots of my own programs, but I also scoured the internet for code other people wrote that I could use in my programs. Not only could I move a lot faster that way, but the vast majority of the time, the code other people wrote was better than what I would have written, and was maintained by the people who knew it best, and it was all free to read and use! This was my introduction to the world of open source software.
Once I started to use open source in my own projects, I started to better understand the widespread usage of OSS. Nearly all developers and organizations use it. Nearly every piece of software we encounter contains some OSS in it, including the application you’re using to read this post. The entire online world is running on open source software.
The part where I see the problem for the first time
As I began to use open source more, I started to understand the importance of contribution. I’d been using all this code all this time without giving back anything of my own. It turns out that a large portion of developers don’t actually give back, whether to an existing project or by making their own. It might not be that they don’t want to, but it is a lot of effort and a big time commitment.
Someone out there has to keep the wheels turning and the lights on, if the whole world is using this stuff. I know that I personally have found it difficult to find the time to get ramped up on a project and give back outside of work, and I only have a handful of developer friends who have ever landed a commit in an open source project. There are developers, though, that do make this sacrifice.
Last year at React Boston 2017, I heard a talk given by Henry Zhu, the lead maintainer of the ridiculously popular Babel project. It was titled “Maintainer, Heal Thyself” and spoke of how it generally, actually kind of sucks to be an OSS maintainer. Consumers of this software often have incredibly high expectations and can sometimes be astonishingly abrasive with demands for quality or features that they don’t even pay for, or contribute to. Many maintainers feel a sheer obligation to continue to support the software, just because it’s used by so many. It made me feel a little guilty, since I hadn’t given back to any of the projects I’d used (especially Babel, as I have experience with and immense love for both compilers and JavaScript).
It got me thinking. Only two people are given time at work to keep Babel going—Henry, who got to spend 50% of his time at work, and another maintainer, who got to spend about 20%. Otherwise, that work wasn’t sustainably funded. But Babel code is running on many of the websites we use nearly daily, including Facebook, Reddit, Netflix, the New York Times, and so many more! Just two people!
There’s got to be a better way.
Oscar, meet Tidelift
The huge lure of Tidelift for me was the opportunity I saw for me to finally give back to the open source community, but on a much bigger scale. By joining Tidelift, I could be a part of the team that gets open source maintainers paid real money for their valiant efforts—while making every open source project in the world more reliable. I truly believe that many more people would be interested in giving back if there was a stronger financial incentive. I think Tidelift has some interesting ideas that will both get maintainers paid and provide something valuable to professional developers at the same time, so I’m absolutely thrilled to be a part of it.
As it turns out, I’ve got a pretty sweet little open source project of my own. It’s still quite rough around the edges, and needs quite a bit of work, but who knows? If it ever turns out to be a staple of the modern web developer’s toolkit some day, maybe I’ll truly get to enjoy the fruits of my labor as a lifter on the Tidelift platform.
Are you an open source maintainer? Become a lifter and get paid!