Open Source

On the Corporate Takeover of the Cathedral and the Bazaar

Originally posted as a Twitter thread.

We need to have a conversation about Open Source and equity. Particularly, we need to talk about how “decisions are made by those who show up” should be amended to read “decisions are made by those who can afford to show up” and what that means for our industry.

The origins of the Open Source movement are rooted in equity + distribution of power: Rather than large corporations controlling both the product, the tooling, and who gets to work on either, the user has full autonomy to create, contribute, distribute, and maintain everything.

This is built on an underlying assumption that everyone has equal ability and availability to actually take part in the Open Source community. From this stems the idea of open source software/hardware being built by the people who use it. That’s no longer true in my opinion.

When the Open Source movement began in earnest, it was a fringe movement – a pushing back against large corporations who controlled everything.

When I went to university in the late 1990s, professors and students alike said Open Source software was little more than a blip on the radar favored by academics and fringe communities. “Open source will die a slow and irrelevant death” said my TA during a Unix class.

When this was true, Open Source truly was built and maintained by the people who used it. That was then. 20 years later, things have changed. A lot.

Today, Open Source rules the web, the internet, and most of the connected technology space. Large companies like Tesla make a point of releasing their software as open source because it turns out the Open Source model actually works.

And therein lies the problem: As Open Source wins the battle for license supremacy, corporations are slowly taking over control over Open Source through the very structural models that made Open Source possible in the first place.

Many Open Source communities stand proudly behind the banner of “decisions are made by those who show up.” But like I said, this really means decisions are made by those who can afford to show up. Those who cannot are left to fend for themselves.

Who can afford to show up? To a larger and larger extent, the answer is big corporations. Looking around various Open Source communities you’ll see core designers and developers being snapped up by corporations to do “Open Source Contribution” full time.

That sounds good on the surface, but what it actually means is those corporations are consolidating power under their corporate umbrella. And no matter how much they say their workers are not swayed by corporate interests, the reality is they are, to a significant degree.

You can see this plainly in an open source project like Android which is now completely dominated by Google and Samsung. Sure, you can contribute all you want, but if you try to steer the project in a direction which doesn’t benefit one of them, you’ll likely get nowhere.

To put it bluntly, successful open source projects are ripe for corporate takeover. And in most cases this means the equitable ideal of Open Source goes out the window.

Who can afford to make significant contributions to open source projects? By and large employees at large corporations. Who can afford to speak at Open Source conferences? The same people. Who sponsors Open Source projects and conferences? The same corporations.

To put an edge on it, big corporations are buying out all the space of both the cathedral and the bazaar.

The inherent problem, as I see it, is our failure to put real actionable value to open source contribution: You can’t buy food or clothes or a roof to cover you from the elements through GitHub contributions. You need someone to pay you for those contributions.

The privilege of working for a company which pays us for open source contribution changes our status as contributors in a significant way because we no longer have to weigh contribution against paying for childcare or food or a visit to the dentist.

If we want Open Source to stay open and equitable, and not become the domain of corporations, we must face up to the reality of contribution and the value it creates.

For Open Source to stay open and equitable, we must find a way to reward contribution with real value. What exactly that looks like I’m not sure, but I hear there’s a thing called “money” which can be used in exchange for good and services.

For the past 20 years the Open Source community has faithfully invested its blood, sweat, tears, time, resources, family, and friends to build something amazing. Now, large corporations are reaping the benefits, refining the work and exchanging it for money.

The only way forward is to build an Open Source economy which promotes equity and shifts our mantra from “decisions are made by those who can afford to show up” to “decisions are made by those who are most impacted”.

I want Open Source to be a place where my 2 year old son can work when he’s old enough. I want it to be open and equitable, and I want it to be rewarding beyond props and GitHub status boards.

I want Open Source to be the community from which our future leaders emerge, from which our future societies are built. For that to happen we need to find a way to reward contribution outside the corporate coffers.

What do you want?

Update: After publishing this article, two relevant writings – one old and one new – have been brought to my attention. I’m appending them here for reference:

The Ethics of Unpaid Labor and the OSS Community
Ashe Dryden, November 13, 2013

The Internet Was Built on the Free Labor of Open Source Developers. Is That Sustainable?
Daniel Oberhaus for Motherboard, February 14, 2019


Newspack: Automattic, Google, and the SaaSification of WordPress

Earlier today Automattic (the company behind headed by WordPress co-founder and project lead Matt Mullenweg) announced Newspack by, a “next-generation publishing platform” “aimed at small- and medium-sized news organizations”. The new platform is funded in part by Google, through the Google News Initiative, and other companies. Here are my preliminary thoughts.

A missed opportunity for established players

While I’m zero percent surprised this service has been announced, I’m surprised it didn’t come sooner, and from someone other than Automattic. Automattic is not uniquely placed to launch this project, it is just the only player in the WordPress ecosystem with a proven record of offering WordPress as SaaS (Software as a Service). I’m surprised nobody else beat them to it: There are agencies in the WordPress ecosystem with extensive experience working with the exact target audience of Newspack (small- and medium-sized news organizations). In my mind these companies were uniquely placed to either individually or together launch exactly the type of service Automattic has announced.

These agencies have long offered a mix of custom self-hosted WordPress setups and integration with WordPress VIP (also from Automattic). Now the question becomes whether the Newspack platform will be open to agencies in the same way and WordPress VIP are (history points to “yes” on that front) and whether the above mentioned agencies will offer services to its users.

The SaaSification of WordPress

Back in 2013 I wrote a post on my blog predicting a splitting up of the WordPress ecosystem into specialized silos targeting industry segments with unique needs. My argument back then was the user base of WordPress is too heterogenous for one solution to fit all needs. In short, a hobby blogger does not have the same needs as a newspaper. What we’ve seen in the subsequent years is WordPress (the application) continuing in its attempt at being everything to everyone, and Automattic (and in small ways some other agencies and service providers) booting up customized SaaS solutions to fit the unique needs of different user groups. Automattic now has for blogging and small site building, WordPress VIP / Professional for large enterprise solutions, and the just announced Newspack for news. My expectation is they’ll soon offer a dedicated solution for e-commerce as well, through a custom SaaS offering powered by WooCommerce.

My prediction is this latest announcement marks the beginning of the all-out SaaSification of WordPress. The reality is because of the open source status of WordPress (the software), what Automattic has done with and their other services can be done by anyone, and I’d be shocked if Automattic stays the only player in the market for long. To put it bluntly, the days of WordPress self-hosting as the go-to solution for small-, medium-, and enterprise businesses are numbered.

What competing services like Wix and Squarespace have shown us is people want simple solutions to their web hosting that do not involve having a horde of web maintainers on staff or hiring an expensive agency to run everything for them. The obvious answer to this need is to spin up WordPress as a service and extend it to provide customized services for each use case.

We already see this in small ways. Managed hosting companies like WPEngine and Kinsta specialize in hosting and keeping up to date WordPress sites for users with above-average needs. Plugin providers like Yoast offer subscription-based services that reach well beyond what a plugin can do on its own.

