While Shopify isn’t the only company contributing to Ruby, its approach is somewhat unique and identifies how we all should get more involved in funding open source.
Finally, something we can all agree upon! The need for more investment in open source. While it’s fair to debate the best way to ensure sustainability for open source projects, it seems an unalloyed positive to see companies like Shopify, AWS and others invest in the open-source projects upon which they depend.
When I worked at AWS, I wrote about how and why the company spent so much money and engineering cycles on improving Rust. While some complained that AWS was somehow trying to control Rust, most are grateful that AWS, as well as Facebook, Google, Microsoft and others, are spending real cash to work to make Rust better out of self interest rather than charity.
In like manner, I love to see what Shopify is doing with Ruby. As the commerce platform company explains in a recruiting video of sorts, Shopify has spent years improving Ruby security, performance and more. Now the company is “funding high-profile academics to focus their work towards Ruby and the needs of the Ruby community.” And while this move will hopefully result in a better Ruby, there are concerns about the potential downsides.
What Shopify gets
Shopify builds most of its services with Ruby on Rails, as the company has noted for years. That makes sense because back when Shopify was founded in 2006, Ruby would have been one of the most appealing languages around, given its fast runtime and solid developer experience.
Part of Ruby’s appeal, then and especially now, was and is Ruby’s broad, deep ecosystem of mature libraries. Rather than write everything from scratch, using Ruby allows Shopify to tap into an ever-expanding Ruby universe that others are building. As one HackerNews comment explained, “There’s a ton of code you just don’t have to write if you stick to Ruby.”
SEE: 40+ open source and Linux terms you need to know (TechRepublic Premium)
Fast forward to 2022, however, and Shopify is a billion-dollar company with a need for ever-increasing scale. Given its early, continued bet on Ruby, the company needs Ruby to keep up. Some of that scale has come through the natural evolution of Ruby. However, there are some foundational elements in Ruby that might not get developed without a nudge. Hence, Shopify has given nearly $500,000 over the last year to academic researchers to provide that nudge.
As the company explained:
“We want programming language research to be evaluated against the workloads that matter to companies using Ruby. We want researchers to understand the scale of our code bases, how frequently they’re deployed, and the code patterns we use in them. For example, a lot of VM research over the last couple of decades has traded off a long warmup optimization period for better peak performance, but this doesn’t work for companies like Shopify where we’re redeploying very frequently. Researchers aren’t aware of these kinds of problems unless we partner with them and guide them.”
And it’s not just Shopify. Shopify enables a massive army of small and increasingly large retailers to do business on the web. Ruby on Rails makes it easy for less technically adept retailers to build or hire people to build their e-commerce websites and to seamlessly connect to Shopify. The better Ruby is, the better the experience for Shopify engineers and Shopify customers.
And yet, Shopify could choose to simply freeride on Ruby, using it without contributing back. This is, after all, what most of the world does with open source. On one level this is a problem, but it’s also been functioning this way for decades, and open source keeps growing. For Shopify, however, it makes a lot of sense to contribute back. Maybe not to all open-source projects upon which you depend, but for foundational projects that are central to your existence as a company, it is important to make contributions.
The Ruby community
I hope this doesn’t sound like Shopify has cornered the market on Ruby (the programming language) investment. It doesn’t. Not even close. Yes, Shopify employs key Ruby contributors like Eileen Uchitelle, who works on both Ruby and Rails to help them keep pace with Shopify scale. But Ruby on Rails (the web application framework that is used for server-side scripting and and building web apps), after all, comes from the folks at Basecamp, who have also made significant contributions to the Ruby language.
SEE: Master Linux and Docker before the next Linux adoption boom (TechRepublic Academy)
And the Ruby core team has others who work or have worked for GitHub, Salesforce and others as well as some who are independent consultants. Each of these developers brings their own experience and the needs and cash-plus-code contributions of their employers. In this way, the diverse contributor community combines to make Ruby better for all, even if the contributors just need it to be better for themselves.
On the other hand, the only real downside to Shopify or other corporations investing in open-source projects like Ruby is if there were only one or few companies contributing. Turns out that’s also a problem for companies like Shopify: they don’t want to be the only ones contributing. That defeats the whole purpose of shared investment and the community imprint it makes.
I called out how Shopify is investing because the funding of academic researchers is relatively novel for open source. But, Shopify’s contributions to Ruby, while significant, are not novel. They’re also not nearly as common as they should be.
Your company likely depends on a wide array of open-source projects. Maybe try picking one or two that are highly strategic to you, and contribute cash and/or code to help make it better.
Disclosure: I work for MongoDB, but the views expressed herein are mine.