How to distribute a compiled addon?

Operators, UI etc, not only exporter stuff.

Yes but for what I understand by reading at Blender’s License page, the operators in those plugins do act as an interface that exchanges information with the renderers.
But the renderers code itself is independent.
It is not the same as an addon that would use the API of Blender for what it has to do, inside Blender.

I have not read the full thread yet- but in case it has not been pointed out by anyone else, you are able to create closed-source addons for Blender by shipping an external binary that is run separate from the Blender API. As long as your executable is “API Agnostic” and has no knowledge of the Blender API you should be clear of the GPL license restrictions. Obviously this is more complicated, because now you need to maintain binaries for all of the platforms you intend to ship on, and according to the studies and anecdotal evidence I’ve observed it probably will not stop software piracy or drive any additional sales your way, but if you have some proprietary algorithms you’re not interested in making public knowledge then it’s absolutely an option.

Examples of addons that do this:
UVPackmaster Pro
Exoside Quadremesher

There are probably others, but those are the ones I could think of off the top of my head. It is also worth pointing out that these “closed source” addons also have an “open source” addon that is handling the interfacing with their binary. It’s not possible to make everything 100% closed source, but you can protect your proprietary algorithms fairly easily this way.

Edit: okay so I had a chance to read through the whole thread and of course all of my points were brought up by others, so feel free to ignore my post. I’ll leave it here for posterity though :slight_smile:

1 Like

Thank you for the insight. It is very useful.

In Blender’s site it says:
" You have full freedom to license your software product however you wish if and only if:
– It operates outside of Blender.
– Uses no Blender source code or API calls (including Python API).
– Produces data for Blender to operate on.
– Executes Blender to read and operate on the data."

So those addons do that: they have an open source part that sends data to them, then it is dealt by the closed source program. The closed source program sends data back, and the open source addon reads it and does things with it.
Of course, I also understand that it can be done that way, if the addon can.
If I do some addon using a library in C++ or C#, I will do it that way. It is just a matter to be respectful of what Blender’s creators want for their API.

1 Like

I read the whole post and what you are wanting to do. I guess you have never searched for Blender Add-Ons on Gumroad or the BlenderMarket websites have you? There are add-ons that you install directly into blender that can cost a few hundred dollars. And people have purchased them all the time. And guess what, the source code written in Python is there for anyone to read. And I have never heard in the 10 years I’ve used blender or bought add-ons of somebody taking another person’s source code and selling it as their own. All you have to do is copyright your source code as most developers do, and then submit it as an add-on, or go do something else. It’s about as simple as the last sentence. And it’s going to be hard to make an external add-on for Blender without using the Blender Python API.

1 Like

Yes I have looked at that. I will just release some addons and see.
I know that there are very supportive people, and it should be no problem.
It is just that as a programmer, it is normal and logical to ask if your source code can be hidden and protected.
Thank you for the advice, I appreciate it.

No, addons not need GPL licence. If you want change Blender code and create new custom release, then this release must be GPL.

I didn’t try, but this is possible.

But add-on buyers generally want open codes and they want to be able to change any codes for their necesseries.

I’m not sure how you come to that conclusion as a Blender addon developer. Do you say it to create confusion or are you really confused?

Sharing or selling Blender add-ons (Python scripts)

Blender’s Python API is an integral part of the software, used to define the user interface or develop tools for example. The GNU GPL license therefore requires that such scripts (if published) are being shared under a GPL compatible license. You are free to sell such scripts, but the sales then is restricted to the download service itself. Your customers will receive the script under the same license (GPL), with the same free conditions as everyone has for Blender.

Sharing Blender or Blender add-ons or scripts is always OK and not considered piracy.

1 Like

https://twitter.com/LucaRood/status/1379154726084870146?s=20

This is a controversial subject for GPL Licence. Because Python scripts run under the Blender. I am not use any library outside to Blender, I am use in Blender.

I am not change any GPL code, I am not share any GPL code. I am only write script on the GPL program, and owner of this script is me, not Blender, like any model created under the Blender.

If you say all materials created and run under the program is must be GPL, then your all 3D models mut be GPL.

P.S. I am not a lawyer, and this is not legal advice. Consult a lawyer before licensing your own work.

I am software developer and I know licence types.

GPL licence is most problematic and most open to interpretation licence of the world.