The near future will likely see some of these services spin up their own WordPress-powered SaaS offerings targeting specific users. And they may not even say it’s powered by WordPress! As Automattic has demonstrated, you can slap a whole new skin on top of WordPress core and create a custom experience which looks and feels nothing like the main application. The Wix / Squarespace killer may well be a new service running WordPress in the background and a completely unique experience on top. Think managed hosting + a page builder like Elementor or Beaver Builder and a host of other customized services and you see where I’m going with this.

The Fracture

If my predictions here come to pass, the fracture I spoke of in my 2013 article might well be upon us. The divide between self-hosted DIY WordPress users, those on a SaaS solution, and enterprise customers is already big enough the Venn diagram is starting to come apart. The further SaaSification of the ecosystem will make this fracture permanent and put enormous pressure on the WordPress Open Source project.

If/when commercial entities like Automattic start fighting for control over the open source project to shoehorn in the services they need for their new SaaS project, the priorities of the project as a whole will suffer. How WordPress, as a community, decide to deal with this will determine the future viability of the open source project.

At this moment, my crystal ball is pretty foggy, but I’m starting to see a path emerging where SaaS becomes the bread and butter of WordPress agencies and they eventually evolve their products into discrete forks, at which point their participation in the open source project becomes irrelevant and they back out.

Cross-posted on LinkedIn.

My Opinion

2018, a personal inventory

Morten and Leo, exploring the forests of Nesodden, Norway, December 2018

2018 marked the completion of my 40th lap around the sun. I remember when my parents turned 40 years old, and I remember how old I thought they were back then. Yet last October, when I crossed this arbitrary temporal marker myself, I did not feel old. I felt tired and jaded.

As I entered the statistical last half of my life, a friend commented in jest “What do you buy for your midlife crisis if you hate cars?” (I hate cars, or rather, I have no interest in cars other than as a mode of transport. The idea of owning a flashy red sports car is to me as foreign as that of going swimming in a tuxedo: It can be done, but I don’t see any reason why.) “I don’t know,” I answered honestly. “I guess maybe I should buy myself a therapist?”

For future reference: that’s a great way of stopping a fun conversation dead in its tracks.

Melancholy and the Internet Sadness

Throughout my life, the people around me have sorted themselves into two very general groups: Those who think I’m happy and smiling all the time, and those who think I am a stern, serious, and brooding person. This seeming dichotomy is probably caused by my habit of compartmentalizing everything. Some people know me in contexts where I am happy and smiling, others know me in contexts where I am focused and ready to work. The latter often think of me as “stern” and “brooding” because I have what you could call “Angry Resting Face”: my neutral expression is rather stern. But I digress.

2018 was the year I realized those two perceived Mortens were bleeding into each other and the stern version was taking over. But it was more than that. Where before I was able to say “work is over, let’s have fun” I now felt waves of melancholy wash over me to dampen the mood and bring the darkness I felt all around me into every interaction.

It was during a conversation with Jeremy Felt at WordCamp Vancouver in late summer I finally realized something was amiss. I can’t remember what the conversation was about, but at some point Jeremy added a pinch of black humor to the mix and I immediately converted it to a black hole, sucking everyone down with me. Jeremy raised his eyebrows and said something to the effect of “Dude. That’s darker than where I wanted to go.”

Months later I had a long chat with my wife in which I tried to put my finger on where this darkness was coming from. “I don’t understand how you don’t know,” she said. “It’s obvious! You are pouring all your emotional energy into trying to fix the internet, but you can’t fix it on your own!”

And she was right, as she always is.

For more than fifteen years, I’ve spent a fair bit of my professional and personal time thinking, writing, speaking, and teaching about how the internet shapes us as people. I’ve taught hundreds of thousands of people all over the world how to publish their thoughts, ideas, and creations on the web, and spoken to anyone willing to listen about the importance of making ethics an essential part of the design and development processes that build the web and the internet. At the same time, I’ve seen the web and the internet weaponized against its users, for money, for political power, for no other reason than to hurt others and destroy their lives. And more and more I’m feeling like I am part of the problem.

When asked about it, I used to say “the internet is a thin veneer of amazing covering an infinite abyss of the worst of humanity.”

Five years ago, that comment was met with surprise, confusion, and a lot of shaking of heads. A friend called me “The Doomsday Prophet of the Web” and we all laughed.

Today, people just nod in resignation and walk away carrying a small piece of the darkness I just dealt them. And every time, the hole left by the darkness I hand to someone else doubles in volume and is re-filled. Because in seeing the recognition of what I think we have become in others, I see verification of my own worst fears for the future our son will have to live in.

I have become a catalyst.

That’s not good.

Everything, all the time

I used to joke I burnt my candle at all ends, and from the middle. Turns out I was telling the truth, at least emotionally. If the past year has taught me anything, it is that I need help learning how to walk away from things.

Which is why in 2018 I nearly walked away from the WordPress Open Source project.

Reading this, some will think it was because I disagreed with the Gutenberg project. Not so. I am a firm believer in the idea of block-based editing in WordPress, and the Gutenberg project has been long overdue. I have been critical of the decision making and management processes around the project and how it was rolled out, but that was not the reason for my near departure.

Reading this, some will think it was because I disagreed with how accessibility has been handled in WordPress in the past few years. Not so. To me, bringing accessibility to WordPress is a long journey, one which has yet to meet its final conclusion. Much has been done, much still needs to be done, and I believe WordPress can become the benchmark for web accessibility in the not-too-distant future.

Reading this, some will think it was because of responsive images, or ImageFlow, or documentation, or LTS versions, or internationalization, or any of the myriad of other issues I bring up and talk about in various WordPress fora. Again, not so.

My reason for almost leaving WordPress was the realization my participation in the project, or rather the way I chose to take part in the project, was hurting me and by association those around me, most notably my wife and our son.

I’m not going to try to describe or adjudicate the past year of WordPress politics here. Suffice it to say the emotional weight of watching my community turn on itself over poor communication, forced divisions, turf wars, and misunderstandings inflating to gigantic problems became too much. And I know I’m not alone.

At the end of my rope, I reached out to my coworker Stephanie Evans. “You have to draw a line!” she said. “When you’ve done everything within your power and it isn’t working, you can’t do anything more. You have to step away.” And I tried to explain to her why I couldn’t; that this community has become so much part of my personal and professional identity that I simply cannot walk away. And as I said this I realized it was true, not just for WordPress, but for the web.

I, the person who tells people their work does not define them, that your work should support your life, not the other way around, have defined myself by my work and become so involved I have trouble separating the emotional weight of what happens in my community from the emotional weight I myself carry.

That’s not good. It is also not sustainable.

The Landing

Moving into 2019, I have made some decisions.

Primarily, I will look out for number one, which in my case is our son Leo who needs a father who is not lost in a black hole of melancholy. I have to be better for Leo, and that means I have to be better for myself.

To get there, I am refocusing my work on what I do best: Finding ways of empowering people to use the web to improve their personal and professional lives. That’s what my job at LinkedIn Learning empowers me to do, and that’s why I am excited about what we will make together in the coming year.

2019 will see a significant shift in my focus away from WordPress and toward web standards and emerging technologies. This has always been where I thrive, and I am excited to immerse myself in where the web and the internet is headed next.

