Skip to content

Instantly share code, notes, and snippets.

@unconed
Created May 26, 2013 20:59
Show Gist options
  • Star 41 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save unconed/104331390d4054b33b43 to your computer and use it in GitHub Desktop.
Save unconed/104331390d4054b33b43 to your computer and use it in GitHub Desktop.

Open Source, The Religion

On the terrifying power of sincerity

When I left the Drupal project, it was without a doubt the single most formative event of my life. I was involved for years at the heart of an open source community, the vast majority of it on a purely volunteer basis. Yet it took me less than a year of working with it professionally to abandon it all.

Since then, while it's still helped pay the bills, I've always resented it, but kept on observing it from the sidelines. It took me a long while to realize what was actually bothering me. It wasn't the people. They were genuine, honest, dedicated. It was the system they had made themselves part of. A system that's always there, but invisible, only expressed through the choices they collectively make for themselves.

L. Ron Huh?

See, because of Anonymous' Scientology protests, I'd been reading up on it. Not the teachings of L. Ron Hubbard, but the organization he created. How it works, which pressures it places on people, what it tells them, and what they tell themselves. One of the most educational videos is an interview with Jason Beghe—a Hollywood actor who followed the religion for decades, before leaving completely disillusioned. The resemblance to my experience was uncanny.

Now, the open source world and Drupal in particular are self-aware enough to laugh at their own cult-like vibes. There are celebrated symbols, massive gatherings, songs and mascots, the lot. That's not the comparison I'm trying to make.

Rather, it's what Scientology convinces people of. To understand it, you have to know how it works.

They find people who are down and offer them a completely supportive environment. They teach them basic academic and motivational skills, and then set them loose on the teachings of L. Ron Hubbard. What follows is a long and manipulative process, taught by others who are also merely cogs in the machine, a bit further up the food chain.

The advice slowly but surely evolves from practical life skills to deluded pseudoscience and science fiction, including promises of perfect health and perfect memory. The Scientologist quickly notices they are not succeeding, not getting any wins. The cognitive dissonance is resolved with a single meme: Scientology works. If it doesn't work, it's because you're applying it wrong. If you can convince people there is meaning somewhere, they will find it, no matter what. Stories of aliens in volcanos might seem ridiculous, but is it any more ridiculous than Moses parting the sea?

This encourages Scientologists to put up a fake facade to each other, and it becomes a giant club of people who are all secretly miserable on the inside. They refuse to admit it to themselves and each other, because it is a taboo in their social circle. Instead, they hope that the next exercise, the next counselling session, the next book or video tape, will be the one that makes everything better. To further fuel this desire, the Church eagerly re-releases old materials with minor updates, often at exorbitant prices.

The overall idea is simple: if you keep giving us your time and money, we will save you, and then you can save the world.

The Drop Is Always Moving

Now let's look at how Drupal operates. The goal of the Drupal project is, by design, one that is perpetual: to build and maintain the Drupal software. It is implicitly assumed that this is so, because the web is always changing. Each release supposedly brings the software in line with the latest trends and brings new, innovative features.

Well first of all, we can now safely observe that is no longer the case. What Drupal has been arduously doing for the past few years is keeping up with what was fashionable several years ago. The websites that the majority of users now spend their time on—Facebook, YouTube, Twitter, Gmail—bear little resemblance to the mid-2000s web portals that Drupal still creates out of the box, or the tools it offers to manage them.

I'd like to propose a radically different view: Drupal is perpetual, because there is no real goal and never really has been. It merely sustains itself.

Whatever it is that Drupal is supposed to be, there is no specification for it. No global plans were ever drawn up, no requirements to verify. The development process is always the same: notice something Drupal does not do, figure out which pieces need to change in order to add it, and then make only those changes. Implicitly, it's assumed that everything that currently is, should be. That somehow, an invisible person has gone over it all, and decided that this is still the best way to realize their master plan.

There is no-one doing that. The list of people who remember where it all came from only gets shorter. The one person who is ostensibly at the top hasn't done any actual architecting in years. Can he still look at any line of the code and know what it does? Can anyone else?

For example, when the Drupal project sets its mind to usability, the question is always, "Which new components can we build to improve this UI?" These are two questions that have been mangled into one: What's the best UI for this scenario? and Which components do we need to make good UIs? Instead of focusing on the end-result, the focus is on the process of development: to make Drupal better, piece by piece. Better for what?

