Developing Commercial Plugins

I was wondering what the conditions for those who want to benefit financially from developing plugins for Krita.

It was already pointed out that all the plugins has to be GPL due to Krita’s API is licensed GPL.

Can someone who knows more give all the details regarding this topic?
Like what license can I use? Can I sell this stuff actually? If I set GPL, can then person who purchase my Plugin to resell it?

P.S. Does not this license constrains Krita expansion? I mean if the license constraints you in earning money it will not attract professionals, well at least those who can earn around Krita at least.

Thanks in advance :slight_smile:

For instance. Blender is GPL. And there are a lot of paid plugins. How do they sort it out. Are the plugins also GPL? I am confused.

Hmm blender market has nice illustration: GPL - Blender Market

So. Does it means then when I sell the plugin I actually let it go. And should anyone benefit from it (by adding some stuff) and selling it, I should not complain. Seems like it.

GPL 3.0 and licenses that GPL 3.0 is compatible with (which I think is just GPL 3.0 at the moment, but I might not know some less known ones, but I’d suggest sticking with GPL 3.0).

Yes, the license doesn’t say anything about selling.

Yes.

I mean, have you seen how many professional Blender plugins are out there? :wink: Some of them are paid, some might not be, since the company might be selling some other things, like support etc., or like Mixamo or Substance plugins, the code is open, but to use it you kinda still need to pay Adobe for other things (Mixamo or Substance themselves).

1 Like

Blender plugins are also GPL, the blender founder himself has cleared this here.

As for selling part, nothing in the GPL license stops your from selling your code. Even krita is sold in market place. And yes the person you are selling the code can ask for the source and sell it themselves. But I doubt most would be doing that. I will surely purchase a plugin if it is a life saver and good one.

No, there were this type of argument for Blender too. Many said that by restricting blender plugin to GPL license and not allowing the plugins to be proprietary would hamper blender adoption. For example check this thread. That was 2017 and see where blender is right now :). So the point that krita will not expand without proprietary plugins is moot.

Well. You give plugin in Python. So it is kinda open sourced already :slight_smile:
By purchasing it.

It is interesting discovery thoguh.

I wouldn’t worry about it much, though. First, people prefer to buy stuff from the creator. Second, to actually sell stuff you need to have taxes and other stuff like that ready; I would finish and put my plugins on Gumroad long time ago if not for the taxes. So it’s not like there would be lots of people who’d go into such trouble to set up a company that can sell this kind of stuff.

And you can for example make a tutorial PDF separate from the plugin and it doesn’t need to be GPL. So code would be GPL but the tutorial wouldn’t be.

Note that if someone wanted to pirate your stuff and sell it somewhere, they still could, since I doubt you’d be coding in any DRM (way too much trouble for way too little profit in this case); so it’s not like you loose much, in my opinion.


Think about it this way: see how Krita is growing thanks to it being GPL. Plenty of features are implemented by volunteers who take the code and add their own changes.

And it’s giving back to the community, too. Note that if you have your plugin in the open, even when you stop being interested in further development, future users can still use it, maybe someone else would come and start developing it further. And you can build upon other plugins and other plugins can build upon yours. That prevents constant reinventing the same things over and over for every similar plugin, since the code is already out there and you have every right to just use it (you only need to add the copyright).

1 Like

I remember that gpl even allows others to sell your plugins at higher prices…

@Grum999 and @slightlyangrydodo Continuing out discussion from the other thread - I don’t know for sure, yes MIT is compatible with GPL, but in this context since you use Krita API your code needs to be in same license to not violate krita’s license I think. Also if the plugin code is MIT someone else might that code and include in proprietary stuff since it is MIT and it is okay. But then that would also violate krita’s GPL license and create confusion.

No, the plugin cannot be MIT. GPL program can use a MIT code, but a MIT program (here: plugin) cannot use GPL code (Krita API).

2 Likes

Yeah. Basically GPL allows you to resell. That mean - run good marketing campaign and sell the stuff. Assuming it is a good one.

Now, the more I think about it. In general plugin can generate some income. But not a lot. And if plugin can generate a lot of income, it probably so big that can be a separate tool.

What brings me to additional question.

If I make a plugin that calls functionality from the other software. I think GMIC (lets put aside that gmic is OS for now) filters is a thing.
So the plugin itself is GPL, but (lets imagine) the software is not.

So what in this case then? Should I make my software GPL too? If I call its functions from the plugin.

@tiar your thoughts?

blender has a plugin that interfaces with Substance Painter, how is it doing?

Makes sense. Doesn’t really bother me to be honest!

And it is not really about plugins. But it also a code.
How about SeExpr scripts? What license should/can use there? If I redistribute these scripts.

Wolthera said that it comes up in Blender community often and the consensus is “no one knows”.

KSeExpr is under GPL as well: LICENSE.txt · master · Graphics / SeExpr for Krita · GitLab but Seexpr itself is under Apache 2.0, which is pretty permissive. So as long as you make code that is compatible with vanilla Seexpr and not use any Krita’s own additions (I don’t think there are any though, the fork was made to make it possible to use in Krita without huge amounts of crashes and sefaults everywhere and to make translation possible), and as long as you comply with Apache 2.0 (add the license statement etc.), you should be able to have it closed source.


