Larry Garfield
garfieldtech.com · Personal blog · on HN since 2008
Larry Garfield, a PHP and Drupal developer, writes on programming language trade-offs, architecture patterns, and his own account of a community dispute.
What HN saysHN links it for Drupal 8 design debates (functional vs. object-oriented) and for his posts responding to his removal from the Drupal community.
39HN people shared it
23linked it in comments
19stories submitted
159story points
9 months agolast shared
2008people per year2026
Most-shared posts
- 1TMI About me [Harassment in the Drupal community]12 people · 46 points · first shared 2017 · 8 comments on HN
- 2Response to conversations about me5 people · 75 points · first shared 2017 · 40 comments on HN
- 3Selfish AI4 people · 8 points · first shared 2026 · discussion on HN
- 4MVC vs. PAC3 people · 3 points · first shared 2008 · discussion on HN
- 5Getting off the island in 20133 people · 1 points · first shared 2012 · discussion on HN
- 6Deception and discrimination in Drupal2 people · 4 points · first shared 2017 · discussion on HN
- 7Go php 5 go2 people · first shared 2013
- 8Programming language trade-offs1 people · 11 points · first shared 2010 · discussion on HN
- 9Drupal's audience priorities1 people · 3 points · first shared 2010 · discussion on HN
- 10The future of caching1 people · 2 points · first shared 2011 · discussion on HN
- 11PHP project structure survey1 people · 1 points · first shared 2012 · discussion on HN
- 12Composer vs. Linux Distributions: A Mental Model Battle1 people · 1 points · first shared 2016 · discussion on HN
- 13Oracle vs. Google... and the web?1 people · 1 points · first shared 2010 · discussion on HN
- 14What Symfonic Drupal means | GarfieldTech1 people · 1 points · first shared 2011 · discussion on HN
- 15Best practices are contextual (2017)1 people · 1 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
mikeytown2 · 2010-10-18
Over in Drupal land we are talking a lot about the direction we want to take Drupal 8; FP vs OOP.
The last couple of posts on this blog are a good read.
http://www.garfieldtech.com/
NoZebra120vClip · 2023-06-22
Do you have documentation of that? Can you prove that it was non-consensual? Was there a prosecution of human trafficking that followed on?
I ask because I'm not surprised at all that there's slavery among BDSM aficionados, but it is supposed to be consensual, and Larry himself asserts that every slave relationship is consensual in the communities he belonged to, as of 2017: https://www.garfieldtech.com/blog/tmi-outing
So forgive me if I've misread your implication that any of this was non-consensual or forced. You didn't say so, but you seem to be implying that.
jackbravo · 2017-03-28
The original source would be this link: https://www.garfieldtech.com/blog/tmi-outing
Followed by this by Dries Buytaert, Drupal BDFL: http://buytaert.net/living-our-values
And then there was this other response from Larry: https://www.garfieldtech.com/blog/tmi-part-2
And besides techcrunch, there was this other piece by inc.com: http://www.inc.com/sonya-mann/drupal-larry-garfield-gor.html
nailer · 2017-03-28
Also worth reading: the self-outing post from the contributor: https://www.garfieldtech.com/blog/tmi-outing
The individuals that campaigned against Garfield probably had good intentions, protecting their community from what they thought were sexist beliefs. But someone having a lifestyle doesn't inherently mean that person pushes their rules on others who do not follow the lifestyle. Nor is their any indication that the contributor let this lifestyle affect Drupal.
ar-jan · 2017-03-27
No, this is Larry's response to Dries, the DA and others (following his first post https://www.garfieldtech.com/blog/tmi-outing).
sandGorgon · 2012-01-11
Drupal actually has a different paradigm than what most other CMSes atleast pretend at - PAC (http://www.garfieldtech.com/blog/mvc-vs-pac)
The fact that modules break, etc. imho is a Good Thing - in following the rule of "failing fast". Since, you dont need to change/hack the drupal core to do anything complex, if a module is breaking it is typically highlighting incompatibilities with other modules (99.99% of the time). Giving a white screen on module install is exactly the right time to have it happen, rather than 1 month later, when it goes live.
I completely agree with you on the admin UI part - I had just two main peeves with Drupal 6: Postgres support, which got fixed in Drupal 7 and admin UI, which is not yet done.
I also wish that they provide a couple of starter "installation profiles" - blog, wiki, corporate, etc. - enabling a quick start for 99% of the population.
kylemathews · 2011-01-05
Drupal is 10 years old so started back in the dark ages of PHP 3. So it started almost completely procedural but large chunks now have been converted to OOP.
Drupal doesn't follow the MVC pattern but the somewhat less common PAC (Presentation-Abstraction-Control) pattern. See http://www.garfieldtech.com/blog/mvc-vs-pac for a good overview of the differences between MVC and PAC and how Drupal implements it.
unconed · 2013-02-04
> 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.…
evunveot · 2017-04-12
https://www.garfieldtech.com/blog/tmi-part-3
TL;DR : The Drupal leadership hasn't accused Larry of a code of conduct violation publicly or privately but they're happy to imply that a secret violation exists so they can cover up the fact that they ousted him because his lifestyle is icky and bad for PR.
EamonnMR · 2017-04-12
Some context:
Garfield's statement:
https://www.garfieldtech.com/blog/tmi-outing
Executive Director's statement:
https://www.drupal.org/association/blog/a-statement-from-the-executive…
mamurphy · 2017-03-28
>how is this different that discriminating based on sexual preference (being gay)?
Garfield made that exact analogy in his reply (https://www.garfieldtech.com/blog/tmi-outing).
cweagans · 2017-03-28
Drupal developer here. I've worked on core, maintain many contrib modules, etc. and have worked with Larry IRL on Drupally stuff. I really don't understand what this quote is talking about if they aren't specifically pointing at his history. He's never been less than pleasant and considerate of others in my IRL interactions with him. Also, from his post:
> Second: I've been involved in the Gorean community since 2002. I've been involved in Drupal since 2005. It took until late 2016 for anyone to realize I was in both. Moreover, from what I understand from the CWG the first "leak" was someone on that alt-lifestyle private forum who found my account there, screenshotted it, and started passing it around.
(source: https://www.garfieldtech.com/blog/tmi-part-2)
klibertp · 2017-03-27
lambic · 2017-03-24
Larry's side of the story: https://www.garfieldtech.com/blog/tmi-outing
Macha · 2014-04-13
There was a massive push from the community for PHP5. They had a similar site to the Python3 WOS and large projects such as Wordpress and Drupal announced PHP5 only major updates. I would link it, but the domain has apparently been left expire and replaced with e-cig spam. So here's some link to comments about the announcement: http://www.garfieldtech.com/blog/go-php-5-go , and then a post about its impact and a desire to to the same again for PHP 5.5: https://groups.google.com/forum/#!topic/php-fig/ogp03OHbVJ0
There were a few reasons why they pushed harder with PHP5 however, especially given the tendency of budget web hosts to use old versions of PHP4 with insecure by default configurations (register_globals etc.).
itafroma · 2013-12-30
To be fair, it took about as long for PHP 5 to gain traction. PHP 5.0 was released in 2004, but it wasn't until PHP 5.2's release in 2006 that PHP 5 really became viable and PHP 4's EOL in 2008 that people started pushing for the widespread adoption of PHP 5 (via the GoPHP5 movement[1]). Arguably, it wasn't until the release of PHP 5.3 in 2009 with its namespace support that really spurred people to take a PHP 5-only approach to development.
Heck, one of the largest PHP 4 projects, Drupal, still supports a version of their product on PHP4: it will drop that support this March.[1]
[1]: http://www.garfieldtech.com/blog/go-php-5-go
[2]: https://groups.drupal.org/node/390343
lut4rp · 2011-02-25
Also, an obituary to Drupal CVS by Larry "Crell" Garfield: http://www.garfieldtech.com/blog/cvs-obituary
Crell · 2011-02-07
Another good thing to do: Pay it Forward: http://www.garfieldtech.com/blog/pay-it-forward
If you have a reputation for helping other people out where you can, others will be more likely to help you out in return. Reputation means everything in an open source community. Be good to yours and it will be good to you.
Cyberdog · 2017-12-21
> 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…
mherchel · 2017-03-28
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…
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_hara…
* A great non-partial tldr; blogpost from Drupal developer Mike Ryan: http://virtuoso-performance.com/blog/mikeryan/thoughts-drupal-communit…
netaustin · 2017-03-26
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…
lotyrin · 2012-12-31
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.
David_Rothstein · 2011-09-13
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…