What does this mean for my involvement in the WordPress community? I will focus my efforts on two projects: The WordPress Governance Project and the development of WP Rig. These are projects I have direct influence over where I believe I can do the most good for the open source project and the community. I will still attend WordCamps including WordCamp Europe and US, and continue creating courses and writing tutorials and opinion pieces about the software. What will change? My time invested in battles I can’t win. Interpret that as you like.

Underneath all this, I have work to do on myself. I cannot be someone who doles out parcels of darkness to those around me. To get there, I must rid myself of the darkness within. What form that process will take is yet to be determined, but it will definitely include professional help.

Down on the Upside

Looking back at 2018, I see a year of significant professional achievements and personal experiences. I released some of my best courses on LinkedIn Learning, got to speak at both Smashing Conference Freiburg and WordCamp Europe in Belgrade, Serbia about ethics, the subject closest to my heart, and had the privilege of launching WP Rig, a new open source project to benefit WordPress. My wife and I watched Leo develop into an inquisitive and profoundly interesting 2-year-old, and together the three of us spent the year exploring the world and everything in it. Life, by any measurable standard, is good.

And that, I guess, is the lesson: When the darkness comes from inside, there is work to be done. That’s what 2019 will be for me: Better myself so I can be better to those around me. Because 2018 was a lot. And we can all do our part to make 2019 better, for everyone.


#Mor10isAnOld – the 40th Birthday Fundraiser

To celebrate my 40th year on this planet, I’m doing a fundraiser for the Norwegian Refugee Council and a month-long AMA in video format, and I invite you to take part! Each day from today until my birthday on October 17th, I’ll make a video where I answer one question from you. It can be about anything, but I suspect it’ll mostly be centered around web design and development and the internet and how it shapes us. So, if you have a burning question you’d like me to answer, send it my way and it may end up in a video!

Somehow I made it to 40. On October 17, I break that imaginary temporal threshold that puts me squarely in what Norwegians refer to as the “middle age”. In the eyes of my younger self I guess that makes me, officially, “an old”. The path leading here has been long and complex, with twists and turns and loops and seemingly unmountable obstacles. Yet I am here, in my office, writing this. And for that I am grateful.

Some 20 years ago, while riding the subway from downtown Oslo to Blindern station on my way to a philosophy lecture at the University of Oslo, I ripped a page out of my notebook and scribbled down a question:

“If you knew this was your last day on earth, what would you do to leave the world better than you found it?”

Such are the dark ruminations of an immature mind deeply immersed in the impossible task of understanding life, the universe, and everything.

I folded the slip of paper, wrote “read me” on the front, and placed it on an empty seat across the aisle. At the next station a group of students entered and one of them picked up the paper and read it. Then he read it out loud and they all started laughing. What a ridiculous question. Yet minutes later they were deep in conversation about what they had accomplished in life, and more importantly what they wanted to accomplish.

I repeated this experiment for weeks, spending an unreasonable volume of time leaving notes and listening to the conversations that followed on the subway. Looking back on it now, it is clear what I was really doing was attempting to crowdsource an answer to the hardest problem: the meaning of life.

As I round this arbitrary milestone of my life, I am no closer to answering that question I left on a subway seat on the other side of the world all those years ago. Maybe the meaning of life will only reveal itself two years from now? As my search continues, I am putting forward an interim answer, and for that I need your help.

Looking at the world today, and back at the world I grew up in, I see an endless succession of refugee crisis, observed from afar and from which my life and the lives of those around me have rarely been impacted. And I’ve come to realize that there, but for the grace of privilege and luck and geography and geopolitical machinations over which I had no impact or involvement, go I. My life so far has been one of opportunity and open doors, one in which the fear of bombs and bullets and terror has been in the abstract. And that is not because I made the right choices or because I did the right things or because I worked hard or believed in the right powers. It is because I happened to be born to a middle class family in Norway. During peacetime. That’s all.

Somehow I made it to 40, and I think it’s high time I gave that snarky kid on the subway in Oslo got a concrete answer:

For the next 30 days, I am running a fundraiser for the Norwegian Refugee Council (NRC), a non-profit organization helping refugees all over the world, and I invite you to join me. Our family (my wife Angela, our son Leo, and I) are donating $1000 CAD and will match donations up to another $1000 CAD. My employer LinkedIn will match my $1000 donation through the LinkedIn Gives program. And I’m asking my family, relatives, and friends, to make a donation to the NRC in lieu of presents for my birthday.

That’s where you come in. I also hope to convince you to donate if you have the means. If you have a dollar or two, follow the link and add your contribution. If you don’t, just help spread the word using the #Mor10isanOld hashtag and maybe someone else in your circle will. And if you don’t want to donate to this organization, or even this cause, find something else you care about to contribute to. Or take the time today to tell someone in your life how important they are to you. Do your small part to leave the world a better place than you found it, in whatever way you see fit.

Somehow I made it to 40, and I plan on sticking around for many years to come. For as long as I’m here, I’ll do my part, and use my privilege, to leave the world a better place than I found it. Starting right here, right now, with this article. I invite you to join me.

Speaking Engagements

How Not to Destroy the World: Ethics in Design and Technology – Smashing Conference Freiburg, 2018

All the links from the talk

Unsplash photos from the presentation


Gutenberg, Forks, and the need for an LTS version of WordPress

Over the past week, developments which I predicted back in December last year have come to fore, and I am deeply concerned about the effects they will have on WordPress (the application) and the community unless we take decisive action.

Short version: For various reasons, many WordPress users will be faced with a complex dilemma when 5.0 and Gutenberg comes out:

a) Get the latest version of WordPress and risk compatibility issues / costly retraining, redesign, or entire rebuilds, and/or other problems, or b) choose not to upgrade and end up running an old and eventually insecure version of the content management system.

So far, the response from WordPress leadership has been to install the “Classic Editor” plugin which as the name suggests reintroduces the classic WYSIWYG editor once the Gutenberg Block Editor becomes the default. This is, in my opinion, a dangerous road to go down both for the end-user and WordPress itself. 

Classic Editor as a permanent solution won’t work

Classic Editor is a bit like using a band-aid to plug a hole in a ballon as you are inflating it. It may work right now, but as the balloon continues to grow, the band-aid not only won’t do its job, it will actively harm the balloon itself. Here’s why:

Gutenberg as an editor replacement is just the first step for the WordPress Next project. The next step for Gutenberg is to migrate to the Customizer, at which point blocks move out of the editor and into other interfaces and displayed spaces in WordPress. Which means the Classic Editor can’t do its job and another patch plugin needs to be introduced.

It does not require a lot of imagination to see how this solution is not scaleable.

On top of this comes the issue of plugin and theme developers having to serve up solutions that work both for Gutenberg and non-Gutenberg installs which dramatically increases complication, cost, and management. And the “this plugin only works with Gutenberg” path flies in the face of the deeply held WordPress ideology of everything working for everyone and breaks the reasonable expectations of end-users. 

From my perspective (you are free to disagree – please leave your own opinion in the comments below) the Classic Editor plugin was a misstep and should be abandoned for a more robust solution, A Long-Term Support version of WordPress 4.9.x (link to Trac ticket):

WordPress LTS

On the release of 5.0, give site owners the option of “freezing” their install at 4.9.x by choosing to stay with a terminated LTS (Long-Term Support) branch which only receives security and maintenance updates, and only for a specified number of years.

Practical implementation