I do have a feeling that you’re “trying like a horse uphill”, like my math teacher would say. See this: RetopoFlow 3 - Retopology Toolkit for Blender - Blender Market - 7600+ sales. And here’s the fully open source code: GitHub - CGCookie/retopoflow: A suite of retopology tools for Blender .

Purchasing a license entitles you to tool support and helps ensure RetopoFlows continued development.

And

While it is permissible to grab a copy of RetopoFlow from GitHub, this method is recommended for developers only, because it can get technical. If you have issues with enabling the add-on after installing RetopoFlow using this method, please make sure that you have installed RetopoFlow correctly before creating an issue. Alternatively, you can purchase a copy from the Blender Market, and you will get full support along with a packaged version of RetopoFlow.

And you don’t even have to publish the source code in a public repository - you just need to give it to the person that’s buying the plugin from you.

People pay for convenience (prefer to pay if it’s convenient than not pay but search the wide web for the unofficial version), for their own conscience, to get help with the tool if it doesn’t work the way they want it, and to ensure fixes if there are bugs that stops them from using your tool.

1 Like

If you create a GPL bridge plugin, then a separate software that uses that bridge. As long as you aren’t packaging them together, the separate software can be completely closed source. You can technically have your software download the bridge remotely.

1 Like

That’s really confusing anyway :sweat_smile:

Because some plugins provided with Krita are not under GPL 3 license (some of them are CC0, so maybe CC0 is compatible with GPL 3, I don’t know, but it start to be complex :face_with_hand_over_mouth:)

If I understand, part of a plugin can be MIT if part doesn’t refer to any Krita’s API (or any API under GPL 3 licence), but part that use Krita’s API must be GPL 3, and finally all plugin must also be published under the GPL 3, even if some part are not GPL 3 :exploding_head:

Grum999

1 Like

Alright. So to be on a safe side. What GPL license should I use in my plugins? Just to be safe.
Can you share the hyperlink to the text file with license please?

GPL 3

Example of a license text:

After, you don’t have to put the entire text on all files, but it’s recommended to put minimal license information on each of them

On my side for example, I put this:

#-----------------------------------------------------------------------------
# Buli Notes
# Copyright (C) 2021 - Grum999
# -----------------------------------------------------------------------------
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.
# If not, see https://www.gnu.org/licenses/
# -----------------------------------------------------------------------------
# A Krita plugin designed to manage notes
# -----------------------------------------------------------------------------

In Krita source code, they use SPDX information like for example:

SPDX-License-Identifier: GPL-3.0-or-later

Grum999

1 Like

Originally wrote this for your topic at: Call for Art Pros volunteers - Plugins Development then saw you wanted to continue it here.

You will want to read Krita’s terms of service to nail down what you can and can’t do. It’s been a while, but I think it goes something like this:

You can use a GPL program - like Krita - to make non-GPL products, such as a painting, company logo or movie. The problem comes when you try to incorporate something non-GPL into a GPL program like Krita, it becomes “infected” as one person called it. So, if I make some new icons with Krita, they are 100% mine but if I want to let the Krita team incorporate them into Krita, they become GPL and suddenly available for use in more than just Krita. This has it’s pros and cons and as such some libraries can’t be included in Krita. However, I think you can offer a plug-in separately from Krita under a different license and the user can plug it into Krita.*** Once again READ THE LICENSE.

It’s so important, I’m not just going to use all caps, I’m going to state it thrice: DON’T RELY ON MY ADVICE OR ANY OTHER OPINION (except maybe a paid lawyer who knows what he’s talking about): READ THE LICENSE. Starting a small business is both difficult and risky, so make sure that those 100s of hours spent hoping to put food on the table can’t be easily and legally subverted by an aggressively infectious license.

I know some people will be offended that I refer to the GPL as infectious, but this is how the GPL was designed to work.

Good luck: more plug-ins - even paid ones - are good to keep Krita competitive! That being said, I don’t expect anyone trying to make a living to publish a product under the GPL. It is not good business sense - people WILL redistribute your stuff legally. Heck, even I have a free copy of Retopoflow. The GPL was designed to make programs monetarily free, not to help them be sold or turn a profit. If you want to share, that’s great - but if someone gets a hair across their butt and starts re-publishing your plug-ins (even without changes)… well, it’s hard enough getting illegal, pirated art off e-bay… and the grocer doesn’t accept good works and sentiment as payment.

***(If it’s any help: A popular game engine was released a while back - I think it was the engine from Black Isle for Baldur’s Gate. Anyways, the engine was nice but the license was unfavorable for anyone who wanted to keep the rights for new games developed on it - even if the game was given away for free - but it was a while back, I believe it was the GPL. Anyways, I heard they were able to get around it by offering their game separately to be plugged into the game engine by the user, though I can’t remember exactly which hoops they had to jump through to keep rights to their game and characters).