Extreme irony: the person most responsible for making Drupal a mature, stable, long-term platform has been ejected from a leadership role for reasons that are not entirely clear. As a result, the Drupal community itself is going through a painful crisis.
The heart of the matter is painfully unclear: Is Larry "Crell" Garfield being ejected merely for "thought crimes?" Or is there actual evidence of some sort of abuse, that the extremely tolerant inner circle of the Drupal Association and leadership could not tolerate?
One thing is for sure: the way Dries Buytaert and the Drupal Association handled this situation has drawn the very negative attention they were trying to avoid by giving Crell the boot.
My wife asked me what the short version of the story was. Here it is: Big contributor gets accused of a sexually deviant lifestyle, with no evidence presented to the public that he has brought this anywhere near his work in Drupal. Project leader terminates his role. Community is up in arms, canceling their Drupal.org accounts, protesting the dismissal, expressing lack of confidence in the Drupal Association and project leader.
But that simple story leaves out much of the complexity and background that makes this such a big deal. There's a lot more here:
- Crell was the person who persuaded everybody to move Drupal 8 core to use Symfony, and convert to a fully object-oriented stack at its core. This is the single biggest change in Drupal, pretty much ever -- and I think it has made Drupal one of the best long term platforms out there.
- Crell is not the first long-term technical leader ousted from the project this year -- "chx" was ejected just a couple months ago after a long history of abrasive communications but technical brilliance.
- The lifestyle in question, for lack of a better word, is not just a BDSM subculture practiced by consenting adults, but one that promotes a misogynist viewpoint, overtly claims that females are inferior to males
- Plenty of women in the Drupal community have come to Crell's defense, stating they have never felt any misogyny or discrimination from him in their interactions
- The Drupal community has long taken pride in a spirit of tolerance and inclusivity, to an extreme I haven't witnessed elsewhere, so rejecting somebody due to their lifestyle and sexual preferences seems particularly ironic (and explains why there is so much outrage)
- The explanations given for the ejection hint that there are incidents that are not in the public discussion that may indicate that Crell's beliefs may undermine the very tolerance and inclusivity the Drupal community prides itself on, and now that they are known, are entirely unacceptable to be associated with the Drupal community
There is so much here to delve into. I'm going to briefly touch on three: the technical contributions, the community ejections, and the community going forward.
6 years ago I wrote one of the most popular posts on this site: Top 6 reasons Drupal really sucks -- Developer Edition. Of these 6 reasons, half are addressed by the architectural changes introduced in Drupal 8 -- especially the biggest, most important thing that has always made Drupal suck: the upgrade path.
Doing a major upgrade of Drupal has always been tremendously painful, because over and over again Drupal has broken backwards compatibility between major versions. Drupal 5 is quite a bit different than Drupal 6. Drupal 7 is drastically different, with entirely different data models. And Drupal 8 is really an entirely different application that resembles previous versions of Drupal -- but no code you wrote before is relevant anymore.
This policy has had a lot of consequences for Drupal. Major upgrades have been major projects, leading to maintenance headaches, site owner dissatisfaction, splits in the community and codebase, and much more.
It has also forged technical excellence, allowed the community to largely abandon messy, dangerous patterns in favor of solid architectural patterns, led to test-driven development and an extremely high bar for quality, security, and usability -- and with Drupal 8, we finally have a platform that will be maintainable and relevant for at least the next decade, with no more major upgrade projects ahead.
The fundamental change that Crell single-handedly introduced into Drupal 8 makes Drupal major versions pretty much irrelevant going forward.
That is a very big deal.
I don't think this has fully sunk in to the broader Drupal community. There are discussions around changing the version numbering scheme for contributed modules -- yet many seem to miss the point that thanks to object orientation and introspection, it's going to be possible for the same contributed module to support multiple major versions of Drupal. For example, the same version of an Address Field module could be made to work with Drupal 8, Drupal 9, and Drupal 10 -- at the same time.
Suddenly major Drupal versions no longer matter (once people have moved beyond Drupal 7, that is...), but minor versions do. For example, Drupal Commerce already depends on new APIs introduced in Drupal 8.2, and won't even run on 8.1.
So this means contrib modules are going to end up much more like libraries in most other languages and tool sets -- as a contrib coder, you will probably end up specifying minimum and maximum versions of core and other contributed modules that your module is currently compatible with. And almost certainly, after Druapl 9 comes out, you'll be able to be compatible with 8 and 9 at the same time.
For site owners, this is going to be an even bigger deal -- the fact that a major upgrade is no longer a big deal. They simply happen as part of routine maintenance, a module at a time, until you have no more modules incompatible with Drupal 9, and you update core. (I see Dries just blogged about this very improvement)
This is why I now consider Drupal technically mature. And I give Crell full credit for persuading the entire Drupal community to make this happen, and getting the first prototype working to show it was possible.
This is the second major contributor to be ejected from the Drupal community in the past few months.
The future is here. Drupal is a better platform than it ever has been. The Drupal community has had to deal with some hard issues that don't have a clear correct answer. These are difficult milestones, but they are part of growing up.
I think the Drupal Association and the project leader did the best they could, and reached the only conclusion they could have. It's unfortunate that the story unfolded the way it did -- but does anybody want their platform associated with a misogynistic fringe philosophy? The leadership of a project reflects very directly on the project, and if the leadership did not eject Crell, would Drupal become known as the Gor platform? It would be irresponsible for any organization to let a highly visible leader remain in a leadership position when something like this comes to light. While I'm sad to see such a valuable contributor forced out of the project, I think letting him remain in such a visible role would not help the project broaden its reach, and may well make large numbers of potential users, developers, community members skip Drupal when considering a CMS.
It's time to put this issue behind us, and move on, older and wiser. I wish Crell well, and thank him whole-heartedly for his massive contributions to the project.