When 5.0 ships, site owners are presented with a panel similar to the mockup added below where they can choose to upgrade to 5.0 or stay with the LTS version. Information about each choice and what that entails is provided in links in the panel.

Proposed modal window offering upgrade to WordPress 5.0 or off-ramp to LTS version.

Users who choose the LTS version are given two options in the Updates panel: “Update WordPress LTS” (security updates only) or “Upgrade to 5.0“.

Why this is necessary

While the majority of WordPress users will weather the 5.0 upgrade without issues, a not insignificant group will run into issues which may end up requiring a significant investment in time or money or both which they are not able to take on at this time. Providing a clean off-ramp allowing them the time and space to prepare for the upgrade or otherwise resolve their unique challenges is essential to avoid harm to the end-user.

Additionally, offering a LTS version provides a relatively uncomplicated solution to the problem of backwards compatibility faced by many plugin developers.  As I mentioned earlier, the popularity of the Classic Editor plugin means plugin developers have to either ship two versions of their plugins (Gutenberg and Classic) or ship a larger plugin with both options built in. An LTS version of WordPress would mean these developers could offer a similar LTS version of their plugin as it was when 4.9.x was released, and continue development on their 5.x support plugin as normal.

This will split the community

A public LTS version of WordPress will split the community between those who upgrade to 5.0 and those who stay on LTS. This is neither new nor is it unusual. There are countless WordPress sites out there intentionally or unintentionally running older versions already, and within the community there is talk of launching an official fork of WordPress which would see a true split.

An LTS version is the lesser of all evils in this situation in my opinion. It is an unavoidable fact that some users will choose to not upgrade to 5.0. How this issue is addressed will impact the development of the application, its community, and its users long term. Offering a Long-Term Support version, and making each user who considers it aware of what this means, falls squarely under the open source philosophy and the WordPress philosophy of democratizing publishing. Granting users agency and the capability to choose solutions that work for them is a key ingredient to keeping the open web alive. That’s what we all strive for. 

LTS is what WordPress already does

WordPress has a long shipped security updates for older versions for an extended period of time, so technically this is no different from what is already happening. My proposal is to make this an explicit feature of the WordPress 5.0 release by giving each site owner the ability to opt out of the 5.0 upgrade until they are ready by activating a “WordPress LTS” release.

On a personal note…

This proposal might seem controversial, or inflammatory, or playing into the #WPDrama or #GutenDrama or #GutenSpiracy or whatever. It really is not. All I’m proposing here is to take something we already do – offering LTS versions of every version of WordPress – and make it a feature rather than something which happens behind the scenes. It changes nothing about how Gutenberg works or how it is implemented, and changes nothing about how we work. Only two minor things are different:

  1. Every WordPress site owner is offered an explicit choice to upgrade to 5.0 or stay with LTS for however long they want (within the clearly defined support timeline)
  2. The Classic Editor plugin is deprecated as a solution to Gutenberg upgrade woes.

That’s my take. Now I want to know what you think. Leave a comment here, or share your thoughts with me on LinkedIn or Twitter

Oh, and this proposal is also a Trac ticket: #44851


WordPress: The 15 Year Revolution

Tuesday May 27th, 2003 is a significant marker in the history of the web. On that day 15 years ago, in a tiny corner of the internet, a new software package titled “WordPress” made its debut. It’s goal: Make this thing called “blogging” possible for anyone and everyone.

Just three years earlier I sat in a lecture hall at the University of Oslo where a professor explained how open source software was a dead-end; the fever dream of anarchist software developers with no footing in the real world. “Free software,” he proclaimed (I’m paraphrasing here), “is a waste of time. Ten years from now we will look back on this whole movement in shame.” The same professor also wrote off JavaScript as an irrelevant experiment in useless application design soon to be extinguished.

Looking back at these statements from today where open source software powers much of the internet and JavaScript is eating the web it is hard not to scoff at his seeming ignorance. But back then Open Source really was a fringe movement in an industry still in its infancy, and it was hard to imagine how giving software away for free and allowing anyone to copy it and turn it into whatever they wanted would be a good idea.

All things to all people

Today WordPress powers more than 30% of the top 10,000,000 sites on the web. It is the engine driving your friend’s dog blog, the website of the flower shop down the street, the membership site for your gym, the fundraising site for your favorite charity, the newspaper you read every morning, and the sites of your local, federal, and international governments. If you spend any time on the web today, you are almost guaranteed to encounter a WordPress site. Though you probably would never know unless you inspected its code base. From its roots as a “blogging platform”, WordPress has evolved into a full-featured Content Management System and web publishing platform.

GPL or bust

The key to WordPress’ success, what turned a tiny blogging application into the go-to publishing application for the web, was captured in the last sentence of the announcement post published all those years ago:

“WordPress is available completely free of charge under the GPL license. Enjoy!”

The GPL, or GNU General Public License, is one of the most radical “copyleft” licenses software can be published under. It embeds in the software itself the “four freedoms that every user should have:

  • the freedom to use the software for any purpose,
  • the freedom to change the software to suit your needs,
  • the freedom to share the software with your friends and neighbors, and
  • the freedom to share the changes you make.

The GPL is also passed on to any derivative work meaning anything built on or with WordPress (which is GPL) automatically inherits the same GPL license.

The use of GPL in WordPress is not unique. What makes WordPress special is how fiercely and literally the GPL is enforced by project leader Matt Mullenweg. Over the 15 years of WordPress’ life, Mullenweg has entered the fray numerous times to protect and uphold what he sees as the absolute freedoms of every user of WordPress. And though this has caused no small amount of controversy, it is in my opinion one of the main reasons for WordPress’ success and its transformative impact on the web and the web and internet industries.

Democratize publishing

With Mullenweg’s vision as its foundation, a thriving world-wide community of content creators, software developers, and community organizers have made reality of the project mission, to mission of the WordPress project is to “democratize publishing through Open Source, GPL software.” Thanks to WordPress, anyone with an internet connection and access to basic web hosting can create their own website to publish their ideas, creations, products, and communities. And thanks to the GPL embedded in WordPress, anyone can contribute back to the project in any way they desire. Around the world, more than 1300 Meetups and hundreds of WordCamps bring users, administrators, designers, and developers together to learn about and share their knowledge of and build the application and its community. Around the world thousands if not millions of people make a living thanks to WordPress. And around the world, millions of people leave their mark on the web through their WordPress sites every single day. No small feat for a bunch of files you can download for free.

WordPress Next

As we enter the 16th year of WordPress, much of what made the application unique has been adopted by its competitors and companies including Mullenweg’s own SAAS platform are offering WordPress-like features with extended management options for a premium. Where WordPress goes next will determine not only its future success or whether it reaches the lofty (and in my opinion irresponsible) goal of powering 50% of the web, but whether it will continue to push the web forward and keep web publishing democratic and accessible to all.

With a 30% market share WordPress has the potential to drive the web forward through participation in web standards bodies and by simply implementing its own opinions of how the web and the internet should work. So far, the application and its community has been agnostic to the point of riding the back seat in these conversations; a consequence of its roots as a tool built by the people who show up with no clear management structure or long-term strategy. This inaction has not gone unnoticed, and large influencers like Google have realized WordPress can be used as a vehicle to bring us to the future of the web faster. One of our major challenges as a community will be to navigate this new reality and find ways to make decisions about how WordPress should wield its power to democratize publishing beyond its own borders.

