Removing the uppercase P filter…

So — people got a little hyped about the capital_P_dangit() filter that is activated in the WordPress v3.0 core.

For those of you that have been hiding under a rock for the past few days, this filter keeps you from “misspelling” WordPress.  More accurately, it changes your “misspelling” of the word to the “correct” spelling, without letting you know that it’s doing so. It’s just a little snip of code that Matt Mullenweg himself submitted.  It doesn’t seem like it should be a big deal, but well — to some of us, it is.   We write our content, sometimes we intentionally misspell words.  Some of us like to make a point of NOT using the “correct” capitalization for WordPress, sometimes for reason, sometimes not.  But it’s our choice.  It’s really as simple as that.

It it REALLY a big deal?  Well, honestly — no.  I don’t think it’s a huge thing.  It’s something Matt wrote, probably on a whim, and didn’t take into consideration that it might change the message of someones writing.  He probably didn’t think about it, cause it is just a silly capitalization thing.  Perhaps he forgot that WordPress is primarily used by people who wish to express themselves and that they might be terribly bothered by someone changing ONE OR TWO letters of their content.  Frankly, and I think most people will agree, it’s such a silly thing it should have simply been removed from the core for 3.0.1 — problem solved, everyone is happy, content retains it’s integrity and a straw is removed from the back of the community camel.

See — that’s where something happened.  Rather than applying logic to the situation, someone decided to let ego dictate their decision.  They dug in and opted to stick behind a silly decision, which is normally fine, but has no place is a large community project like WordPress.

Anyway …

I pretty much kept clear of the Twitter discussions, but finally had to say something.  My comment:

@nacin @chip_bennett emoticons & curly quotes are typically an optional enhancement. Forced “P” is forcing his vanity upon us.

The response to this from Andrew Nacin pissed me off:

@flashingcursor No, it’s not. You can hold whatever opinion you want, but “I hate Matt” is an invalid argument if there ever was one.

I’m not sure where @nacin saw “I hate Matt” in my comment… But that response, and the many like it,  is what I find amazingly disturbing.  It’s become the instant response to any resistance or comments made about core changes in WordPress, no matter how basic, civil, or well thought-out and proper the resistance.

As I said before, you are in /complete control/ of your site. It’s a single line to remove a filter. If you don’t like the filter, vote with your feet or with a plugin. If the function cause a non-trivial number of people to avoid 3.0, leave WP, or install a plugin to deactivate I would seriously reconsider it. In the absence of that, there are a 1,001 better places to focus my attention with regards to WordPress.

This response from Matt Mullenweg, quite literally, had me rolling on the floor laughing.  Realistically, there are probably only 3 or 4 people who wanted to force the spelling of WordPress to its correct capitalization versus the hundreds that didn’t care for it (based on the total number of downloads of one of the “fix” plugins).  In the time it took Matt to make that comment and return to the 1,001 better places to focus his attention, he could have solved the problem.

Andrew Nacin has also expended an amazing amount of time arguing his point that “it’s the correct spelling” — and I think we all understand his argument.  But he’s arguing apples while we’re arguing oranges.  Personally, I make an effort to spell the brand name as it’s intended to be spelled, and it makes total sense to me why it needs to be that way.  The argument isn’t over that fact.  The argument we’re making is that many articles have been written on the subject and, unbeknownst to the authors, their articles read like a comedy skit because, effectively, Matt and Andrew have reached in and changed their writing.  We’ve stepped out of the arena of bugs and technical glitches and moved into the alterations of creative works — which is probably worse.

A few simple options:

  • Get rid of the code – easy.
  • Include the code as a deactivated plugin – not as easy, but it already exists, so …

Fact:  I put Matt Mullenweg and the other core developers up on a pedestal.  I think they’re great people and their creation has done AMAZING things for the world, the internet and for me personally.  I love what you’re doing, I love that you’re doing it under the GPL and making it available to everyone.  I understand that you often make decisions and prioritize things in ways that I don’t always agree with, but I know you’re doing it for the greater good of the project and I understand and respect those decisions.  This is NOT one of those decisions.

Watch this little cartoon and get over your egos boys.  I’d much rather laugh with you than at you.

A shorter version of the video below… Seems I went a little overboard with the first one.

To quickly remove the filter, you can add the following code to your themes function.php files:

remove_filter( 'the_content', 'capital_P_dangit' );
remove_filter( 'the_title', 'capital_P_dangit' );
remove_filter( 'comment_text', 'capital_P_dangit' );

WordPress: A community conflicted

An Open Letter to the WordPress Community

Every so often, the debates heat up and some of the more excitable members of the community get their panties in a bunch.

We’ve seen articles calling for Matt Mullenweg’s resignation, posts lambasting 3rd party developers that choose to go closed source, endless twitter fights and tantrums, and even the threat of law suits.  The GPL arguments alone have taken up hours of my time.

The whole situation turns into a black eye for WordPress and Automattic, and causes a great divide in an otherwise helpful and united WordPress community.

“Whenever you’re in conflict with someone, there is one factor that can make the difference between damaging your relationship and deepening it. That factor is attitude.”

– William James

If you came here expecting drama, you should stop reading now.  I’m not doing it.  In general, I think it’s the overly dramatic members of our community that have turned healthy debate into project poison.  For every conflict that exists within the WordPress community, simple non-combative solutions exist.  Thats what I’d like to talk about, and perhaps we can come up with some useful solutions.

So, if you’ve read this far, you might be thinking, “who the crap is this guy, and why should I be reading this?”, so let me take 10 seconds to introduce myself.  I’m a 37-year-old IT consultant and Sr. Project Manager with nearly 20 years of experience.  In a past life I was a very active and vocal contributor to the Mambo/Joomla communities and served as the “Head of 3rd Party Development Standards and Guidelines”.  I’ve been a WordPress fanatic for several years and have managed, developed and consulted on dozens of large and medium WordPress implementations and customizations.  Back in 2005, Yahoo was kind enough to give me a little award for a terribly simple implementation of one of their products.

