A cautionary tale for the Drupal community

Don’t get cocky, kid.

Kevinjohn Gallagher recently wrote “WordPress has left the building”, expressing his colleagues’ and clients’ frustration at trying to use WordPress when CMS capabilities are required. His 15 points of pain for developing usable sites with WordPress are an interesting list for Drupal developers as well. We have good solutions (that are still improving!) for many of the items on that list. Yet, we still share a few of those pain points with WordPress.

Unfortunately, Kevinjohn has been getting attacked by many of the WordPress community. While many WP fans have been writing “How WordPress took the CMS crown, his piece about his agency dropping WordPress as its go-to website solution as provoked vitriol. Over at the WP Tavern, he writes:

[…] there are more posts on WordPress community sites discussing my CV and dyslexia than the actual content of my post.
Sadly in the last 7 days I’ve had 3 ddos attacks, 14 threats (4 “credible”) against myself or my family, multiple requests to have me removed from speaking at WordPress events

I know that many online discussions quickly devolve into ad hominem attacks rather than proper discussions of the issues. But there’s something slightly different going on with the WordPress community. Kevinjohn continues:

Worse of all though, is that the rhetoric of “there’s a plugin for that” is now so deeply imbedded in the WP community psyche that they constantly spout it without actually knowing if its true or not.

That one hit a bit close to home as my book, Drupal 7 Module Development, actually includes a similar quote:

There’s a hook for that.™

It seems that many in the WordPress community take its “superiority” for granted and see honest criticism as an attack against WordPress. Fanboyism has overtaken listening to the users.

Drupal has had its share of well-known community members switching away from Drupal. Development Seed, James Walker’s walkah.net and Steven Wittens’ acko.net are now all built with Jekyll.

There’s a lesson for the Drupal community there. Don’t be complacent. Don’t be tone deaf. Don’t get cocky.

Topic

Posted in

Macro blog

Comments

Dont be a FanBoy be a Superhero.

Its a very good read that any cms systems fanboys should read - i guees theres (maybe) one thing that sets drupal a little bit apart, at least for those of us that have burned the fingers on it for years, is the extreme "love/hate" releation ship that i can sense around the projects.

I love the xtreme flexibilities & building oppertunities is get - but i goddamn hate that if i just wanna do a simple task & make it pretty i have to go through 32 different preprocess functions & pray 3 times to dark gods - and afaik its perfectly okay in the drupal community to be very loud about that fact. (or did i miss something)

The thing that i really hope that Drupal is gonna remember is that one of the goals was to make a system that sucked less than all the other systems - which has nothing to do with market shares etc, and were seeing things now that actually sucks about drupal (!... im gonna be burned)

What we can learn from some of those that have publically shifted is that both walker & dev. seed that Drupal was turning into a gigantic monolith that was hard to work with & was simply to heavy to fire up. for those task that was needed.
Using Drupal for a blog, is in some ways a total overkill when jenkins can do it quick, faster & without the overweight

Podio was orignal built on Drupal, but they moved away from it simply because it was to slow to bootstap :/

Im a bit shocked over the personal threads,but i guess that has more to do with people beeing assholes & WP beeing the biggest of the systems (and the easiest to get rocking with) that it dosnt have anything to do with their general community.

Dont be a FanBoy be a Superhero
- and we need those heros in drupal, to move the platform forward.

As Morten touched upon, bootstrapping is in my mind Drupals weakest link. In fact, it's so slow that using Drupal without caching is damn near impossible. Using it without caching with more than 2 concurrent users is out of the question. Using Drupal with it's own caching for more than 10 concurrent users is also out of the question. This is why we're stuck applying Varnish to try to make our great usable backends look cool and snappy.

Wanna do dynamic stuff and make your site seem alive? Well if you can live with a 6-second bootstrap on your ajax requests or Varnish ESI you can have it. If not, you're out of luck.

I run 30+ sites on Drupal and I'm really getting to the point where I consider moving to either Java or Erlang or whatever gets the job done - fast(er).

It's not about the CMS, it's about the client needs.