The challenges facing the application are also internal. As I write this, the WordPress project is in the midst of its largest and most revolutionary evolution to date. Project Gutenberg, announced some 18 months ago, reimagines the very nature of content creation treating each piece of content placed in a post, or page, or view as an individual block with its own unique properties. The WordPress block concept is a fundamental transformative departure from the core feature of the application itself – the content blob – that may carve a new path into the future for web publishing as a whole. The question yet to be answered is whether this new vision for the web will bring another generation of users to the WordPress table. Only time will tell.

WordPress and me

I published the first post on my own blog a late summer evening 11 years ago. At the time I’d transitioned from table-based layouts through Flash and DWTs and ASP.NET to Mambo and Joomla! and Drupal and eventually WordPress. What I found in the little blogging engine that could was an end-user experience for my clients that allowed me to build what they needed and them to manage it without running the risk of destroying everything in the process. Over the years I’ve transitioned from WordPress user and implementer to theme developer, educator, and project contributor. I’ve met some of my closest friends and collaborators through WordPress. I attribute much of my career to the success of WordPress. And I have every hope that 15 years from now my son will be building his own web experiences using software that traces its roots back to the application I write this article in today.

We have proven the democratization of publishing is possible. Our next challenge will be using that power to bring democracy to every corner of our shared world. I invite you to join us.

gutenberg WordPress

Gutenberg and the Future of WordPress: Conditions for Success

NB: This article is part of a series on the new WordPress editing experience called "Gutenberg". If you are not familiar with Gutenberg, check out the first article in the series.

As the Gutenberg project moves ever closer to merging with WordPress, users, administrators, designers, developers, and core contributors are raising concerns about timelines and what will happen to the community once the merge is complete. I've been thinking about this for the past year and over the last few weeks I've had several conversations that have helped bring into focus the key conditions I think need to be in place for Gutenberg to be a success. I present them to the community to start the conversation. Please add your own voice in the comments below, on social media using the #Gutenberg hashtag, on your own blog or website, and in the GitHub repository. Every viewpoint is relevant, every voice matters.

Before we continue, be advised these are my personal opinions. As of this writing I am not a functioning member of the Gutenberg team nor am I speaking on behalf of anyone other than myself. What you'll read below does not indicate nor dictate the future course of this project, they are the conditions I personally think need to be met for the success of the project. In my opinion. Clear? Ok, you can continue:

Condition 1: Accessibility

The web was built to make content and information accessible to anyone and everyone. WordPress' core principle is to "Democratize Publishing" and a key part in achieving this is to make sure WordPress itself and the code generated by WordPress is accessible.

The first condition for the success of Gutenberg is accessibility, both on the back end and on the front end. WordPress core is ostensibly accessible, and over the past several years significant efforts have been made put accessibility at the center of every conversation about WordPress. As Gutenberg merges with core, it is imperative that accessibility is not just maintained but improved.

Web accessibility is not just good practice (an inaccessible site is a broken site) and a moral duty, it is also becoming a legal requirement in many regions. Meeting this condition is a necessity for the future success of WordPress and the millions of sites it runs.

For this condition to be met, Gutenberg and the merged version need to be able to pass independent comprehensive accessibility review.

Condition 2: Change moratorium and ample ramp-up time

During his State of the Word address at WordCamp US 2017, project lead Matt Mullenweg suggested Gutenberg would be "ready for the widest audience" in April 2018. The comment is ambiguous (view it for yourself here) and it is not clear whether he means the beta plugin is ready to be pushed to all WordPress users for testing or Gutenberg is ready for core merge or if he thinks Gutenberg will be merged in core and WordPress 5.0 will release in April. I think (hope) he means Gutenberg will be ready for full-scale testing in April and will be pushed out so people can test it before it is merged to core at that time. If I'm informed otherwise I'll update this section.

Be that as it may, the second condition for the success of Gutenberg is that the community is given enough time to prepare before WordPress is updated. To achieve this, once Gutenberg is considered ready for core merge, the Gutenberg plugin should be advertised to all WordPress users along with a training regimen, and I propose a 4-6 month moratorium on Gutenberg and core updates from the time Gutenberg is considered ready and WordPress 5.0 ships. This sounds extreme, but it is necessary for several reasons, most notably:

Gutenberg changes how WordPress works

WordPress users need time to prepare for Gutenberg. They need comprehensive documentation and training, and need time to figure out how to run their blog/website/e-commerce store/community using this new version of WordPress. This is especially important for large-scale operations like educational institutions and publishers as they typically have complex publishing processes in place that need to be updated.

Without a significant marketing push and proper documentation and training, WordPress users will feel as if their platform has been changed without their knowledge and it will cause them unnecessary hardship. Bridget Willard has written about this in more detail. A moratorium would provide ample lead-up time to ensure WordPress users and the businesses that rely on the platform have time to prepare.

Plugins and themes need to be updated in advance

Because Gutenberg changes the way WordPress works, many themes and plugins will either work differently or not work properly with the rollout. Unless they are updated in advance. A change moratorium provides enough time to allow plugin and theme authors to a) learn how to build solutions for Gutenberg, and b) roll out necessary updates in advance of the final release. The goal here is to ensure when the switch happens, WordPress seamlessly transitions from old to new and everything continues to work.

For that to happen, plugins and themes must already be updated to account for Gutenberg before WordPress updates. The alternative, to update WordPress and then be told to update a long list of plugins, or worse be told some plugins or themes will no longer work, is not tenable as it will appear to the people who use WordPress as WordPress being broken.

If/when plugins and themes are updated, they will have to invest time and money in providing documentation and training for their users to help them prepare. Which leads us back to the first point: Gutenberg changes how WordPress works.

Condition 3: A line in the sand

This is easily the most controversial point, so I'll reiterate this is my personal opinion.

The third condition for the success of Gutenberg and the WordPress of the future is for WordPress to cleanly fork itself at version 5.0. Let me explain:

Even if the two other conditions are met: Gutenberg sets a new gold standard for accessibility on the back- and front-end, and the community is granted ample time to prepare, train, reengineer, and build their businesses around Gutenberg, there will still be a large number of WordPress sites and solutions that will be negatively affected by this update. There are many reasons for this:

  • Plugins and themes that won't update for various reasons.
  • Custom setups that would need to be completely reengineered to work under Gutenberg.
  • Custom setups that are too expensive to update.
  • Processes and procedures that require expensive retraining of tens or hundreds or thousands of users.
  • Legacy systems that can't be updated to Gutenberg for various reasons.
  • your reason goes here.

Bottom line, there are valid reasons why many WordPress users and WordPress sites can't or will be unduly negatively affected by the upgrade to Gutenberg. The only responsible course of action from WordPress is to provide a clean solution for these users to opt out of the upgrade and stay on the last stable release, which will be 4.9.x. In other words, WordPress forks itself at 5.0 creating "WordPress Classic" for users and sites that can't or won't upgrade.

For this to work, WordPress Classic would need to accept a feature freeze receiving only security updates. If it evolves independently, we'll invariably end up with two incompatible solutions.

