Last week, I asked if those of us who are involved in the WordPress community if we are really open source pragmatists. This came from a quote that’s been posted, shared, discussed, and so on for the last couple of weeks or so.
There’s one sentence included in the quote that people don’t seem to be discussing and that is are odds with the reputation WordPress has.
The quote (emphasis mine):
The pragmatist values having good tools and toys more than he dislikes commercialism, and may use high-quality commercial software without ideological discomfort. At the same time, his open-source experience has taught him standards of technical quality that very little closed software can meet.
But few can argue that the application has a reputation having a less-than-stellar codebase which can easily call into question the technical qualities of WordPress.
In fact, some believe that it’s “developed wholly by monkeys randomly hitting keys on the keyboard,” and there are discussions that crop up on various communities – like Hacker News – about the poor quality of the codebase.
The purpose of this post is not to belittle the codebase of WordPress. For what it’s worth, I think that it has its good parts and that it has its bad parts, and – like all software – can be compared to a living organism where it’s always changing, and, ideally, the bad parts will mature over time.
But what I’m more concerned with right now is has WordPress taught us standards of technical quality that “very little closed software can meet?”
The Good News and The Bad News For WordPress
When it comes to talking about something like this, I can only speak in terms of my own experience. I’ll try to provide a concise, balanced breakdown on what WordPress has taught me.
I’ve come from both sides of the software world, too: I’ve done closed source software, and I’ve done open source software, and I’ve worked on both for about the same amount of time.
So with that said, here’s what I’ve observed:
The Bad News
I always like to give the bad news first, so the good news can soften the blow :).
- The core WordPress codebase has a reputation of poor quality
- The barrier for entry to writing plugins and themes on top of WordPress is set low, so quality appears to be less of a factor
- The community has fierce debates in which people – rather than ideas – are often left as collateral damage
- Despite the fact that we have coding standards, we don’t always respect them in core or in products built on top of WordPress.
There are other things that I’m sure others can contribute – after all, we’ve all had different experiences – but these are the top four things that I’ve observed from a high-level in my time with WordPress.
The Good News
Of course, there’s also a handful of a good things that come from working with WordPress, as well:
- The open source nature of WordPress allows us to improve the areas that are of poor quality. We can make a bad thing good and a good thing better.
- If you’re an experienced software developer, building things for WordPress can be done so using good engineering practices
- WordPress has bred meetups both at the city level and at the local level where fellow bloggers, designers, and developers can meet up.
- People of all types can contribute to the overall project, not just code, but documentation, etc. as well.
Again, this is just a brief (read: very brief) summary of some of the high-level points, but it’s what I’ve experienced during my time with WordPress.
The Technical Qualities of WordPress
In short, I’m extremely skeptical as to if the open-source experience of WordPress can truly teach a developer more than closed source software.
I don’t really see this as a function of the software itself, so much as the community around it. And as long as we’re busy fiercely debating topics of our favorite application (a good thing), we’re doing so in such a way where others are getting scathed in the process (a bad thing).
The core application is filled with both good and bad practices both of which can do a good job of teaching technical qualities, but I don’t know if it does beyond those who already know how to do it. Furthermore, the danger is that you can end up leading budding developers down the wrong path, or turning experienced programmers away.
Optimistically speaking, I think experienced developers stick around to make the core product better, but the risk is still present.
Finally, the technical quality of the software can also teach others how to write, through documentation, and can teach others to collaborate as part of a distributed team which are both skills that are becoming increasingly important as time goes on.
But just as people are determining whether or not they are open source pragmatists, I’d love for us to also consider if the open source nature of WordPress truly does teach more than closed source software can meet.
As the state of things are right now, I think the jury is still out.