Take Spark Drupal, the effort to add inline editing. It's an admirable goal to add WYSIWYG. But what is being built bears little resemblance to what was considered normal in desktop publishing a decade ago. When you create a new document on the desktop, you get an empty document. You flip from slide to slide in Keynote as you click and drag and edit. You don't fill out a form and save the file first before seeing it. Neither do you have to save the title separately from the body.

The act of inline editing isn't something that should be done piecemeal, textfield by textfield. Rather, a user should be presented with the website as an open canvas, able to make any number of changes freely. They should be able to click around, see a change in context on multiple pages, and publish them after. Unsaved changes shouldn't be an exceptional edge case to be solved with a Yes/No popup, they should be the primary way of interacting with the system.

The problem here is one of architecture: Drupal's UI layer is incapable of lying. It's only designed to show you the current state of a database. Yet by design, any client-side UI has to show you what you want to see, rather than what's actually stored server side.

That's what we know after decades of experience in building intuitive publishing UIs. If Drupal wants to keep up, why isn't it building that? They are adding styluses to their BlackBerries when they should be designing iPhones.

A similar problem exists in the latest efforts to improve the core architecture with Symfony. See, they're not bringing Drupal into the world of Symfony. They're bringing Symfony into the world of Drupal. The already impossibly-headed hydra is merely being reconfigured and augmented, rather than slain and resurrected from its ashes. There is always an overarching Drupal-way that must be maintained, a sensibility and taste that is superior. Chx said as much: Drupal always did it better. Always. What is that, other than a belief?

The development cycle is then a precarious process of trying to build a product that nobody understands, on a foundation of slowly shifting quicksand. Which then leads to the next release: a giant orgy of enthusiasm, the next best thing, the most amazing Drupal ever. If that's the case, why do developers instantly start developing again? I thought you guys just said you were done fixing things. It's because of what happens next.

The entire Drupal ecosystem springs into action. Clients are notified, updates are scheduled, new development is requisitioned, and the bills get paid. Until the next release, when things will break again. And remember, If your Drupal site is not usable, you're using Drupal wrong. Sound familiar? Don't you just love your vanilla contrib site whose UI resembles Hotmail before Gmail showed them up? Aren't we all happy? If what separates a good Drupal site from a bad one is not found in Drupal at all, then what is the purpose of going through it?

After more than a decade of development, Drupal the Software has already died the death of a thousand cuts several times over. The frog has been cooked by raising the temperature degree by degree. It's now dead, but rather than get rid of it, they've slit it open on the operating table and hooked it up to a Frankenstein-like machine that makes its limbs twitch in a convincing fashion. Enough to impress the clients, and bill them for it, release after release.

The Never-Ending Story

The Drupal project was modelled after the successful OS projects of its time, such as the Linux kernel. A core was created, an ecosystem of contributed modules on top. But the Linux kernel works because it has a well defined goal: to provide a complete environment to run native binaries correctly and safely. The purpose of drivers is to provide a uniform abstraction as well as specialize. If an application breaks, someone fucked up, and regression tests are written to avoid it.

In this light, Drupal's insistence that breaking backwards compatibility is necessary to maintain innovation is a complete misdirection. There are no stable APIs, no cleanly separate parts to interface between, nor is their behavior prescribed in anything but the code itself. Everything is connected, and no core changes can be made without forcing everyone to invest again. It is a symptom of an architecture that is perpetually unprepared for the future.

The Drupal community thrives on hard work, respect and admiration. Accomplishments are celebrated, new people are recruited, business deals are struck, and the numbers keep swelling, both the people and the money involved. But whenever Drupal 8 and Drupal 9 will get here, several years from now, they will still have the exact same problem. They'll have built an incomplete answer to two separate questions that were incorrectly smushed together. It's impossible to fix simply by chopping the result in two, you have to reorganize the question itself.

Drupal has always aimed to eliminate the middle men, to empower end-users. Yet it has become the biggest community of middle men around. For Drupal's mission to succeed, it has to be abandoned in its current form entirely, and be reborn as a dozen different solutions to individual problems, each of which can stand alone. Structure, layout, templating, formatting, visualization, interaction, these are the tools of the publisher. Not database entities and router links.

