Over on Slashdot there is an article about an IP saga of sorts between Wix and the makers of WordPress. While the Slashdot title accuses Wix of “stealing” code, not even WordPress’s Matt Mullenweg accused him of that in the original post. What happened is pretty simple. The Wix engineers decided to wrap a WordPress rich text control so it would work well with React Native. The Wix engineers made that project under an MIT license and then dutifully used it in their proprietary iOS application. The WordPress control they wrapped was licensed under GPL, and that is where the problem is.
Free Software advocates hate the term “viral licensing” and in fact will defend against the term as it has negative connotations, but that’s what happened here. Under the terms of the GPL any software that uses, embeds, or links in code in a GPL library must be licensed and released under terms that preserves all of the user’s rights and privileges under the GPL. It doesn’t automatically force that software to use GPL but it does for you you to use a license that is at least as permissive as the GPL. This is something that engineers take lightly but IP people do not.
The threshold for the triggering of the GPL terms is as minuscule as one line of code, essentially. Any inclusion of any code or linking against that code automatically opens up the license requirements of your code to be GPL-compliant. The Free Software advocates claim this isn’t viral because it is a willing choice made ahead of time, which is certainly true, but the net effect is the same. The Wix team probably made their component under an MIT license because that is more permissive. You can use an MIT (or BSD or Apache 2.0) component in your software without forcing that entire new piece of software to be licensed under similar terms. In other words, you can take that open source piece of software and use it in proprietary software. You can’t do that with GPL software.
Because they used even a smidgen of GPL code in their wrapper library their wrapper library can’t be licensed under MIT and meet all the terms of the GPL. They will have to license it under GPL. Therefore because their application is linking against that library now their application needs to be licensed under GPL. That sounds viral, doesn’t it? Still, however, the Wix team seemed to have tried keeping the control open source, regularly contributes to open source, and did seem to attribute it back to the WordPress project. Claims of “stealing” are therefore completely out of line.” According to Wix they are really using an underlying component which is licensed BSD, so something tells me rather than GPL-ifying everything they are going to rip out the WordPress dependency and go right to the lower level BSD license component.
If ever there was a stark lesson in why you need to tread carefully about integrating or linking in GPL software into your project this is it.