Larry Garfield, a PHP and Drupal developer, writes on programming language trade-offs, architecture patterns, and his own account of a community dispute.
HN links it for Drupal 8 design debates (functional vs. object-oriented) and for his posts responding to his removal from the Drupal community.
> Postings in a closed online forum of sexual nature affects standing in an online collaboration community working on software.
Okay. Under my real name/identity, I was once upon a time a substantial contributor to the Drupal project, a PHP-based CMS/web dev framework.
Earlier this year, we had a kerfluffle where someone had a grudge against Larry "Crell" Garfield, a core developer, liaison to the wider PHP community, and just general pillar of the Drupal community for over a decade. This person shared activity that Crell had done in the "Gor" (kinda BSDM plus fantasy cosplay) community, which, IIRC, included private forum posts, a dating site profile, and a slideshow deck he had presented from a convention. All of this stuff was from private web sites; eg, ones where you'd have to at least sign up for an account to get access to.
The person with the grudge, who, as far as I know, has yet to be identified, provided this material to the Drupal Association as evidence that Crell, a typical SV leftist in most respects, was actually a closeted unrepentant misogynist who needed to be kicked out of the community. Battle lines were drawn, with some agreeing that he was trash while others felt that his out-of-community behavior had no effect on all the hard work he had done and could still do within it. And bickering happened instead of collaboration and coding.
Ultimately the Association came down on the side of the agitators and disinvited Crell from his speaking position at…
Er, your accusations about Acquia here are both incorrect and offensive.
For the record, Acquia was only marginally involved in getting the new database API into Drupal 7 in the first place (probably 95% or more of the work and technical direction for this particular feature was contributed by non-Acquians). Also, given that we (Acquia) own a MySQL-based Drupal website hosting business (and don't really have MSSQL or Oracle expertise on staff so it's certainly not our preference to have clients who want to run Drupal on those systems), the implication that this was some kind of Acquia-directed conspiracy really makes no sense.
Also, the primary motivation of the new database API was certainly not to support these proprietary database systems anyway. Other databases whose code is free (especially SQLite, which is now supported directly in Drupal 7 core) are much more important. And cross-database support is definitely not the only useful feature of the new database API, just one of them. I would suggest reading e.g. http://www.garfieldtech.com/blog/database-tng-lands for more information.
Regarding CCK, it's hard to understand why you are so concerned about features being "locked" in Drupal core for the next few years? For one thing, they're not locked (certain features might still be added to Drupal 7 if they don't change things in a way that will break existing code), but more important, the entire way Drupal works is that core functionality can easily be extended…
I spent a good portion of my early career working with Drupal on large-scale media sites and got to know some folks central to the movement. I liked almost everyone I met, including Dries, but after starting my own agency, left the platform and the community. Not because of individual conflicts, but because I concluded that I did not want my agency to orbit Acquia. This is what happens in commercially mature open source communities, and a huge source of mundane conflict. The founder and BDFL of the movement becomes the founder and BDFL of a venture funded, IPO-bound startup, and incentives start to become crossed. Or in the case this case, incentives become entirely perverted.
So I have a darker take on this: Dries banned Crell as a face-value reason to strip a competitor of a seat at the core contributor table. Crell works for Platform.sh, a challenger to Acquia's main hosting platform product. Drupal has lots of very senior architectural voices already, so losing Crell isn't going to jeopardize the platform, and it's more convenient for Acquia for them to work in the same place.
According to Crell's post about this [https://www.garfieldtech.com/blog/tmi-outing], the Drupal Association apparently attempted to apply their code of conduct and found repeatedly that Crell had done nothing wrong. But then Dries decided to ban Crell with little fanfare. Hard to believe that Dries cares that much about Crell's sex life. Easy to believe that he's become a cutthroat opportunist…
> I have this vision of someone in the PHP community at some point randomly picking up the Gang of Four book and being like "holy shit, check this out people...they had a solution to some similar problems 20 years ago..."
It's more subtle than that, but there's indeed a great lesson to be learned: the architecture of an open source project affects and reflects both its code and politics. Many years ago, the following article was written and spread through the community:
http://drupal.org/node/547518
Though it has since been updated, the original premise remains intact: "You can point to chunks of Drupal's code and identify pieces which act similar to OO-patterns. Therefor, Drupal is OO-like and there is no problem." New Drupal developers have been reading this for years, and drank the kool-aid, including myself many years ago, before I left.
But of course, OO isn't just about what the code does, but how the code can be re-used and re-factored, and this is where Drupal falls flat. It's always been architected as a waterfall of pieces that call each other directly. This was rationalized away with the trope that Drupal had a "solid, well-written core", meaning nobody should ever need or want to touch it. But what it really meant was that there was no room for innovation in essential parts of it.
Drupal has always exploited the low bar in PHP land to position itself as more than it is. It is not better than WordPress, it is merely bigger and more meticulously annotated.…
Absolutely. The dams of NIH have begun to break down. (I've started to see teams use things like Compass instead of conclude "But I have to install Ruby?")
People are collaborating on actually finally decent solutions (Composer, PHPSpec2, Behat). I see people relying less and less upon PHP's bloated, arcane and mostly dangerous standard library, instead building reusable chunks of PHP with surprisingly acceptable (comparably beautiful) design (Goutte, Twig, Doctrine).
Drupal, which I have managed to end end up working with full time for the last few years, has finally stopped (poorly) reinventing everything it touches: http://www.garfieldtech.com/blog/off-the-island-2013 and I expect that trend to continue.
We are starting to have a decent forward-thinking and flexible frameworks and projects like PHPBB have started actually using them.
I've also seen people actually using IDEs, writing docs, specifying argument types and being aware of the concept of stepping debuggers.
Facebook has sponsored enough alternate implementations of the interpreter that I've begun to lose track, charting the massive room for improvements.
Things are genuinely starting to look better; I still lose sleep over my tools and hoop-jump laden development workflow, but I actually have hope that I might not have to by this time next year.
I don't agree with the decision. But, he was not ejected for S&M hobbies. He was ejected because he was perceived to believe that women are subservient to men (evidently this was part of some of his online writing).
Here's a timeline of blog posts:
1. Larry's (the ejectee) initial blog post: https://www.garfieldtech.com/blog/tmi-outing
2. Dries' (founder of Drupal) following blog post: http://buytaert.net/living-our-values
3. Statement from the Drupal Association's Exec Director: https://www.drupal.org/association/blog/a-statement-from-the-executive-director
4. Another blog post from Larry where he clears up misconceptions and answers questions: https://www.garfieldtech.com/blog/tmi-part-2
More Info:
* Drupal community discussion on /r/Drupal: https://www.reddit.com/r/drupal/comments/60y9mq/larry_garfield_on_harassment_in_the_drupal_project/
* A great non-partial tldr; blogpost from Drupal developer Mike Ryan: http://virtuoso-performance.com/blog/mikeryan/thoughts-drupal-community