Here's the thing: If this is not done, the community will fracture and those who rely on pre-Gutenberg WordPress will either refuse to upgrade causing major security and maintenance issues, force a fork which will split the community, or abandon WordPress for other options. Neither of these outcomes are beneficial to anyone.

Benefits of a clean fork

Cleanly forking WordPress at 5.0 brings benefits for the Gutenberg project and for WordPress as a whole:

  • The requirement of backwards compatibility can be removed, or reset to 5.0 meaning WordPress' code base can finally be updated and modernized.
  • Data structures inside WordPress can be properly modularized and Gutenberg can move beyond the content blob.
  • Plugin and theme authors can ship solutions that only work for WordPress Classic or WordPress New removing the need to support both the new and the old editor.
  • PHP and other infrastructure version requirements can be updated without leaving people behind.
  • People who can't or don't want to upgrade can cleanly choose WordPress Classic as their solution.
  • If people try to install WordPress in an environment that does not support the new version, they can automatically be sent to WordPress Classic for the top-of-the-line experience we have today.

Drawbacks of a clean fork

There are significant drawbacks to forking WordPress as well:

  • WordPress would be forked, which splits the community.
  • Maintaining two versions requires twice as much work as maintaining one.
  • Eventually a fork will evolve on its own, feature freeze or not.
  • A fork provides "bad optics" as they say.

Dangers of not forking WordPress

There are significant risks to not forking WordPress, and at present we are headed straight toward all of them. Here's a small sample:

  • Not forking WordPress means the project needs to retain backwards compatibility. That means continued support for both the current (classic) editor and the ever evolving Gutenberg experience. This will hold back and eventually block future innovation and WordPress will become a monster even Dr. Frankenstein would shun.
  • The current approach to handling plugins and themes lacking Gutenberg support is to allow them to declare lack of support and force a fallback to the old editor. This will be used by plugin and theme developers who do not like Gutenberg to force WordPress to revert. Which in turn holds back future development. It also means plugin and theme developers have to ship code that supports both the classic editor and Gutenberg because any other theme or plugin may force WordPress to roll back. This issue was brought up by Kevin Hoffman brought this up during State of the Word, and the answer he got was, in my opinion, less than satisfactory (judge for yourself).
  • One of the major issues with WordPress is how it handles content. Presently all post content sits in the post table as a single blob which makes it impossible to effectively query data without querying the whole post content. To get around this problem theme and plugin developers use custom fields, but these just stash all the info in another table so we end up with two blobs. To truly meet the goals of Gutenberg, the blob needs to be broken up and the data structures of WordPress need to be rearchitected. If WordPress is not forked, this will not be possible and the current structures will eventually render the application obsolete.
  • Finally, if a clean fork is not created, parts of the community will shard off and force a fork. This will be damaging to the community as a whole because it will create an antagonistic relationship between those who support the "classic" fork and those who stay with the Gutenberg branch. With a clean fork, much of this animosity can be avoided or remedied, and we won't end up with a fractured community.

Your voice matters, and I want to hear it

Now that you know what I think needs to happen for this project to succeed, I want to know what you think. Like I said before, add your thoughts in the comments on this article, share them on social media using the #Gutenberg hashtag, publish your own articles, file issues and contribute to the project on GitHub, and keep the conversation going. I'm looking forward to having this conversation with you.

This article was cross-posted on LinkedIn Pulse.

gutenberg WordPress

WordPress is Changing. Here are 3 Things You Need to Know About Gutenberg

Everything you know about WordPress is about to change. The project codenamed "Gutenberg" is reimagining what content creation and editing on the web should look like and how it should work. Some time in 2018 the way WordPress works and the way you work with WordPress will change in a fundamental way, whether you are a visitor, a content creator, an administrator, a designer, or a developer.

Last weekend I had the privilege of presenting a talk titled "Gutenberg and the WordPress of Tomorrow" at WordCamp US in Nashville. You can view the video below and slides below. Once you're done, keep scrolling to see the three things you need to know as WordPress moves into the future.

1. Gutenberg is coming, fast. Be prepared.

If this is the first time you've heard about Gutenberg, this is the time to familiarize yourself with the project. The second half of Matt Mullenweg's State of the Word talk from WordCamp 2017 is a good place to start:

The project will probably reach maturity around April 2018 and I expect WordPress 5.0 will ship with this new interface to every WordPress site around June/July 2018. That means right now you have roughly 6 months to prepare.

Here are my recommendations:

  • Familiarize yourself with Gutenberg by installing the plugin on an experimental site.
  • Train your contributors / staff on content creation and management using Gutenberg.
  • Check with the developers of your themes and plugins that they are preparing for Gutenberg.
  • As the release gets closer, start testing your sites with Gutenberg to ensure everything works properly.

2. Gutenberg is not just an editor replacement, it changes everything!

The core concept of Gutenberg is every item you add to WordPress is a "block". Every heading, paragraph, image, blockquote, list, and other content you add is a block, and every block has unique properties and settings. That means when you create content, you can work with and customize each individual block, move those blocks around, and even make individual blocks reusable so you can build them once and use them in different locations and different views.

Notice how I said "views", not "posts and pages"? This is key: The current version of Gutenberg replaces the content editor. That's step one. Once it merges into WordPress proper, the project will expand its scope to encompass the Customizer, and eventually the way we create and mange content in WordPress will undergo a complete overhaul. Today we think of creating posts and pages. In the WordPress of Tomorrow, we will be making blocksand placing them in views. As weird as it sounds, the concept of post and pages is going away, and along with it the WordPress theme as we know it will likely fall to the wayside replaced by something all together different.

To wrap your head around this, imagine every piece of content you create as a literal building block and the environment (or view) the visitor accesses a space where you can place and organize those blocks in any combination and configuration you want. Then realize the current limitation of the browser viewport (the rectangular area within the screen you probably use to access the web) is going away thanks to everything from text-to-speech browsers to VR/AR/MR/XR.

Bottom line: The way we interact with content on the web is changing in a fundamental way and Gutenberg is what can bring WordPress into that future.

3. Gutenberg needs you!

Which brings me to the final point: Gutenberg is not ready, and the Gutenberg team needs your input and help to get the project and WordPress where it needs to go. Whether you are an absolute beginner and just started using WordPress yesterday or you have been contributing to WordPress core since the first line of code was written, your input is vital for the success of the project.

Here are some ways you can help:

These are exciting times and we are privileged to be part of a community that values every member and hears every voice. Your contributions matter. Make your voice heard!

This article was cross-posted on LinkedIn Pulse.


The Case for Telemetry in WordPress

Update August 10, 2017: After publishing this article I reopened the Trac ticket arguing the reason for closing it was no longer valid in lieu of Gutenberg’s collection of telemetry. A few hours later it was announced that usage tracking will be removed from Gutenberg and the ticket was closed as the original argument for closing it is once again accurate.

This is an expanded version of a Twitter thread from earlier today.

#WordPress needs a core method for collecting quantitative user data through telemetry (aka “metrics”). I wrote a post about this on my blog back in December 2016 and filed a ticket on the WordPress development system Trac at the same time. That ticket was promptly closed by project lead Matt Mullenweg arguing “it is off the table for 2017 as it is not within the three focus areas.”

