As someone who, like many here, depends on Rails for my job, I’m worried about the long term effects of the last week on Rails. I’m not going to discuss those changes at Basecamp but I want to discuss my concerns about what this means for Rails itself.
In the last week we’ve seen:
- One Rails core team member resign from the core team
- The creator and major contributor to important features in Rails, like Turbolinks, Stimulus, Trix, ActionText and more, announce he is ending his participation in those projects
- One of, if not the, largest corporate contributors to Rails lost a third of their workforce today (so far).
- Numerous tech users associating their disagreement with actions at Basecamp and DHH with Rails itself (out of respect for the individual tweeters, I’m not linking to specific tweets)
Beyond my concern at the pain the last week has caused so many, I worry about one particular problem: that the Ruby on Rails brand will become viewed in a toxic manner and companies will avoid using it as to not be associated with it. Yesterday, I read that seven VPs of enterprise/Fortune 500 companies are trying to remove Basecamp from their companies. If this is accurate, it begs the question: will this desire to disassociate from Basecamp lead to disassociating with Ruby on Rails? I don’t think it’s inevitable but I do think it’s possible. This will be influenced by a second concern.
I fear that positive work in the Rails community on diversity and inclusion has been put at risk. As an example, the work by Rails Girls brought so many people into our community who would otherwise have not participated. I worry that the last week will lead to two problems:
- It will make people from marginalized backgrounds feel that they may not be allowed to safely discuss “political” issues dealing with bias, discrimination, exclusionary behavior and attitudes, and harassment, thereby pushing them out the community
- It will encourage an anti-inclusion subset of the tech community to view Rails as a place where they feel at home.
These two problems will interact with each other and could become a self-sustaining cycle. If the community gets a reputation as anti-diversity and anti-inclusion, it will push a lot of companies and users to not invest in Rails. That harms all of us.
In a practical sense, all of these problems boil down to one thing: Ruby on Rails is simply too associated with Basecamp and DHH. We can’t have decisions at Basecamp or DHH, whether we agree with them or not, putting Ruby on Rails, the software so many of us love and depend on, at risk. It’s not fair to those of us who aren’t involved in those decisions and it’s not fair to the owners of Basecamp or DHH individually to have to consider this as they run their company and live their lives.
What I would respectfully propose is that the Rails trademarks and ownership of the common Rails resources be moved into an independent multi-stakeholder organization with a robust governance model. I believe the Python Software Foundation’s model which includes a clear mission to maintain the project for the common good and board elections to set overall policy would be a good starting point. Such a model reduces the risk to everyone from any single organization’s or individuals decisions. Additionally, it also improves governance and creates more “ownership” of the project among users.
Governance in Rails is not a new issue. People have brought up that the current model has flaws. Parts of the project being designed “behind a wall”. Pull requests staying open for a long time without a sense of what it takes to get it merged (or rejected). People simply not understanding how decisions are made. I believe this is partly due to the governance model for Rails no longer meeting the needs of the community. This isn’t to say that it was the wrong governance model originally; it’s simply that the project has evolved and what worked in the past doesn’t necessarily work now.
I want to be exceedingly clear: I am not criticizing anyone on the Core team or any other team in Rails here. They have done a marvelous job working in the system that exists; they are not failing in the least, but the system seems to be failing them. And after this week, it may be failing all of us.
I don’t know how this moves forward from here. But I believe something needs to change because Ruby on Rails is too important to all of us and all the users we serve with our software.