But this article doesn't change anything. Power is never threatened by truth, only by a better lie. Drupal has already been displaced, not by other CMSes, but by hosted services, which provide a better illusion of control than the promise of having the source code. How much control do Drupal clients truly have over it at the end of the day, when it's implemented at a cost of hundreds of dollars per hour, often just for ticking a couple of boxes in the back-end?

It's interesting to note that Drupal's star ascended simultaneously with the release and subsequent stagnation of IE6. Now the dark days of HTML4 are finally behind us, we find Drupal has spent its time solving problems of its own making, rather than showing the way ahead.

I can only conclude that Drupal has become the Scientology of open source. It's an ant mill of sincerity, each person taking their cue from those that came before, all convinced there is cake in the middle. As they march in circles, those that fall off are quickly replaced with others. It is both amazing and terrifying that the internet has allowed such a structure to form, fuelling an entire ecosystem of misplaced commerce with nothing but good intentions. I managed to reach the middle, there was nothing there.

People. Just stop.

@chx
Copy link

chx commented May 30, 2013

As I said: I tried to find the message and couldn't. If there is one it's perhaps this "For Drupal's mission to succeed, it has to be abandoned in its current form entirely, and be reborn as a dozen different solutions to individual problems, each of which can stand alone. Structure, layout, templating, formatting, visualization, interaction, these are the tools of the publisher. Not database entities and router links." -- at the backend, that's what Drupal 8 is doing, it's becoming loosely coupled. I can't speak for the frontend. Once again: I have no clue what this post wants us to do. I would be glad to understand it because we have learned a lot from Steven and I for myself am still open to learning. Just not sure what there is to learn here.

@omega8cc
Copy link

OK, I think I could write a post to explain what I consider a message here. It may completely miss Steven's intention, of course. I don't pretend to be the person who reads anyone else thoughts, etc. It will be extremely subjective, and I will even mention Textpattern and WordPress (but nothing obvious to expect in this context), so maybe at least it will offer just yet another perspective.

@Quevin
Copy link

Quevin commented May 31, 2013