Since then, Gutenberg – the proposed new editor feature for WordPress – has introduced an “opt-in usage tracking system” (telemetry) meaning the argument that telemetry is not within the three focus areas (of which Gutenberg is one) is no longer valid.

One of the biggest challenges WordPress faces is the lack of reliable data about global day-to-day use. Like most Open Source projects, WordPress has relied on community feedback as it’s primary data source. Which is fine for a small project. Problem is WordPress is a Very Big Project with global reach and the majority of it’s users never interface with the community.

I like to say we, the people who talk about, provide feedback for, and design/develop WordPress are the 1%. I wrote about this on my blog in December 2015.

I now think the number is more like 0.1%.

Making decisions based on the traditional community feedback model is making decisions without knowing anything about the majority of users. Some will argue this is fine, that WordPress is developed by those who show up. That’s not a workable or responsible model for a project. It also goes against one of the core principles of WordPress itself, that “the core should provide features that 80% or more of end users will actually appreciate and use,” although the validity of the 80/20 rule was put into question by project lead Matt Mullenweg earlier this year (I wrote about this on my blog as well).

We, the people who build WordPress, have a duty of care to the people we build it for. And those people are not us.

“We can just do user testing,” you say? Sure. Let’s do proper qualitative user testing. That requires staffing, funding, and infrastructure. User testing for a project like WordPress is non-trivial. It requires professional analysis.

Testing one UX feature (like a view) would take 3 dedicated testers, at least 10 subjects, 3 weeks, and result in a >10 page report. User testing like this would be great, but it’s not something we are doing right now, and it’s not on the horizon either. Which brings me to telemetry and quantitative user metrics in WordPress.

Done responsibly and with care, telemetry can be a treasure trove of information for the evolution of WordPress. The key is collecting the RIGHT metrics using the right methodology. Telemetry data often ends up being a numbers soup because too much irrelevant data is collected. What I’m proposing is a lean and targeted approach to telemetry in WordPress:

  1. Telemetry should be an opt-in option that when activated installs a plugin. Admins should be informed about this option by the WordPress dashboard when WordPress is installed and reminded at regular intervals that the plugin is available and whether it’s activated.
  2. Anonymize all collected data at client level before submission.
  3. Collect only basic data at the core level of the plugin (WP/PHP/MySQL version, locale, language, etc.)
  4. Provide up-front info to end-users about what data is currently collected and what it’s being used for, with opt-out options for the plugin as a whole and for granular data collection.
  5. Allow for targeted data collection based on research needs.
  6. Store data on servers owned by the community (not corporate interests). Share data openly to ensure transparency.

Telemetry implemented in this way would give WordPress the ability to inform decisions about current and future features. Some, notably project lead Matt Mullenweg, have said this is not necessary, that it won’t be useful. I disagree.

In my view, making decisions that impact millions of users without metrics to back them up is irresponsible and quite frankly foolish. We run the risk of doing a bear’s favor: something we think will help that actually hurts, all because we don’t have enough information.

There are plenty of arguments against telemetry: anonymity, security, oversight, Big Brother, competitive advantage, etc. If we do this right I am certain we can build a system that alleviates the concerns over anonymity, surveillance, etc. Couple that with up-front disclosure, transparency, and explanation of what data is collected and why and people will sign on.

As for the competitive advantage aspect; we don’t want to share data with our competition; that runs counter to the Open Source idea in my opinion. We can and should share this data with everyone, because it’ll make the web a better place for everyone. It has purpose beyond WordPress. Not collecting this data because we don’t want competitors to have it is like leaving a broken window unmended lest it be broken again.

In short, WordPress needs telemetry. There’s a ticket on Trac proposing this, and Gutenberg has a PR for telemetry.

Inexplicably the Trac ticket is closed because “it is not within the three focus areas” which thanks to Gutenberg is not the case.

What WordPress needs is an open debate on this topic. What are the arguments for and against? What can be gained and what is lost? Should we do this? And if so, how do we do it in an open, transparent, and responsible way that helps inform and elevate the conversation while looking after the interests of all WordPress users?

This discussion belongs in Trac in an open ticket. Closing it down before a proper discussion has been allowed is not the Open Source way.

As of this writing the WordPress telemetry ticket remains closed:

Cross-posted from the original at LinkedIn.

Speaking Engagements

WCEU2017: CSS Grid Changes Everything (About Web Layouts)

Below are the advanced slides for my WordCamp Europe 2017 talk CSS Grid Changes Everything (About Web Layouts) presented June 17th, 2017 in Paris, France:

From the website:

“CSS Grid is now live in all major browsers, and with it everything we know about web layouts changes! Imagine drawing a grid in the browser and placing content in one or any number of cells without having to change the HTML or source order. And imagine changing that grid on the fly using media queries or JavaScript while keeping the HTML markup clean and accessible. That’s what CSS Grid does, and that’s why you should be using it today.

The CSS Grid Layout Module introduces a native CSS grid system, provided at the viewport level, that achieves what CSS frameworks and popular grid systems could only dream about: Responsive, flexible, pure CSS grid layouts, independent of document source order, that allow us to treat the browser as a true design and layout surface.

In this talk you’ll get an intro to CSS Grid and learn how it changes pretty much everything when it comes to layouts on the web. Through examples, code snippets, and practical demos you’ll learn how to use CSS Grid in a theme for modern responsive layouts, and you’ll also learn how to handle older browsers without Grid support in a clean and straight-forward way.

CSS Grid is here, and you can start using it today. This talk shows you how to do it right.”

Links from the talk

Video of the talk will be posted here as soon as it’s available. Until then, read through the slides above and follow the links for more information on this transformational CSS module.

Header photo by Mark Sallman.

My Opinion WordPress

The End of 80/20 and the Future of WordPress

History is filled with events that at the time seemed like footnotes but in hindsight revealed themselves as pivotal turning points. Such an event may have occurred Friday March 3rd, 2017. Buried in the comments section of a post on WPTavern a comment from WordPress co-creator and project lead Matt Mullenweg reads:

It might be time to retire 80/20 from the philosophy page, as it is seldom used as intended.

Below the surface of this short sentence lies a highly stressed fault line, and what Mullenweg seems to suggests is to deliberately trigger its release, causing a tectonic shift that will permanently change how WordPress is developed and as a consequence how content is published online.

For the record I do not know what Mullenweg thinks about the 80/20 rule beyond this single sentence. The following is my personal thoughts and reflections around the 80/20 rule. I am merely using his comment as a starting point for a discussion.

tl;dr: The 80/20 principle as applied in the context of current WordPress development is an ideal without a tether to reality. However much we say we develop the application for 80% of users, the reality is we know almost nothing about 99% of WordPress users. That means at best the rule is without consequence, at worst it is doing harm. The big question is how do we change our philosophy to solve this issue?

I have some thoughts, and I’d also like to hear yours. But first, a short primer:

What is the 80/20 rule, and why does it matter?

The 80/20 rule is a term you’ll hear a lot in business circles. It is called the Pareto Principle and goes as follows: “for many events, roughly 80% of the effects come from 20% of the causes” so for example “80% of your sales come from 20% of your clients.” This principle shows up everywhere. As an example Microsoft found that “fixing the top 20% of the most-reported bugs, 80% of the related errors and crashes in a given system would be eliminated.

The Pareto Principle is also sometimes used in reverse, as is the case in the WordPress Philosophy (my highlighting):

