What WordPress and WooThemes can learn from Linux History

I’d like to tell you all a story to give some perspective on recent events that have happened in the WordPress community. Once there was a smart Founder who wanted to change the world. He was a scrappy and outspoken 20-something who decided to build his own Open Source Software (OSS) project with a few friends because he knew he could design something that was better than the competition. He chose principle over profit and picked an OSS license that would protect the community over even his own interests. He handed over all of his intellectual property to a foundation, which he himself started, to promote the technology.

The project took off by leaps and bounds and was soon being adopted by companies of all sizes, both because he opened the project up to anyone who wanted to commit code and because he encouraged people to participate fiercely in its development. He even began conferences all over the world with his project’s namesake on the title. Both developers and users came in droves to build for the new platform, leaving behind the proprietary versions they’d hated.

Soon people started to make money off of his platform. Not just a few thousand here and there, but somewhere in the millions, and that’s when the trouble started. A battle brewed between the companies making the most money from developing add-ons to his framework and the Foundation itself, the Founder stood his ground and defended the OSS license that protected the community even though in the mind of many of the developers all of this seemed so unfair.

These companies had poured tons of money and people into building add-on functionality and here was this license that required them to open source their own code which they had put blood, sweat and tears into. They all cried a fowl but the Founder was wise enough to let the license speak for itself, and stayed out of the drama for the most part unless it threatened the entire OSS project as a whole. Eventually the project matured and everyone learned that in Open Source you don’t sell code, you sell a service tied to the code.

Soon one of the largest companies in this ecosystem had forked a not so popular add-on at the time and made it their own, they built an entire ecosystem on top of it and created the best support in the industry for it. They continuously changed their pricing structure and policies and upset a large portion of their user base. When others—out of frustration—decided to fork their work and the work of their 3rd party developers, they sued and made a mess of the ecosystem. People who didn’t understand the nature of OSS moved to create other platforms that they could better control, but ultimately failed, and those who stuck with it benefited greatly from the openness which the license and the community provided.

Now I won’t go any further but considering this article is about WordPress you’d think I was talking about the WordPress community, yet the story I just told you happened over a decade ago and it wasn’t WordPress but the Linux community that experienced the above growing pains. The 20-something founder was a man by the name of Linus Torvald, who still works with the Linux Foundation to this day. The large dominant company was Red Hat.

Having witnessed this drama happen all those years ago, there are a few lessons that we, as an open source community, need to learn. Our situations relate to the trials the Linux guys went through and how we should understand the GPL as it relates to WordPress.

Before you start building something, read the GPL for yourself and agree to it or move on

I’m not an attorney and don’t claim to be, but I was in the Marines for almost a decade and now work in the government software contract sector as an open source developer, so I’ve had to learn these lessons the hard way. I can say that government work has some of the greatest infringements of FOSS and GPL licensing I’ve ever seen.

Well known and respected billion dollar companies have been caught with their hands in the cookie jar replacing entire open source licenses with their own proprietary ones all because a few developers or project managers didn’t read or understand the source material enough to follow the license properly.

If you’re not willing to read or understand the GPL, and disagree with it then you don’t have any business writing software that will depend on it, this hurts not just the community but the licenses themselves in the long run. If after attempting to read the license you still don’t understand the do’s and don’ts, then hire an attorney that has a history with software licensing to explain it to you.

Forking active projects (even premium ones) is perfectly okay and fair for the community, stop the FUD

It was perfectly okay for Woo to fork Jigoshop’s plugin and the community as a whole benefited from it, just as it’s perfectly okay for someone to come in and fork WooCommerce and any paid add-ons associated with it. Many of us may not like it because of the money and time spent and may deem it unfair, but telling people that it’s wrong creates Fear, Uncertainty and Doubt (FUD) and doesn’t allow the community to grow the way an open source community should, if you don’t want this to happen to you then focus on service over software.

