line art of two overlapping gemstones Spinel

Meet Spinel

Welcome! This is the blog of the Spinel Cooperative, and after a very busy season of new client work, we’ve finally managed to write the very first blog post we put on our todo list: this post. What is Spinel? Who is Spinel? Why is Spinel? Read on to finally receive the answers to all these and questions and more.

What is Spinel?

Let’s start with the what (and the who). Spinel is a group of software developers and open source maintainers – including founders of the Rails and Bundler core teams – who have created a worker-owned cooperative. When I needed to find new work last year, the idea for Spinel grew from my passion for making software development a good experience for every developer (including myself!).

We all deserve to experience quality, speed, and joy both in our tools and on our teams. It’s an amazing feeling to work with a fast, reliable test suite and tools that help you instead of getting in your way. It has been an amazing experience to work with other developers that I’ve known and looked up to for many years, as we bring these values to life in ways that are as satisfying for us as they are for our clients.

What is a worker-owned cooperative?

A cooperative works mostly like a regular company, but adds some rules around decision-making and profits. In a worker-owner cooperative, the people doing the work also run the company, make the decisions, and share the profits. In company decision-making, each member gets one vote. When there are profits, each member gets a share based on how much they contributed to the work.

co-ops and open source projects have a lot in common.

Although cooperatives are very non-traditional in the tech industry, their structure is surprisingly similar to how healthy and successful open source projects work. Most open source projects have a membership system, with some non-member contributors, and a core team of peers making decisions and working together. We may write a post in the future about what working in an OSS-developer-owned co-op has been like so far. Let us know if you’re interested in hearing more!

Why create Spinel?

Across 20 years of working with Ruby and Rails professionally, I’ve spent years as a frontend developer, a backend developer, and an infrastructure engineer, but I’ve always had the strongest feelings about developer tools. Over and over again, I’ve seen the way developer tools impact the quality of developers’ lives and projects, and exactly how rare it is for devs to find useful, robust tools that help them do their jobs well.

It’s the difference between feeling like you have to clear a path through the dense jungle of a clunky, legacy codebase, fighting you every step of the way – or hiking a prepared trail through your project, with the right equipment. As software developers, we have the skills and ability to make software that is more reliable, more helpful, more useful, and better. We should do that!

the business reality of open source work led us here.

My open source work, from helping ship Bundler 1.0 in 2010, to working on RubyGems itself and the RubyGems.org service, has always been motivated by improving the tools we use every day. While well-intentioned, corporate support for maintaining open source is often scattershot and not sustained, leading to cycles of burnout and contributor turnover.

When I created Ruby Together in 2015 in an attempt to solve those issues, we aimed to level up from “volunteers mostly keep things working” to “professionals who are giving a boost to every single Ruby developer on earth”. Many community members were supportive, but the overall model really only worked while tech companies had tons of cash floating around. Any time budgets tightened, “optional” support for open source was one of the first things to be cut. Other people will keep supporting it, right?

With that reality in mind, we set out to find a different model, where we can use our combined decades of expertise to offer support, advice and skills—like speeding up your development cycle from ticket to production—to developer teams and the engineers who run them.

Kicking off the new, exciting project rv at the same time meant a natural source of inspiration for how we might make this work sustainable was Astral, the company behind uv for Python. Another major inspiration was Filippo Valsorda and his company Geomys. They are a great demonstration of what a company of professional open source maintainers could look like, providing major value to both their clients and the community, at the same time.

How does Spinel work?

So, with that background in mind, what does Spinel actually do? Our goal is to make it easier to be a software developer, especially if you use Ruby. Right now, we have two main approaches to that work: we build open source tools, and we make client teams more productive.

Our open source work is aimed at every Ruby developer, whether they are a student, a startup, or a Fortune 500 company. Our client work is especially valuable for companies between 50 and 500 engineers, where adding developers dedicated to productivity creates a multiplier for the productivity of every other developer at the company.

The tools we’re building

If you’ve ever worked on a Rails app in the past, you’ve used our work, including many parts of Rails itself, RubyGems, Bundler, Hotwire, Stimulus, Trix, and others. Our current projects are all based on and motivated by that past work, including rv to manage Ruby versions and gems, oaken to simplify and speed up seed data for tests and development, and brat for writing tests that can run directly in any POSIX shell without a single dependency. We have tons of ideas about how we could make software development easier, faster, and more productive, and we think the open source model is awesome because those tools become community projects for community benefit.

How we can support your team

The other major thing we are doing at Spinel is taking on clients and working with them to make their software development teams more productive. The exact form the work takes can vary a lot depending on the client, but the two versions we do the most are retainers and projects.

When we’re on a retainer, we join your company Slack to answer questions, brainstorm solutions, and investigate confusing behavior. Any time you need to architect new features, solve tricky bugs, or hear about the tradeoffs between different options, we’ve got you. Over the last 20 years, we’ve probably tried most of the options at least once or twice, and we can tell you what went well, what went badly, and why you would choose one option over another.

When we’re on a project, we jump in directly to your codebase, and smooth down all the rough edges and snags of a problem that you’re having until it’s gone. Struggling with a huge, slow test suite? We have optimized more legacy test suites than you can count. Features taking too long to ship? We know exactly how to shrink the nested loops of editing, testing, and deploying your codebase until it’s a breeze.

If your company could use that kind of help, we would love to chat. You can drop us a note or schedule an intro chat to hear more.

If you you’re interested in our open source projects, we’d love to have you as a contributor! We’d also be very excited if you recommended us to your boss — our client work helps sustain all the other work we do. Either way, thanks for checking us out!

At Spinel Cooperative, we're building rv, a very fast version and package manager for Ruby. Hire us to multiply your team's productivity.

Subscribe for the latest on rv and our other developer tools.