The gripefest on Wordpress was tackled well here: http://www.readwriteweb.com/enterprise/2012/01/missing-the-point-of-word... - take the time to read the comments as well.

As far as Drupal - well, isn't it just a little cocky to break backward compatibility all the time? This worked when Drupal was aggressively building mindshare (I've been using it since 2003), but now with the general direction of the project the "We will break it every new release" becomes a liability and effectively forks the project between versions. That liability often, if not always, translates to more money spent on recurring costs (maintenance) that many businesses would love to minimize.

"There's a hook for that!" - right. Like most open source communities (I've been involved with a few), there is a tendency to be developer-centric. It works to a point. Drupal has gotten to that point.

Last, but not least, not all CMS are equal and they shouldn't be. I'd be hard pressed to tell someone to invest time, energy and money into a Drupal install for a simple blog/site presence. Drupal's more of a developer framework now, for better or worse, and the more recognized Drupal shops continue extending it in those directions (Acquia, etc). Any shop dedicated to one CMS/framework at this point is likely a liability to their customers as much as themselves.

The projects are just tools. Fanboyism has its place: In high school. :-)

Christopher, I must agree with you. In fact, there are some heroes in the Drupal community that try to make bootstrap way faster. I must name the super hero, the one who lead the initiative that will make bootstrap faster : Larry Garfield, aka Crell, who leads the WSCCI initiative. He and the WSCCI team are making tremendous efforts, in discussion and code, to make that change happen. Problem : if WSCCI is successful (not even sure since a part of the Drupal community is reluctant/doesn't understand the necessary underlying changes), it won't happen in the best case before Drupal 8, which means not before at least mid-2013... Do you still want to wait until that moment, in a far future ? In the meantime you will have to do non Drupal stuff like Varnish and other caching technique to make it behave properly. Because Drupal is a monolith.

The risk for the community is that the Drupal competition may come from the bottom. Wordpress, to begin with, competes with Drupal because it can offer similar results simpler and with less overhead. And now Wordpress is evolving to offer more and more of what Drupal can offer (Content Types etc.). Simple static site generator like Jekill can offer what very simple Drupal/Wordpress installations can do. Nothing prevents Jekill, or system like it, to evolve and be more "Wordpress-y"... It's already happening, Jekill has a big community and a lot "modules" to extend it.

mortendk, I think you meant Jekill, not Jenkins :)

Christopher (again) : please do me a favor, if you switch, don't switch to Java, but Javascript/Node.js. It's fast, and you'll deal with one language for the front-end and the back-end. It will make you happy :)

I stayed up late last night reading KevinJohn's posts (he has several since then) and other posts around the web about this issue. KevinJohn reminded me of the reason I stopped pushing Wordpress so much back in 2007 (wp 2.3). I feel his pain as I got hammered from a lot of the Wordpress cult and received some very nasty hate mail, including from one core contributor.

Does that mean that I agree 100% with everything Drupal does? Absolutely not. But where the Drupal community differs from the WP one is that I can open an issue or raise the issue on one of the mailing lists and watch it evolve into an actual debate/discussion and not a flame war. That is a big benefit to the Drupal community and one that helps it continue to grow. Drupal is powered by the community.

Our future leaders are out there right now in the community contributing their first patches or modules. Everyone has the opportunity to become a core contributor or even version maintainer if they are willing to work towards it.

With Wordpress it's pretty much been the same people for several years now and a lot of decisions are not even publicly discussed. Instead it's some developer coming up with an idea and then it's pushed into the next release and stuck there. Drupal everything is discussed out in the open. Sure it might be hard to find where (devel list, issue tracker, g.d.o, IRC), but it is out there and anyone can get in on the discussion.

IMHO Drupal is a much better definition of open source. You can see how the product and community evolves and jump right in and become part of it. Sure people disagree with Drupal at times and even leave the community, sometimes in a public way. That's going to happen anywhere, but when that does happen with Drupal you don't see the level of attacks occur like KevinJohn has gone through. To me that makes the Drupal community much more open, welcoming to new people and mature.

Thanks John for a very interesting post and it's a shame to see fellow open-source communitites go through this but lessons learnt and let's heed this advice and let Drupal continue to flourish! :)

