This is the second post in a series on the WordPress Philosophy. Last month I described why WordPress has a Philosophy and why WordPress users should care about that and understand it. This article is the first of 8 that will explore the tenants of the WordPress Philosophy.
We’re going to start at the end. The most foundational tenant of the WordPress Philosophy is the last one: “Our Bill of Rights”. I believe this is foundational to understanding all the previous tenants of the philosophy.
Similarly to the United States of America’s Bill of Rights, this Bill of Rights is all about freedom. This is often called
“The Four Freedoms”:
- The freedom to run the program, for any purpose.
- The freedom to study how the program works, and change it to make it do what you wish.
- The freedom to redistribute.
- The freedom to distribute copies of your modified versions to others.
The Four Freedom’s come from what is often called the GNU Manifesto by Richard Stallman. This is one of the foundational documents that launched the Open Source movement. It’s a valuable and insightful read that I highly recommend everyone read.
The WP Bill of Rights opens by acknowledging that WordPress is licensed under the General Public License, or GPL. The GPL is one expression of the Four Freedoms. By adopting the GPL and putting the Four Freedoms in their philosophy, WordPress is saying that the platform is designed to be a teaching tool, to be distributed, extended, forked, tweaked, redistributed, shared and more. It’s a tool, not a mansion that an individual owns. Anyone should be able to pick it up and use it, adapt it, or change it to fit their own purposes.
Matt Mullenweg, as the co-creator of WordPress and founder of Automattic, has a pivotal article on the Four Freedoms — also required reading. In it, he argues that the Four Freedoms — and by extension Open Source Software in general — can be a scary concept for some.
You’re taking the most valuable thing you have, your intellectual property, and granting the freedom you enjoy as a creator to anyone who downloads your work. It’s terrifying, actually. It’s releasing your ideas, and letting anyone build on them — in a way that might be better than your own work. It’s releasing your traditional understanding of ownership, and your fear of being out-developed.
But it’s exactly that freedom, that risk of being out-developed, that frees you as a developer. Mullenweg goes on to say:
Open source abdicates your flexibility as a developer to better serve the people who actually use your products. You can see that as a constraint… or you can see it as a door to iteration, innovation, and constant progress.
Sharing your code gives freedom to those who benefit from it, and frees you to see how others can iterate on your code and innovate with it.
The Freedom to Run
For most WordPress users, the idea of “running” code is taken for granted. With a giant marketplace of free themes and plugins, we expect fully functional code to be dropped into our sites with as little fuss as possible.
One reason why Stallman wrote the GNU Manifesto was because he saw the writing on the walls. He knew the work being done during his time at MIT (1970’s) was highly valuable and potentially world-changing. He didn’t want to see all that potential and value locked behind corporate walls where only the few and the wealthy would benefit from it.
Outside of WordPress and other Open Source platforms, there are lucrative and highly proprietary products that are designed to NOT run. They are designed to only run under certain circumstances for certain people who have paid certain amounts.
The success of WordPress as a platform is a direct extension of this freedom. The fact that you can have a website up and running with little to no code experience required, then download and run any number of tens of thousands of themes and plugins means that publishing on the web is truly being democratized, made accessible and equitable for anyone with an idea.
The Freedom to Learn
This is my favorite freedom because it encompasses who I am as a WordPresser. I came into WordPress having barely learned HTML and CSS with Notepad (Notepad++ was an amazing upgrade!). When I was handed my first project to build a site with WordPress I immediately saw all the potential, but was also in way over my head.
Fortunately, I was simultaneously introduced to the Advanced WordPress Facebook group where I quickly inundated the members with very non-advanced questions over and over again. They were — and are still today — a generous and encouraging crowd of people.
With all this new PHP and jQuery code at my fingertips, and this online community of developers eager to assist, I jumped in and broke a lot of things many times over until I started to get results that I wanted.
The freedom to distribute code is deceptively powerful. The concept is often expressed in WordPress circles as “Free as in speech”, meaning you have a right similar to the right of freedom of expression, or freedom of religion.
When you have open source code, you have the right to share that code with anyone you like. Effectively, that code is yours and you can do with it what you like.
But every freedom also has certain responsibilities as well. The freedom to share implies that the code is yours to share in the first place. While the code is not licensed to your name, it is yours that you are responsible on your website. Just like a pair of Nike shoes, you didn’t create them, they don’t have your logo on them, but you have the ability to give them to anyone you like. The difference with code is that you can “have your cake and eat it too,” meaning, share your code and keep it too.
Often, as a WordPress user who uses a free and open source plugin or theme, we have come to expect that using free code puts the burden of technical support on the owner. It doesn’t. There’s nothing that obligates the owner of that code to help you in any way. Any help you might get from the owner is just simply out of their own generosity, no obligation. If you install an open source plugin and it creates a problem with another open source plugin on your website, that is your responsibility to resolve. You own that code, and the GPL licensed owner has no obligation to support you. Essentially, all open source code comes by default “as-is”, it’s do-it-yourself.
This might sound odd because that’s not the typical experience within the WordPress ecosystem. We’ve come to expect support from free plugin and theme authors. It’s important to always remember that any support you get from plugin authors is simply out of their continued generosity.
The Freedom to Fork
Some people falsely believe that open source code disallows you from owning code at all. That’s a misperception. The final freedom is the freedom to modify and distribute the code for your own purposes. For fans of proprietary code, that sounds like the fast-lane to losing control of your brand or your product.
The freedom to “modify” though, implies the distinguishing factor that highlights how GPL code is still licensed and has proper author attribution. Just like an author who properly cites their sources or quotations, a code author who uses someone else’s code is required to give proper attribution.
If WordPress decided that the current jQuery code wasn’t sufficient for their purposes, they could “fork” jQuery, keep the original attribution, modify it, and add their own author attribution to it as well.
This is the essence of what freedom means. The ability to learn from someone else’s experience and product, modify it for your own purposes, and re-distribute it. This is perhaps one of the most significant reasons why WordPress and open source technology has gained so much momentum and market share throughout the industry.
Exercise Your Freedoms
These freedoms are protections for you and your website. These freedoms empower you to run what you need, learn what you need, share with other stakeholders in your business, and even modify and adapt your code to fit your needs at will.
Never take for granted that these freedoms are embedded into every copy of WordPress. If you’ve never worked with a proprietary platform you might not understand how significant these freedoms are. But now that you do, my hope is that is makes you more appreciative of the WordPress project, and of all the plugin and theme authors everywhere that you and your site benefit from.
Throughout the rest of this series we’ll hear plenty more about these freedoms; they unpin many (if not all) of the other philosophy tenets. If you’ve ever wondered why WordPress is free, or why people share their code, or you’re just realizing how amazing that all is, we’d love to hear about your experience with these Four Freedoms in the comments.