As YAFU has posted, in Blender’s site there is no doubt. I had not even started the thread if I had found it first.
It was just that I supposed that although Blender is open source, their creators should have no problem with other parties developing addons in any license for it. I supposed the API had a special license for this.
I understand that if some vital change is done to Blender or I would like to release a new version of Blender and I change the code, I should release on GPL too and contribute.
But for an addon, that is an almost never official contribution, and one user can add it or not (thus the “add-on” name), it is pretty absurd to force the GPL license.

I hope some day they see it’s absurd. No other software forces this.
But as Blender has this decision done, it should be respected, and one just has to do what they say. They are cristal clear on their page: your addons are also opensource.
So anyone can make a recopilation of addons and disribute them, and even charge for that.

What Hikmet says is true too: an addon doesn’t change or necesarily changes anything in Blender’s code. It just uses it.
But as Blender says they want it as GPL, they are doing a special distinction and explicitly forcing to license as GPL anyway.

The future development of addons for Blender solely depends on the good will and economical support of Blender users, that even when they can share, they decide to contribute for a fair price to the support of the developers’ work.

All positions and thoughts about this are right. There is nothing bad in any of the point of views I see here.

For my part I will just try. In all these years I noticed that the customers usually support and respect when you give a good product.

1 Like

The only space I see in the meantime is to separate the calculations and functions of the plugin from the interaction with Blender.
Then the plugin can have 2 parts:

  • Interface part made with the API that is GPL
  • propietary part that is coded in C++or any other and just sends and receive data with Blender

This follows the rule:
" If you share or publish Python scripts they have to be made available compliant to the GNU GPL as well, if they use Blender Python API calls."
and
" You have full freedom to license your software product however you wish if and only if:
– It operates outside of Blender.
– Uses no Blender source code or API calls (including Python API).
– Produces data for Blender to operate on.
– Executes Blender to read and operate on the data."

So it has to be clearly divided in 2 parts: a Blender interface script, that is GPL, and a external dll that does what it wants, and nothing more but “producing data for Blender to operate on” and “executes blender to read and operate on the data”.

As if you do all the processing in the python addon, it has to be GPL too.

I think that maybe they do this distinction to keep the opensource nature of Blender, and that a company doesn’t come and just adds some add-on and license the full API or Blender under a proprietary license.

GPL license is chosen by those who want a software development model in a collaborative way, where all collaborators who contributed time from their work are assured that all will be on an equal footing with regard to giving and taking, in a fair system for the participants.
If a developer believes in that model for their software/code/project, why should they think otherwise regarding code of addons/plugins related to that software?

If they think that it is essential for their software development model to be able to have access to the code, modify it according to their needs and at the same time be able to benefit from the modifications of others, it is quite logical for me that they have the same idea with pluggins/addons.

https://www.gnu.org/press/2001-05-04-GPL.html

Stallman also addressed the propagating nature of the GPL, saying: “Whoever wishes to copy parts of our software into his program must let us use parts of that program in our programs. Nobody is forced to join our club, but those who wish to participate must offer us the same cooperation they receive from us. That makes the system fair.”

Contrary to what many believe, the GPL license has little to do with the idealization of the concept of freedom in the sense that anyone can do with the software/code/project what they want, it is much more a license with wanted restrictions and obligations that imposes a development model to guarantee the “give and take” under equal conditions for participants:

The fundamental property of the GPLv2 is a very simple “tit-for-tat” model: I’ll give you my improvements, if you promise to give your improvements back.

Hello @Jordi_R_Cardona
I advise to contact a lawyer directly while showing him this thread
https://twitter.com/LucaRood/status/1379154726084870146?s=20

If you are not familiar with the community, note that there’s somes who are highly enthusiastic about FLOSS, even more than the sofware of blender itself, so be careful about what you read online because I don’t think you will find a lot of objective information, (even coming from blender officials directly).

Cheers

1 Like

I will just use gpl.

Yes there is confusing info, and the faq is confusing too, so is gpl itself actually. So I will just do what I am asked to do by Blender page.

As I said I will just see if the support is good. If it isn’t I will focus in other things.
Thank you.

2 Likes

As a commercial addon developer myself, I can tell you that the blender community is really respectful about the work we put into our creations. Personally, i’m not afraid about putting all my work under GPL, so far there were no problems.

Note that plugin aimed at large studios with per-seat prices might not work tho.
Same for yearly substriptions. i don’t think you could rely on such business model in this case…

If you have any questions don’t hesitate to contact me,
Cheers

3 Likes