There is a dividing line in software between what we can call application software, meaning software that fulfills a certain domain of application, and organizational software, software that is customized to fulfill the operations of an organization.

Microsoft Office, for example, is the ultimate in application software. So is Google Docs. However, the Google MapReduce system is organizational software.

Open source licensing works wonders for organizational software, since it costs you nothing and gets you improvements to your systems for free. The trouble begins when you try to open source application software, and others attempt to transform it into organizational software. This is the case with WordPress.

WordPress is a blogging service. It was never designed to be anything but. Some agencies tried to deploy it to fulfill their own ends, but they rapidly run into the limits of the platform, and run into them hard. That makes them angry, but in no way does it threaten the WordPress.com application.

Drupal is organizational software and has always been so. This is why, although superficially fulfilling the same CMS functions as WordPress, it is structurally and even sociologically completely different. This is why Drupal breaks backwards-compatibility with every version - we are trying to ensure the relevance of our organizations within the future trends of the web. Drupal 7 is generations ahead of WordPress in its power and its ability to automate resource management tasks. It's also heavier. In my opinion it's no longer a CMS, it's an RMS (with the final Entity API).

For those asking why Drupal is inaccessible to beginners, the answer is another question: is this necessary to the success of our organizations? It is organizations that build Drupal.

One Core To Rule Them All

Drupal may have a healthy community spirit, but as a productive environment to try new things, it falls short. The core team is off focusing on the monolithic releases, and module authors have to scramble to keep up, wasting tons of time that could be spent inventing new things.

The problem with having lots of discussions out in the open is that everything becomes a discussion, and everyone has to please everyone. There is only one core after all.

Communities like node.js and ruby are much more chaotic, but the focus on modules and gems means that at least everything is based around pluggable components that can be tested and updated independently. The Drupal roadmap on the other hand is "Things will be better when Drupal 8 comes out and all the modules have been updated. Honest."

I think there is a fairly silent crowd of people who are growing tired of Drupal; it is not that the software itself is getting fundamentally worse, but the goals and needs of both some of the users/contributors and those of the project itself simply grow apart.

I believe that people like Development Seed gave up on Drupal because it was neither fitting their projects' needs (lots of data, lots of visualization, very low requirements for content curation and complex content types...), nor their approach to contribution (tightly coupled core components, high bar of entry for contribution, very taxing issue review process...).

This happens in most growing projects; rupture between some of the early adopters/contributors while the project matures and grow in complexity. Drupal is becoming for me too a technical burden more than a tool and my new projects are based on various other technologies; I know that for some use cases it still works great, these use cases are the ones that were championed by the majority of contributors and influential organizations of the community and that's fine by me.

I'm afraid I have to agree with Ekoki.

Even a year ago I couldn't have imagined I would be beginning a negative comment about a CMS and community that's previously been so good to me. But here I am.

I'm an ordinary bread and butter developer working for an agency whose business is exclusively with small to medium sized organisations. Drupal's flexibility made it a reliable workhorse. But with D7 it became a slow, plodding, complex nag and expensive to host. Drupal looks less relevant for anything other than large projects and enterprise needs, something that's been reinforced with Acquia's aggressive expansion and acquisition drive. I can see a day - and not too distant - when every Drupal site, great and small, requires such a huge pool of expertise to build and maintain and such man-hours the platform will be a luxury for the biggest companies. While it's hardly a surprise a few big names are beginning to think elsewhere it still delivers a sickly punch to see names like Development Seed and James Walker among them, and makes you wonder, is it worth sticking with it? Of course if you hit the big time and either win enormous projects or get snaffled up by Acquia it's obviously worth it. But for a run of the mill developer in a run of the mill agency?

There's Drupal 8, of course, the cure-all... but it's fragmentary, sprawling committee-led process doesn't instil me with confidence. Drupal's always done best when imaginative contributors have shown the community new and better ways of doing things. It's rarely come from the conclave fiddling with core. The trouble is, at this stage the only way I can see for it to regain its relevance for smaller sites and agencies is with a fork.

