Wix, WordPress and the GPL

screenshot-at-2016-11-02-07-47-05Quite a lot has been going on through the grape vine and blogoshpere about the recent legal dispute between Wix and WordPress. The story began last week, when Matt Mullenweg, WordPress’ founder, published a story about using the Wix mobile app. Matt explained that he downloaded Wix’s new app and that something felt familiar. According to Matt, the text editor used by Wix’s app is based on WordPress, and WordPress is released to the general public according to the General Public License, an Open Source License.

Matt Said:

“I started playing around with the editor, and felt… déjà vu. It was familiar. Like I had used it before.

Turns out I had. Because it’s WordPress.

If I were being charitable, I’d say, “The app’s editor is based on the WordPress mobile app’s editor.” If I were being honest, I’d say that Wix copied WordPress without attribution, credit, or following the license. The custom icons, the class names, even the bugs. You can see the forked repositories on GitHub complete with original commits from Alex and Maxime, two developers on Automattic’s mobile team. Wix has always borrowed liberally from WordPress — including their company name, which used to be Wixpress Ltd. — but this blatant rip-off and code theft is beyond anything I’ve seen before from a competitor.”

A quick recap of the GPL, for those who did not study law, or have studied law and did not take a course in open-source licensing. The GPL is a license where developers of a software give permission to end-users to use the application freely (but not free of charge, in some cases) but require that all distribution of the software later on to further recipients shall be under the same license, and shall include the software’s source code. This paragraph is not easy to understand, as this is one long structured sentence, so I’ll explain it in layman’s terms.

If Alice develops software A and sells it to Bob under the GPL, then Bob can freely use it; Bob can also sell it (or give it for free) to other people, like Charlie. However, Bob doesn’t have to give, or sell, the software to Charlie, nor does he have to tell Alice what changes he made in his code. But, when Bob does sell, give, license, or just conveys (that’s the definition a later version of the GPL uses) the software to Charlie, either with or without modifications, then he has to provide Charlie with the source code.

Now, before we get into the real problems here, let’s continue by explaining Wix’s side of the story. Avishay Avrahami, Wix’s founder posted a response to Matt. While I do have a problem with Avishay’s attitude, I think that his response is a bit off. Avishay explains that their developer, Tal Kol (who posted his side of the story as well) took a GPL’d text editor and integrated it into the Wix mobile app, he explains that they released the text editor’s source code and provide the source code later on to every person. Kol Explains it like this:

“I love open source and I love contributing back to the React Native ecosystem. We have a rule in our team that everything difficult we develop for the app that can be reusable, we open source from first commit. We deliberately try to design these as general purpose libraries such as react-native-navigation (this for example is our app skeleton in reusable form).

I know some developers are scared of using GPL, apparently for a pretty good reason. The WordPress GPL Rich Text component in question, is actually a wrapper around another Rich Text component named ZSSRichTextEditor which is licensed MIT. In retrospect it would have been easier to use it directly.”

So, no harm done? the code was released and that’s it? not really. Let’s go back to the definitions in the GPL. The GPL applies to “software” and does not explain where it ceases to apply. This means that if my software is a blogging platform, then the platform’s text editor is an integral part of it, and that if the text editor is licensed under the GPL, then the entirety of the platform should be GPL. This is one extreme interpretation of the GPL which is usually applied by GPL purists, Matt is one of them. There is quite a lot of literature about whether a piece of software linking to another is construed as a separate work of not (this question arose very early in the day),

The Software Freedom Law Center’s opinion here is that:

“When two software components are joined together to make one work (whether a main and some library subroutines, two objects with their respective methods, or a program and a “plugin”) the combination infringes the copyright on the components if the combination required copyright permission from the component copyright holders, and such permission was either not available or was available on terms that were not observed. Where a combination is made with GPL’d or AGPL’d components, the only available permission is copyleft, and its terms must be observed on the combination as a whole if the GPL’d component is to be used at all”.

But let’s analyze the license‘s text:

“These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it”.

So what’s the claim here? If the text editor is distributed inside Wix’s mobile app, and it is a part of the mobile app, which is not distinguishable, or “reasonably considered independent and separate works in themselves” then the GPL shall apply and Wix shall be required to disclose and provide their source code for the mobile app. This might be burdensome on Wix and may cause other problems, but let’s try to understand what is independent and separate?

The question is whether the text editor is independent on the Wix mobile app. In order to analyze this and answer, one will require actual access to Wix’s source code and understand whether the text editor has dependencies relating to the mobile app, whether it makes specific function calls to the mobile app and uses its system variables. This is “independent” in the literary sense. The other question is whether it is separate. Separate means, again, literally, that both applications can act without the other; that the text editor has actual life without the mobile app, and that the mobile app has actual life (meaning F5 works) without the text editor. I do not know whether this is the case here, but I do not see how the Wix mobile app will compile without a major part.

Usually, when we discuss “independent and separate” we require at least separate installations for the separate applications. Take MySQL (or MariaDB): if you use the MariaDB client inside your application as an interface with a MariaDB Database, then, at least according to their FAQ, you will be required to publish your application under the GPL. However, if you merely integrate the MariaDB server, and use another library, and the two installations are separate, then you do not need to publish your code under the MySQL.

Now, how will this apply to this story? I do not think that WordPress will litigate here, mostly because of Tal Kol’s statement relating to the MIT License which the text editor was based on (and I don’t think we have the time to explain it), but I do think it’s a great time to make developers aware about the problems and implications of using open source software inside their works, at least if they do not plan to release them under an open source license.

 


3 thoughts on “Wix, WordPress and the GPL

  1. Tanks for informatives review.

    Tell me if i understand correctly:

    GPL is not dictating to expose the source code of your SaaS product.

    Thou, if you have a paying client that requests SaaS product to be installed on his site, once you deploy the code to his site, code must be exposed because it is linking to some js GPL script from html page?

  2. Hi Michael,

    This might be kind of complicated, but: if you purchase specific code and use it as SaaS, then your end-users do not receive a copy of the software, so the GPL doesn’t govern them; however, you did receive a copy of the software, so you should also receive its source code.

  3. With this in mind would you advise anyone looking to start a website with Wix not to proceed? Our IT company seems to think that because of this dispute we shouldn’t use Wix?!

Leave a Reply

Your email address will not be published. Required fields are marked *