I read a disappointing post today in which Kevinjohn Gallagher announced that his agency will no longer be supporting WordPress. I was shocked and saddened by what he felt were the downfalls of WordPress, and I’d like to address a few points here. I hope none of this comes off as attacking Mr. Gallagher, who I do not know and have no personal problem with. I merely wish to express why I think he’s making the wrong decision.
The first, and I think most major, point is that open source software is in the hands of its users. WordPress is an incredibly extensible solution because it provides very easy and frequent hooks so plugins can modify core every which way. It’s this that makes WordPress such an excellent solution for so many organizations including the one I work for, the Bangor Daily News.
What WordPress is not is a complete solution right out of the box. Mr. Gallagher is correct that many of the things he listed off are either deficient of lacking in core WordPress. But almost every item can be addressed easily through a plugin that I can name off the top of my head. (There are a few items on there that I don’t understand, but I’m sure I could find solutions for those issues as well.) None of the items he listed are problems. The plugin system is great in that it can account for an infinite number of caching solutions, or CDN solutions, or single sign-on solutions, or many, many other things you might want to do with WordPress. Many of these plugins are developed by core devs or by people who work closely with the core devs, such as Automatticians or power users that run huge sites.
I was very disappointed, however, to read Mr. Gallagher’s criticism of WordPress’s testing process and its lack of support for ‘edge cases.’ To start with the latter, WordPress’s discontinuation of support for IE6 and IE7, for example, has nothing to do with the core team’s hatred of Microsoft (I know a few people on the core team use Windows exclusively) and more to do with using its influence to increase security across the board, which must be done. In fact, I would think it almost negligent of WordPress to not use its influence in order to get people to upgrade to the newest version of their respective browser. The BDN is a Windows-based company and we have never had a single problem using WordPress because of browser incompatibility, simply because everyone is on the latest version of his or her browser. I’m less familiar with the other edge cases he references, but I will address them along with testing:
WordPress requires companies to be responsible. That includes testing pre-release versions of WordPress to try and find problems and then contributing back to core to help fix those problems. Without involvement, there is no WordPress. So if there are problems, I encourage Mr. Gallagher to submit a ticket to WordPress core trac, and if he or his team is able to submit a patch. Failing that, I encourage him to create a plugin for the repository. Failing that, I encourage him to jump on the WordPress-dev IRC channel where he can talk to a core developer. Without that involvement there cannot be WordPress.
WordPress is not necessarily an easy solution. It requires user involvement in the creation process, just like Democracy requires civic involvement. There will always be people who keep their heads down and don’t get involved, and that’s fine if you’re running a single blog about your favorite topic. But when you’re a power user — either you run a large site or you provide WordPress support for your clients — it’s almost negligent not to be as involved as possible in every step of the process. It might not be as easy, but it will produce better results for you and for everyone else.
“WordPress is an incredibly extensible solution because it provides very easy and frequent hooks so plugins can modify core EVERY which way” (emphasis mine)
Sorry, this is wrong. It’s not EVERY, it’s MANY. Theres a really big difference there thats not just semantics.
“almost every item can be addressed easily through a plugin that I can name off the top of my head. (There are a few items on there that I don’t understand, but I’m sure I could find solutions for those issues as well.)”
This is a common reply from the community. I’m not sure what you’re after, but I’m sure it can be done, and I’m sure that someone has already solved this. If you don’t understand what some of them are, how on earth are you sure that there’s a plugin out there that does it?
And you know what, some of the issues DO have plugins that partially solve them. But most don’t. Oddly, no-one though to argue these with me when Andrew Nacin stepped in to agree with me when I raised the points last year.
( )
” I would think it almost negligent of WordPress to not use its influence in order to get people to upgrade to the newest version of their respective browser”
This isn’t true though. It’s a common myth that we techies tell ourselves. If we support browser X, then people will upgrade. It’s nonsence. Once your organisation reaches the thousands, getting everyone to upgrade to a new browser isn’t as easy as it is in a company with under 50 people. This is the part most people misunderstand.
Deep down though, I’m ok with WP dropping support for some browsers, but I want warning!! The dropping of IE7 was never publicised until AFTER the Beta was released and it didn’t work on IE7. Thats really scary for folks like me.
Folks like me, my colleagues, and my clients LOVE wordpress’ updates every 4 months, and it’s a huge positive for the ecosystem. But we live in fear of finding out at beta that a browser’s been dropped, or a capital_p_dangit’s been added etc. Change is good, change is great, unmanaged change is chaos.
‘That includes testing pre-release versions of WordPress to try and find problems”
We did. I took great pride in the fact that we did that. I loved that we were giving back. But it became un-manageable. Whats the point in testing if something like Capital_P_Dangit can be added the day before release without a Trac ticket? What’s the point in testing if we change jQuery version after 3 beta’s? especially if that jQuery version is only 3 days old and totally untested in the real world? When guys like Otto are updating their plugins to only work with the nightly or next version, it’s a nightmare to test.
Let me give you a real world example:
When the Beta3 of WP3.3 came out one of our test sites failed our tests. I asked our tester what had changed so we could narrow the issue down, and he said: Well, Otto’s plugin was updated, a new jQuery was added, and the WP core changed, and bbPress got a security update – so it could be one of them, all of them, or a combination of any of the 4 of them. Or it could be a bug in our code. So there’s about 100 permutations of whats causing the issue.
He told me frankly that he didn’t have the time to test that number of permutations, and wouldn’t as he knew that Otto’s plugin would be updated again in a few days as would jQuery, so he was as well waiting a week and testing again.
“Failing that, I encourage him to jump on the WordPress-dev IRC channel where he can talk to a core developer. Without that involvement there cannot be WordPress.”
Respectfully, I’m quite vocal in the community, but every time we raise an issue we’re met with a wall of hostility. Look at the reaction to my staff no longer wanting to work on WordPress – we’re getting physical threats to our families. But more importantly, we’re constantly met with this:
“Don’t listen to the vocal Minority, even if they are right” – Westi, Core Developer.
Westi said this at a WordPress convention last year. The reality is my friend, that we’ve done involvement, and we’ve done involvement, and we’ve done involvement. I’m speaking at WordUpGlasgow in 3 weeks, an event that I’ve taken out 2 sponsorships of (one personal, one business). I’m giving back. But I, and others like me, are met with a wall. There’s a large “you’re either with us, or against us” mentality.
“when you’re a power user — either you run a large site or you provide WordPress support for your clients — it’s almost negligent not to be as involved as possible in every step of the process. It might not be as easy, but it will produce better results for you and for everyone else.”
We tried. We’ve tried for years. Honestly, we’re just tired of the abuse, and threats against our family members. I do truly love WordPress. But for my small company, the good no longer out weighs the bad. Given that no-one commenting out there knows our business model or clients or projects, I’m not sure how people feel knowledgable enough to suggest otherwise.
This is a nicely written piece, and I really appreciate your tone as friendly, but you don’t have any CONTEXT about my business, my staff, my clients, our projects to be able to write these things accurately.