Hey, uh, James Walker has definitely NOT abandoned Drupal. His talk gets cited incorrectly all the time, but he was in our office just yesterday working on a Drupal project!

Dear Mathieuhelie, you seem to ignore the fact that Drupal is branded as a one-stop solution for everything from a personal blog to enterprise content management. I don't understand where your definition of Drupal comes from so I'll just blatantly assume that it's your personal definition.

For me, it's just another CMS. I've done most of them and Drupal really was promising for a while but after 2 years of full time Drupal wrangling I'm not that sure anymore.

Someone said it's time to fork Drupal and I agree on that. Actually, I think it's bound to happen. Drupal can't be a fix for all problems and it can't be simple CMS as well as ECM. I love the flexibility of it and how it allows me to build rather advanced solutions really fast but I absolutely hate the bad performance because it's bad for business. And sticking a cache on it is not a solution, it's a quick fix. But hey, at least we don't have to handcode HTML anymore huh ;)

Touchy Touchy

Wow, looks like some people get a bit touchy eh? I can understand (just about) raving trolls having a shout at anonymous people that they disagree with on some comment thread... but threatening Kevinjohn's family?! Over a statement on WP? Sheesh.

I've used Magento for this site: RC Jet Shop because it has better functionality for an ecommerce store (its CMS is shocking though). But then this site: Extreme FPV runs on Wordpress - which is a whole lot more suitable for the kind of content and video postings that it's doing.

If Kevinjohn suggests room for improvement in Wordpress why suddenly DDOS attacks? Also, if he needs better CMS why not use something else on a site by site basis? My friend made an awesome custom CMS system for himself in a few weeks... no big deal.

Cheers guys - sorry if you don't agree with me - please don't attack me and my family :D

Read this post and the Jekyll posts from Devseed. Devseed's blog is nice, but they have commenting off, so I guess they went overboard with their static philosophy there :)
I find their argument flawed about Drupal being slow. Who would put up a Drupal site without Boost and File Cache anyways? Oh, and Akiban coming soon as well. http://www.akiban.com/blog/2012/05/14/akiban-server-progress-drupal-7-be...

I guess its time for those guys who left to pivot back to Drupal. :)

Oh man... I'm WAY late on finding this thread. But I'm going to resurrect it any way!
I'm sometimes accused of being a fanboy for Drupal. I agree with many posters on this thread that it is hard to be considered a true fanboy when you're willing to admit that Drupal does many things wrong.
If I want to complain about Drupal as software, I'll mention the ever-growing number of people who are very concerned about the UI/UX that has you go to 2 or 3 or 4 different config pages to accomplish similar tasks.
To that end I'm looking VERY forward to the UI/UX Summit at BADCamp in 2 wks!

If I want to complain about Drupal as a community, then I'll argue that we don't communicate our "message" very well, nor do we do an effective job of engaging print media, tv media, other conventions, other OSS groups, etc. To that end I'm happy to say that I found more like minded people and we took this to the DA and we now have Drupal BAM, The Drupal Branding & Marketing committee; of which I'm a founding member.

So yes.. PLZ PLZ PLZ keep complaining. Blog about it. show up at the panel discussions and make a scene. Stay for the camp and con after-parties and walk up to the core team, the contrib team, the show owners, etc. and tell them what's on your mind.
You may get a little backlash here and there, but you ALSO might find that you're paving the way to a SUMMIT [as in the case of UI/UX] or you might find that you start a committee [as the DA allowed us to do when we brought our marketing concerns to them]
Bottom line... We can all be huge FANS of Drupal but I hope none of us get complacent. Go back and re-read Steven Wittens' farewell letter to Drupal dated January 2008. http://acko.net/blog/on-not-doing-drupal-anymore/ Some of what he complained about has gotten worse, while some of it is only now really being addresses at an actionable level. And let's not forget that the market [for now] seems to have not given up on us at all. I appreciate the fact that not every one is as busy as I am right now, but the fact remains that there is a HUGE market segment out there that either doesn't know about Drupal's shortcomings OR they don't feel directly impacted by them. But that can't make us complacent. We need to fix some stuff NOW! ;-)

Add new comment