Warning: I am not a lawyer and none of the following should be considered legal advice.
When browsing through Blender add-ons on Blender Market, I noticed something strange: almost all of them are licensed GPL. For example, here’s a screenshot from the Blender Market page about “Hard Ops / Boxcutter Ultimate Bundle” (one of the best-selling Blender add-ons):
If you look in the lower-right corner of that screenshot, you’ll see that the license is GPL. The link clarifies that it’s version 3 of the GPL. I guess the Blender Market folks didn’t get the memo about GPL version 3 being controversial and avoided by, for example, the Linux kernel project, which decided to stick with GPL version 2.
There is more clarification about the licensing options on the Blender Market page about “Available Licensing Options.” That page says, “All scripts, add-ons, and other code-based products may be licensed as either GPL or MIT.” In practice, it seems almost nobody ever chooses the MIT option. Today I think I learned why…
Curtis Holt (a blender add-on developer and YouTuber) replied to an issue that I opened on GitHub regarding his EasyBPY module. The bottom line is that, according to the official Blender FAQ page, “If you share or publish Python scripts [which includes add-ons] they have to be made available compliant to the GNU GPL as well, if they use Blender Python API calls.”
In other words, all Blender add-ons must be licensed GPL (or some other license that’s GPL-compliant such as the AGPL, but not the MIT license).
There are ways around that, I guess. You could write a Blender add-on which makes calls to external software. Those calls could be done using vanilla Python, i.e. without using any Blender API calls, so the external software could have any license at all (or no license). The external software could be running on the local machine or on a remote machine. Doing that would be a pain though, because it requires that the external software be running, or somehow-callable from the add-on code.
As a result, most add-on developers will just write self-contained add-ons, and those must be licensed GPL (or GPL-compliant). That’s really weird!
It’s weird because it means that anyone can just copy all the existing GPL-licensed Blender add-ons and sell them on their own website, maybe at a discount! They could even give them away for free! That would be totally legal, so long as:
- they keep the GPL on the add-on
- they keep the copyright notices (giving the names of the original authors and a year, typically)
- they provide the text of the GPL to everyone who downloads it
- they don’t claim that they’re the original or only author
- they comply with all the other requirements of the GPL
And that’s not good for add-on developers! It means that one source of revenue, i.e. from direct sales add-ons, cannot be relied upon in the long run. They have to get revenues somewhere else, such as patrons, sponsors, ads, support, training, sales of documentation-books, etc.
I suspect that whoever made the Blender script/add-on licensing policy made a mistake. For example, WordPress is licensed GPL but I’m pretty sure that WordPress plugins don’t have to be licensed GPL, even if they make calls to the WordPress API.
If I were a Blender add-on developer, I’d lobby to get that policy re-evaluated. It might be legally unnecessary.
Update: After thinking about it some more, I realized there may be a meaningful difference between Blender add-ons and WordPress plugins. As I understand it, the code of a Blender add-on is treated like an addition to the existing Blender user interface (UI) code, so it’s tightly-coupled with that existing UI code, which of course is licensed GPL, and therefore the add-on code must also be licensed GPL. I don’t know much about WordPress plugins, but I’m guessing they’re more independent from the WordPress core code, and therefore they can be licensed differently. I’m not sure about any of this, and I still think that the position of Blender should be further explored and explained by a knowledgeable IP lawyer.