If you’ve ever used a free copy of CentOS to run your servers, then you must be unfairly stealing from Red Hat. They work hard to build a powerful system with their Red Hat Enterprise Linux (RHEL) on every update but they are required to release their source code to the public because of the Linux Kernel (something the WordPress foundation is nice enough not to require you to do) and the guys over at CentOS strip out all of the copyrights and images and releases an identical copy as the next version of CentOS.

This doesn’t make the Linux community any worse for it, nor does it make CentOS a bunch of thieves looking to hurt Red Hat, who sells a tremendous service. CentOS removes a barrier to entry for many customers. Red Hat eventually created the Fedora Project as a way to stem the growth of CentOS, but as many of you can attest it’s still strong and growing. My advice is get over the forking or copying of software and focus on providing a service that no one else can compete with. And stop calling it unfair, it’s open source.

Where there is big money to be made, Open Source licenses will always be challenged

No one cares about an open source license when the project is new or small; at the very beginning everyone tends to accept the terms and begin developing on top of it. As businesses begin to form and new improvements are made, people start to believe that changes they’ve made on top of the platform are their intellectual property and should not be freely available to the community even if it may conflict with the license they originally agreed to.

When a change is made to a piece of open source software that gives your company a distinct advantage over the competition, for many small and large organizations much of the agreements made when they started using open source tends to go out the window. As can be highlighted in Goldman Sach’s recent attempt to try and retry their former employee for releasing Open Source Code changes they didn’t want to be made public, companies can get real nasty when they don’t understand the rules for their particular license or feel they are above them. After all what Non-Profit Foundation can go after a company like Goldman in court?

As the WordPress community grows and gets bigger, and it will get bigger, the GPL will continue to be a point of contention to old- and new-comers who see it as an impediment to growth. Externally some may say they support it, but internally they will fight it with every bone in their body because it goes against their eventual business interests of selling software. All large open source projects go through this and I have no doubt that WordPress will eventually face this as well if it hasn’t already.

Your PHP code belongs to the community once you release it, let it go

So what do you do then as a company—how do you both protect yourself against what you may consider to be “theft” or unfair use of your hard work? Accept the fact that your PHP and HTML code is going to fall under the GPL, period. As highlighted back in 2009 by Matt in a letter from the Software Freedom Law Center, you could potentially copyright your CSS or images but then most plugins and themes also use other open source libraries like JQuery, Bootstrap, Foundations, Less, Sass as well as many others because of how quickly you can develop for them.

That means that most of your external CSS and Javascript may end up falling into some form of open source licensing in some way, shape or form as well. Accept it and let it go or go protect your copyright (aka brand name), not your code. Updates and bug fixes to your derivative GPL code that you’ve put behind a pay wall should not and cannot be considered part of your “service” either. Stop trying to make them one, do something or create something on your end that can’t be duplicated by the end user without your license. That’s how Red Hat makes real money off of RHEL.

There should be nothing stopping someone from forking WooCommerce and including all of the great functionality that comes with it and so many of its add-ons as long as it was done per the GPL and stripped of any potential copyright-able material much like CentOS does with Red Hat. As an open source community we should not despise or hate these ideals and practices, we should embrace them as part of the open source culture that already exists within projects like Linux and has made it the dominant server based operating systems in the world.

In conclusion, Linux suffered through many of the same growing pains that WordPress is now facing as an open source platform, it had many of the same battles and much of the same drama. I for one admire Matt for sticking to his guns and choosing to defend the GPL if need be. But Automattic may not always be the dominant force in WordPress, and as a community it’s important for us to really understand the legal stuff involved with GPL before we do work in the space and to accept the good with the bad.

Because in the end, it is our bill of rights, and it protects all of us in the long run.

Michael Bastos – Self & School taught C++, Java, PHP, Perl and Ruby Open Source Developer working as a Software Engineer for SPAWAR Research (G2 Software Systems) with a BSCS degree. Started using and developing on WordPress in 2009 and started the AdvancedWP.org community in 2011 which now has over 1,400 members world wide across 3 social networks. Has spoken at over half a dozen or more WordCamps on a range of advanced topics. Message him on twitter @bastosmichael