While Shopify isn’t the only company contributing to Ruby, the approach is somewhat unique and identifies how we should all get more involved in open source funding.
Finally something we can all agree on! The need for more investment in open source. While it is fair to discuss the best way to ensure that sustainability for open source projects, it seems completely positive to see companies like Shopify, AWS, and others investing in the open source projects they depend on.
When I worked at AWS, I wrote about how and why the company spent so much money and technical cycles on improve rust† While some complained While AWS somehow tried to control Rust, most are thankful that AWS, as well as Facebook, Google, Microsoft, and others, spend real money working to make Rust better out of self-interest rather than charity.
In the same way I love to see what Shopify does with Ruby† As the trading platform company explains in a recruitment video of sorts, Shopify has spent years improving Ruby security, performance, and more. Now the company is funding leading academics to focus their work on 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 noticed for years. That makes sense, because when Shopify was founded in 2006, Ruby would have been one of the most appealing languages, 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 writing everything from scratch, using Ruby allows Shopify to tap into an ever-expanding Ruby universe that others are building. As a HackerNews comment explained“There’s a lot of code that you just don’t have to write if you stick to Ruby.”
TO SEE: 40+ Open Source and Linux Terms You Should Know (Tech Republic Premium)
Fast forward to 2022, and Shopify is a multi-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 came about through Ruby’s natural evolution. However, there are some fundamental elements in Ruby that may not be developed without a nudge. That’s why Shopify has given nearly $500,000 to academic researchers over the past year to give that push.
As the company explained:
“We want research into programming languages to be benchmarked against the workloads that matter to companies using Ruby. We want researchers to understand the scale of our codebases, how often they are deployed, and the code patterns we use within them. For example, a lot of VM research over the decades has traded a long warm-up optimization period for better peak performance, but this doesn’t work for companies like Shopify, where we redeploy very often. Researchers are not aware of these kinds of problems unless we work with them and guide them.”
And it’s not just Shopify. Shopify empowers a huge army of small and increasingly large retailers to do business on the web. Ruby on Rails makes it easy for less tech-savvy retailers to build or hire people to build their ecommerce websites and connect seamlessly to Shopify. The better Ruby is, the better the experience for Shopify technicians and Shopify customers.
And yet, Shopify could choose to just freeride on Ruby and use it without refunding. After all, this is what most of the world is doing with open source. On the one hand, this is a problem, but it has also been working this way for decades and open source continues to grow. However, for Shopify it makes a lot of sense to contribute. Maybe not for all the open source projects you depend on, but for fundamental projects that are central to your existence as a business, it’s important to contribute.
The Ruby Community
I hope this doesn’t sound like Shopify has cornered the market with Ruby (the programming language) investment. It doesn’t. Not even close. Yes, Shopify employs key Ruby contributors, such as Eileen Uchitelle, who works on both Ruby and Rails to help them keep up with Shopify’s scale. But after all, Ruby on Rails (the web application framework used for server-side scripting and building web apps) comes from the folks at Basecamp, who have also made significant contributions to the Ruby language.
TO SEE: Master Linux and Docker for the Next Linux Adoption Tree (TechRepublic Academy)
And Ruby’s core team has others who work or have worked for GitHub, Salesforce, and others, as well as some 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 community of contributors combines to make Ruby better for everyone, even if the contributors just need it to be better for themselves.
On the other hand, the only real downside to Shopify or other companies investing in open source projects like Ruby is that only one or a few companies would contribute. That also turns out to be 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 mentioned how Shopify invests because academic research funding is relatively new to open source. But Shopify’s contributions to Ruby, while important, aren’t new. They’re also not nearly as common as they should be.
Your business probably depends on a wide variety of open source projects. Maybe try to pick one or two that are very strategic for you, and contribute money and/or code to improve it.
Disclosure: I work for MongoDB, but the views expressed herein are mine.