“The rule of thumb is that the core should provide features that 80% or more of end users will actually appreciate and use. If the next version of WordPress comes with a feature that the majority of users immediately want to turn off, or think they’ll never use, then we’ve blown it. If we stick to the 80% principle then this should never happen.”

This version of the 80/20 principle is a good one, both from a development and a business standpoint: Build solutions that work for 80% of the user base, and let the remaining 20% find or build extensions to meet their needs.

The Challenge

As WordPress continues to grow in popularity and user base, changes made to the application and related services like the website are met with tighter scrutiny and critique. Many WordPress users are expressing a feeling of disconnect between themselves and the people who build the application, and changes are often criticized for being imposed in a “top-down” fashion without taking end-users into consideration. This is what the post on which Mullenweg left his comment was about. There are many reasons for this (most of which I will not get into here), including how the 80/20 principle is used when decisions are made.  

For the 80/20 principle as described in the WordPress Philosophy to work, the design and development team must have a firm fact-based understanding of the entire user base so they can identify the needs and abilities of the 80% and build solutions for them. That in turn requires data. The problem for WordPress is that data does not exist. As a result, any decision made under the banner of the 80/20 principle is actually a decision made based on the educated guesses of the development team and their immediate circle of contributors. This is even stipulated in the WordPress Philosophy (my highlighting):

“while we consider it really important to listen and respond to those who post feedback and voice their opinions on forums, they only represent a tiny fraction of our end users. When making decisions on how to move forward with future versions of WordPress, we look to engage more of those users who are not so vocal online.”

When Mullenweg says the 80/20 principle “is seldom used as intended” I am fairly certain this is what he’s referring to. Put bluntly, we can’t say we’re building solutions for the 80% because we don’t have the data to back that claim.

The Fork in the Road

When Mullenweg suggests removing the 80/20 principle from the WordPress Philosophy page, I think he is really suggesting replacing the 80/20 principle with something more practically feasible that moves the project forward. Lacking any further details, I’ll extrapolate the two possible paths I think this move could lead us down:  a Contributor-centric approach and a User-centric approach.


If we simply remove the 80/20 principle from the philosophy page, we will effectively end up where we are right now, with a Contributor-centric approach: WordPress is designed and developed by the people who contribute to the project, and user testing is done primarily on contributors and active community participants. This is already stipulated in the WordPress Philosophy:

“We do this (engage more of those users who are not so vocal online) by meeting and talking to users at WordCamps across the globe, this gives us a better balance of understanding and ultimately allows us to make better decisions for everyone moving forward.”

This Contributor-centric approach is common in open source communities, and has its origins in how open source projects come about: A small group of contributors build a solution for the contributors and anyone else interested. Even when the actual users outnumber the contributors, this dynamic remains because it’s what made the project successful.

It is important to understand the Contributor-centric approach is not based on a “we know what’s best for the user” attitude, rather “we know the application better than anyone, and we do what’s best for the application because we want it to grow and succeed.”

The overarching principle here is one of meritocracy: decisions are made by those who show up, and those who contribute the most have the most sway when decisions are made. This stems from the reality that open source contributors typically volunteer their time and are more likely to work on things they care deeply about. Allowing them to choose their own focus, and keeping a flat/no management structure is thought to ensure they have a continued vested interest in the project. In the background of all this there is also a real concern that limiting the autonomy of contributors may lead them to move on to other less restricted projects.

The Contributor-centric approach leaves itself open to critique that it is rooted in privilege: to have influence and “show up” requires availability of free time and a fairly high level of technical expertise, neither of which we can reasonably expect or demand from the average user. When the barrier to entry, or even constructive feedback, is high (as is the case with WordPress), the only voices heard are from the experts. The Contributor-centric approach solidifies this development model, and if that’s the path we choose to take, it needs to be explicitly stated.


If we either commit to the spirit of the 80/20 principle or replace it with a similar principle, we are adopting a User-centric approach. User-centered design is a well-established method of iterative design based on extensive user testing and data gathering. From Wikipedia:

“user-centered design tries to optimize the product around how users can, want, or need to use the product, rather than forcing the users to change their behavior to accommodate the product”

The User-centric approach is what most major software and service vendors use to develop their products. It typically involves large-scale quantitative data gathering through telemetry, surveys, and other statistical methods as well as qualitative user testing on individuals and groups. A common argument against the user-centric approach is that it’s costly and slow, but in my experience the major challenge with it is that it tends to cause cognitive dissonance in stakeholders: User research often concludes that what designers and developers think is the best solution is not what the end-user prefers. This sometimes leads back to the “we know what’s best for the user” argument which is why some development teams cycle back and forth between the two approaches.

Another common critique of the User-centric approach is that the user does not always know what they want or need, and maybe more importantly, they don’t know what’s possible. The extreme version of this argument is Steve Jobs’ famous quote “A lot of times, people don’t know what they want until you show it to them.”

The User-centric approach requires rigorous discipline and careful management to work: Research and data gathering has to be unbiased and statistically sound and significant. At the same time, too much research and data, or research and data that has little value, can cause stagnation and confusion. And to top it all off, the User-centric approach will result in contributors having to work on projects they are not passionate about or even disagree with simply because they are not building solutions for themselves but the end-users.

In many ways the User-centric approach is a walk across a tightrope: Success is only achieved with training, planning, focus, and constant corrections. For the WordPress community, this would be a whole new way of doing things requiring a radical shift in attitudes.

The Duty of Care

Before we can make a decision about where to go next, we need to consider our Duty of Care: When we add, augment, or remove a feature in a tool used by someone else, we have a duty of care to that person to ensure your actions do not negatively impact them. The Decisions, Not Options principle comes into play here. From the WordPress Philosophy:

“Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration.”

On the surface, the duty of care outlined here is to protect the user from confusion and frustration. Deeper down, we find the duty of care when making a decision on behalf of the user. The reasonable expectation from a user is that the application (and by extension its designers and developers), makes decisions that are in the best interest of the user.  

Which begs maybe the most important question:

How do we, the people who build WordPress, best meet our duty of care to the people who rely on WordPress in their personal lives, their communities, and their businesses?

Where do we go from here?

Whatever decision is made, it will cause a tectonic shift in how WordPress moves forward. That’s why every voice needs to be heard.

It is no secret that I land firmly on the side of the User-centric approach. From my experience user research is an integral part of any successful project, and the larger the user-base, the more important this research gets. I agree with Mullenweg that the 80/20 principle is not working, and I believe the solution is to realign the WordPress project to a more user-centric approach. This is not a quick and easy pivot, and it will require fundamental changes to how WordPress development is done on all levels. For one, we will need to gather large volumes of data on the existing user base and implement statistically sound methods for large-scale user testing of redesigns and new features. The first step in that process is to implement telemetry for the core application, a proposal that has already been shelved by Mullenweg.

Now you know what my answer is, but I’m just one of thousands of contributors, one of tens of thousands of active community participants, one of millions of WordPress users. I want to know what you think. Everyone who uses, interacts with, or contributes to WordPress has a stake in the project, and this is a decision that needs your voice. So, speak up and share your thoughts. I am listening, and I guarantee I’m not the only one.

Cross-posted on LinkedIn Pulse.