Microsoft vs. Apple, Oracle vs. Salesforce, Comcast vs. Verizon — rivalry is just a natural part of growth in the tech world.
The recent controversy between WordPress co-founder Matt Mullenweg and Wix co-founder Avashai Abrahami is no exception. On Friday, Mullenweg alleged that the Wix application is built using stolen code, highlighting the similarities between the newly released mobile app and the WordPress editor.
“This explicitly contravenes the GPL, which requires attribution and a corresponding GPL license on whatever you release publicly built on top of GPL code,” Mullenweg said.
How did we get here?
If you’re a WordPress user, you may already be familiar with the GNU General Public License (GPL), the governing license from which the CMS is built. The license states that “Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.”
“To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.”
This means that because GPL is the foundation of WordPress and anything that is built using that code must be released back to the community. It also means that no one can take that software back or restrict your ability to change or modify the code.
Mullenweg founded the WordPress Foundation to “ensure free access, in perpetuity, to the software projects we support.”
All of the software on WordPress.org, whether it’s in the plugin or theme directory or the core software itself must be licensed under the GPL to ensure that the project remains 100 percent free.
Conversely, there are thousands of premium plugins and themes available for purchase. This is where the GPL requirements can become confusing. Technically they’re selling the service and support on top of the plugin or theme, rather than the plugin or theme itself.
Basically, because WordPress is built on GPL, if you take any piece of code from it, you must attribute the whole project back to the community and document it.
The Wix application is not built on open source, and therefore doesn’t need to contain the required copyright attribution.
The editor is a smaller piece of the app as a whole, and in Avashai’s rebuttle he admits to “us[ing] the WordPress open source library for a minor part of the application, and everything we improved there or modified, we submitted back as open source, see here in this link.”
In the response by Wix lead developer Kol, he points out that they gave proper attribution to WordPress on GitHub once they wrapped the WordPress component to work with React Native, a framework for building native apps using React.
However, because it is a piece of WordPress software, it doesn’t matter if it was one line of code or the entire thing, to adhere to the license requirements, the app’s code must be released. As of now, it isn’t public and that is what sparked the discussion.
In his blog post, Mullenweg acknowledged that partial compliance has been established, but that Wix will need to make changes to achieve full-compliance with the GPL.
Mullenweg hopes that by publicly opening this discussion, it can get resolved without legal involvement. His point is that any piece of open-source code used in any project needs to be properly attributed and published back to the community.
“I hope the above clarifies where we think Wix made a mistake, and how to fix it,” Mullenweg said in an update to his post in which he asked Wix to release the application code in full and give attribution where necessary.
This topic is somewhat polarizing, even within the WordPress community — partially because GPL can be confusing on what requires documentation or not.
Whether we like it or not, WordPress is built on the GPL, and these guidelines and licenses have made the CMS into what it is today.
We want to hear from you. Do you feel like you fully understand the GPL? Do you think Wix should have to share the whole code for the app? Or is there some middle ground where we can all learn from this and better communicate as a community both directly in WordPress and in our indirect tech spaces as well?