All that said, I won’t pretend to be someone of any particular importance.  Although I’ve been very active in the community for several years, I’ve tried to keep my head low and let the debates and general bullshit arguments pass me by.  The only reason I’ve decided to get vocal now, after many years of relative silence, is because I see the cancer growing and I’d like it to stop.

So, where do we start?  What is the biggest perceived problem?

The biggest arguments seem to surround the “Conflict of Interest” between Automattic and  Some very squeaky wheels believe that, because Matt Mullenweg founded and generally controls both the for-profit and non-profit entities, decisions about WordPress are geared toward increasing Automattic’s bottom line .  To further the argument, critics seem to believe that Automattic’s hiring of several core contributors increases this conflict.  A recent announcement stating that Jane Wells, an Automattic employee, was being paid to do nothing but help with the open source project, fueled the fire of several very vocal community members.

Put simply, the argument is flawed.  I’ll bullet-point in an effort to keep it brief.

  • Automattic needs WordPress coders and why shouldn’t they hire the best coders they can find?  It only makes sense that they hire from the pool of very talented core contributors.
  • Automattic is the largest contributor and supporter of the project — they have every right to steer the project in a direction that is most beneficial to them.
  • The vast majority of improvements made by Automattic employees are put into the open source codebase — without those contributions, the project would suffer dearly.

That said, there are a few things that Autmattic should be doing to calm the waters.

First of all, if Jane Wells is dedicated to maintaining, she should be a WordPress Foundation employee.  As such, her mandate would be to do what’s best for That would mean doing everything to keep it’s biggest contributors and supporters happy while getting the best possible outcome for the community.  This might seem like an argument of semantics, but it’s an important one.  As an Automattic employee, her role is viewed as such — and her duty, perceived or real, is to help Automattic make money.

Second, Automattic should be much more open and vocal about their intentions.  There’s nothing wrong with saying “Hey, we want this because it’ll help our bottom line.  We contribute the code, we fund the show, and we’re giving it away to you guys for free so quit your bitching!”.  It’s their right to do things that are in their best interest and until The WordPress Foundation starts getting support and contributions from other companies that can rival those of Automattic, the Foundation should listen.

Lets not forget that Matt Mullenweg co-created WordPress.  He created the company that financially supports the project.  Those core contributors he hired now have jobs that allow them to work on code full-time, they get paid to code for Automattic, and most of that code comes back to the community.  Until the naysayers can invest the same amount of equity he and his company have, there isn’t much to talk about.

GPL Issues

The GPL has been a very hot topic for a long time.  I don’t particularly want to use this venue to argue which side is right or wrong; Instead I’ll just give a 30,000 foot view of whats going on and suggest a few changes in current policy that might help smooth things out.

There are basically two interpretations of the GPL and how it applies to WordPress plugins and themes:

  1. Anything written for WordPress is covered under the GPL as derivative work – The End.
  2. Themes and Plugins don’t derive themselves from WordPress, but rather they use the API as an interface to add functionality without actually modifying the code.

It’s really not that complicated, and both sides make very valid points.  You either follow the licence to the letter or you follow the “spirit” in which the contract was written.

As it currently stands, The WordPress Foundation insists that anything written for WordPress is covered by the GPL and should be treated as derivative works.  They’ve deemed that anyone releasing plugins or themes under a non-GPL compatible license in violation of the GPL.

The big problem here is the attitude The WordPress Foundation and Matt have displayed in regards to the subject.  I won’t argue that their interpretation of the GPL is incorrect, but their vigorous condemnation of those that choose to release themes and plugins under non-GPL licenses is just plain bad PR.  It’s a very grey line and until there’s a legal precedent that gives one of the two sides a solid foundation, they really need to either treat the situation much more gently or take it to litigation.  Sadly, I don’t think there’s any middle ground here.

Calming the waters

What needs to change?  How can the community, Automattic and The Foundation do things differently to keep the WordPress vibe a shiny happy one?  Well, ultimately, nothing will ever please everyone.  The WordPress community revolves around an enormous and very diverse population of people and commercial ventures and there will never be a one-size-fits-all solution to every conflict.  There are, however, some simple changes that might just help the general perception of WordPress.

  • Open and direct public relations;  No more sudden announcements and changes in policy without open discussions.  No more speculating on why a feature is being dropped.  I know it’s a pain in the ass and perhaps a bit of a time suck, but it’s necessary.  There will always be critics, but it’s pretty easy to take the boom out of their thunder if you take away their ability to speculate on motive.
  • Some separation between Automattic and The Foundation.  Make someone like Jane Wells an employee of the foundation, acting in the best interest of the foundation and the community.  The end result may be nearly identical to what we have now, but at least then the foundation can justify why decisions are made, how they’re beneficial to the community, and even if those decisions still sway in the direction of what Automattic wants, it won’t be Automattic making the decisions.  It’s all about perception and public relations.
  • Get rid of the gray area with regards to the GPL.  Lawyers can interpret the GPL as it applies to WordPress however they’d like, but until there is some real legal precedent it’s always going to be up for debate.  I know it’s scary for everyone involved, but it’s “final”.  The debates feed the cancer.  Persuasive individuals on both sides of the fence will always build up armies of followers and set them off to combat.  We don’t need another never-ending war.

Can it really be as simple as that?  Hell no.  There will always be some kind of conflict.  These issues are the biggest problems right now, and it’s time to address them before the next conflict begins.  Lets use the current conflicts to build deeper relationships, find better ways to handle things and the end result will be a better community for everyone.