Please Don’t Fork WordPress

There seems to be chatter lately about the possibility of forking or otherwise building derivatives for WordPress. The most prominent example is Ghost, which has gained a lot of traction as well as funding on Kickstarter. This week, Morten Rand-Henricksen posted a missive on creating multiple forks from WordPress with great responses on WPDaily and  WPTavern.

I’m not a developer, and I recognize there are a lot of people in the WordPress space who are smarter and more intimately familiar WordPress’s inner workings than I am. Even so, this kind of talk surprises and worries me.

I LOVE WORDPRESS AS IT IS

It surprises me because because I love WordPress. I think it strikes a perfect balance between ease-of-use and extendability. One of the beautiful things about WordPress is that it’s relatively easy to pick up but ultimately meets almost any need you might have in the future.

Yes, there’s a learning curve for a brand new user, but it’s a manageable one, and that’s one reason the platform is the most popular in the world. And making it easier by removing functionality that people don’t yet realize they need would seem to solve one problem by creating a much larger one.

FORKING WORDPRESS = FRACTURING THE WORDPRESS ECOSYSTEM

It also worries me because I think a forked WordPress, if successful, risks fragmenting a uniquely powerful community and platform. A project like Ghost that’s intended to become fully separate would just siphon off half the users and developers and development energy that current goes into the WordPress ecosystem, and redirecting it to a separate platform.

In the case of creating multiple forks as Morton suggested, the bigger problem is fracturing within the ecosystem, with multiple semi-compatible versions of WordPress that might require specific themes/plugins/plugin versions for each, or that might force theme/plugin developers to include conditional logic that fits with the unique assumptions of each branch.

In his post proposing forks, Morten offered the graphical explanation.

WP_fork_full_live-620x430

It looks neat and clean. But in my view, it’s deceptively incomplete. I created my own updated version of his graphic (see the top of this post) that illustrates what fractured WordPress ecosystem might really look like.

First, each branch has its own assumptions, functionality, and limitations, so plugins and themes need to be adapted to each.

Second, there would need to be processes that allow users to move from one branch to another as their needs change. I think it’s very common for sites to want more functionality as their familiarity, traffic, and needs grow.

Third, it creates a simple WordPress “lite” or “blogging only” version, but only at the cost of multiplying complexity in the ecosystem as a whole. Or stated otherwise, we’ve just traded one kind of complexity for another. As the WPTavern response points out, even the decision about which fork to start with becomes complicated.

Fourth, as the WPTavern response underscored, multiple forks creates an extra burden for the already generous but overworked team of volunteers and contributors that maintain WordPress.

Again, I’m not a developer. It may be that the great developers around WordPress can conceive of how to create various forks or branches that still allow seamless transition from one to the other, allow plugins to be used seamlessly on one or the other, and minimize the time cost of maintaining and servicing multiple branches.

I just know that from a user perspective, having a single platform that accommodates a wide variety of needs is valuable. And from a strategic perspective, I think the way to maximize the value of WordPress is to have a single focal point for the collective development energies of the WordPress community.

I’d love to hear others thoughts on this. There’s also a great discussion in the comments if you follow the links to the posts above.

Thanks for reading,

Erick

This entry was posted in WordPress.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*