I think anyone would get tired of the same project after almost THIRTEEN years (https://drupal.org/user/10). That's beyond the seven-year-itch, and then some! Congratulations on a marriage that lasted so long! And you could compare any cause to Scientology: Burning Man, any other cult, political parties, etc. IMO.

I'm terribly fickle when it comes to the adoption of technology, services, or movements. Or religion(s), for that matter. I can't say I'll be with Drupal for half of Steven's dedicated time, and I haven't contributed a fraction of what he has. But instead of this less-than-tactful comparison to L-Ron's "Burning Man," my advice is to spit out the cool-aid and continue the journey. I'll keep drinking—for now. You do your thing, and keep doing it as well as you are. Tip of the hat to you, and enjoy the journey, Steven.

PS Steven, you wrote about this back in 2008 (http://acko.net/blog/on-not-doing-drupal-anymore). So why this again now?

@benmirkhah
Copy link

I sympathize with the author on many of his complaints but find me a CMS that's not bugged down with the same pain points, Plone with its 50+ MB installation profile? Typo3 with its arcane scripting language? Sharepoint? Joomla? WP? or some hudge-pudge custom code made with some flavor of the month language like Ruby? Everything in the world is relative and compared to the available options Drupal is solid despite its share of headaches and hurdles.

@ponchovire
Copy link

I enjoyed reading this gist-article-rant. I'm not offensed by the author words: I'm developing against Drupal since now almost 6 years and the word "against" has never meant so much. Even thought this verbal explosion can be harsh to those who love Drupal I keep in mind it describes the author's subjective opinion. Opinion which I share for the most part.

From my perspective 6 years later I started hanging into the community, it's always been hard to say anything that goes against the Drupal Way (TM) and I was sorry for them: critiscism is not always mean, it's a way to discuss and improve things. I have to admit that now its community indeed opened its mind and is now ready to accept the outside world and that's probably because most of its developers are now quite experienced even thought they'd prefer to model the world around Drupal than preparing Drupal for the outside world. Nevertheless in the end I think it's a bit late for the framework: after ~12 years Drupal broke pretty much every piece of its API every major release and I don't think I will trust it anymore. Drupal might be stable when running but I can't rely on an unstable API that needs me to port every single line of code I wrote every two years.

Drupal does a lot of things but I'm not really sure it does everything well, I hope it won't do my coffee tomorow because I still appreciate a good coffee after all.

@kvantomme
Copy link

So that is why you designed Druplicon as a blue alien!

No seriously, you've confused religiousness with one single example of religiousness gone wrong.

I agree that Drupal and Open Source communities have strong religious undertones, but any successful community will. The capacity for finding meaningfulness in connection is what makes us human. Without it there is no sport fan clubs, youth movements, activist groups, parties, music, enduring life-long love for family and friends... You would need to take away everything that makes life worth living.

Our capacity for religiousness is the precursor in human behavior that allows us to find meaning beyond the utilitarian in our relationships. It is, I believe, the most important precursor for the social behavior of humans, our ability to build communities.

I for one am happy to be a member of the "Drupal cult". Drupal and the relationships that I have built through it, have been a great contribution to my life, and I know that there are a lot of people out there that feel the same. But that doesn't mean that we are all in denial of it's shortcomings, or that we will abuse people that do not see the world the way we do.

Comparing Drupal with Scientology is flame bait.

PS:
The Drupal community will always remain grateful for your contributions to the project. We are not jealous, you can be a member of any number of other cults concurrently, we won't hold it against you. You are always welcome back! :)

Earlier this year I've been blogging about some of the research I've been doing into religiousness and community you can find it on my blog at:
http://kvantomme.be/what-can-leaders-learn-ant-queens-essay-about-inspiration-and-human-emergent-behavior

A really good book on the subject, is "The social conquest of Earth" by Edward O. Wilson, that I reviewed at:
http://kvantomme.be/social-conquest-earth-why-advanced-social-life-exists

@omega8cc
Copy link

omega8cc commented Jun 6, 2013

@kvantomme Except, Steven made it very clear: "That's not the comparison I'm trying to make." It is not about Drupal as Community being a cult :) It is about Drupal as Project and its gravitation mass and inertia at the same time, which allows it to operate often against the most obvious logic and common sense, just like it works inside a cult member mind. Anyway, I will try to explain this better in the upcoming rant.

@kvantomme
Copy link

@omega8cc I got hooked by the flame bait, missed that 1 qualifying sentence to weaken the comparison after building it...

But even if the comparison with Scientology is only drawn to say how we are in denial of Drupal's shortcomings I think that's not fair: I hear loads of people cursing about doing code driven development in Features, some of the best attended sessions are critical of the platform, MortenDK has been doing his love-hate theming thing for how many years now? And you see these issues being addressed by Drupal 8. When I tell people how cool it would be to have a "Drupal-fail camp", where we can share experiences when we did fail with Drupal, people get positively excited because we want to share the lessons we've learned also when it's not pretty...

Any group will protect itself, it is basic psychology that people love the things they are invested in. But that is not enough to explain how Drupal became as big as it is now, clearly we must be doing something right :)

@bwinett
Copy link

bwinett commented Jun 10, 2013

The part that hits home for me is the discussion about breaking backward compatibility. Migrating our sites from D6 to D8 is going to be painful, something neither I nor my business customers are going to enjoy. Makes for a strong argument to go with a company that hosts sites - and keeps them current - rather than self-hosting (and administering).

@ezeedub
Copy link

ezeedub commented Jun 11, 2013

It sure is entertaining to watch Drupalista 20-somethings become 30-somethings!

I look forward to Larry Garfield's next Drupalcon presentation titled: "Is Drupal a CMS or a moral philosophy?"

Preach it Brother Larry!

Seriously, didn't you answer your own question with the following?

"If you can convince people there is meaning somewhere, they will find it, no matter what. Stories of aliens in volcanos might seem ridiculous, but is it any more ridiculous than Moses parting the sea?"

Precisely. No it is not.

But clearly, "they should be designing iPhones" instead. :/

@theodorosploumis
Copy link

Everyone is looking for convincing excuses when leaving his love... :-)

@jaredly
Copy link

jaredly commented Jul 17, 2013

I think drupal's incredible, but there is the unavoidable issue of it being written in PHP ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment