How to fund specific features/enhancements in a viable way?

The question keeps coming in the E-Cycles thread, an improved version of Cycles which I sell to be able to invest more time on coding for Blender. So I make a thread for people to be able to search for better solutions to fund development. E-Cycles is open source, all improvements will be uploaded to the BF tracker after a year, there is a course about it with all improvements explained and even more tips for you to render even faster than with E-Cycles.

But some people (including me actually) wish everything would be open and free. Here is a quick summary of what was tried:

  • Working for free: Worked well as long as I was students and was happy in 10m² with noodles, not so much on the long term.
  • live from funding, it wasn’t viable (200€/month). It seems other devs also tried and failed. (including patreon and Paypal donations)

What would be possible:

  • Work for free forever: not for me
  • Stop improving Blender: I don’t see what the community has to win here

The Blender Foundation has it’s own goals, has problems with reviewing all the patches submitted, doesn’t accept donations for a specific feature. The solution I took this year is like the Blender Market at the beginning, where the whole community was used to free addons. It’s a big change in the culture, but it also open new doors for interaction between developers and users. It’s not perfect but it works and unlike the market, I upload my changes to make it possible to include in master after a year, so that everyone can benefit from it.

If you have better ideas your welcome, but please provide solution that are proved to work.

5 Likes

I mean… Armory had a very successful patreon and is now funded through gumroad and paypal donations. It seems if you are the only one who makes something that people really want, you’re likely to get funded.

2 Likes

Here’s my personal opinion, which may not apply to everyone and may or may not provide insight:

I don’t make money from using Blender, and I presume a very large majority of people who use Blender don’t either. Any money I spend on Blender-related things is coming from disposable income (Hobby money) rather than being a business investment. I can afford to “pay” more in time than in cash, though both are limited. Performance boosts are valuable because I don’t have the cash to buy better PC hardware, but at the same time content such as training materials and asset packs are going to give me better value for money if current performance is “good enough” for my relatively simple needs. More performance is always good (that’s what makes Eevee so compelling), but I’m inclined to spend money on things like Blender Cloud with an immediate benefit such as training which also helps fund development.

I don’t think there’s one straight up solution which works for everyone. If I did I would have made it happen by now.

That being said, lets consider the possible paths which could occur with E-Cycles:

  1. Demand is insufficient to viably continue working on the patches so development stops in 6 months and no public benefit is seen from it. Some people who paid extra money have a build of Blender which runs substantially faster in some situations, but will become out of date rather quickly without manual merges, solving potential merge conflicts and rebuilding. Not many people are capable of doing this, so ultimately they probably won’t try. The promise of merging changes into master can’t reasonably be completed because no-one sensible does work without being paid.
  2. Demand is sufficient to continue work to completion, including working through the process of merging changes into master. The people who paid for the development continue to see the benefits they paid for merged into Blender with all other improvements made by Blender Institute. The changes could have been merged earlier, progressively, as not to dump a whole bunch of work on the BI developers at once. More delays will occur in the merging of these features, and some might be rejected.
  3. Demand is sufficient to continue development but a significant number of changes conflict with other areas of Cycles and won’t be in a ready state to merge without a lot more work. The public see a partial increase in performance but ultimately the promise of contributing the developments to master can’t be fulfilled.

Paying for a promise is a risky thing to do if you wouldn’t throw the money away. Receiving money for a promise which you might not be able to fulfill is somewhat nonsensical.


I think with the current selection of tools and systems we have to get paid from a group of people (namely Patreon and crowdfunding platforms) it is understandable that a majority of developers who have tried have failed. They aren’t designed for this.

Patreon is a method for people to support someone in exchange for some extra insider-looks, and to be able to join their communication channels, for example. This doesn’t work so well for developers because it works under the assumption that the creator will still be working even without a patreon subscriber-base, which is the case for many Youtubers. They’re putting a lot of their own time into making videos, and hoping that they can get enough financial support through Patreon and ad revenue to expand what they’re doing and get paid.

Paypal donations have the same issue. They’re made under the assumption “I’m giving this guy some extra money because I like what he is already doing”. The prerequisite is making things that people want, because without that they have no motivation to donate.

I double @greenorangejuice in the statement that ideas which enough people want would be valid means of earning a living - that’s the nature of freelance development. Doing work that studios (in particular since they tend to have more money available to do things like this) are willing to pay for will get you paid. The issue is now how to have a publicly visible system where people can find what development proposals exist and how much they would cost. Nothing exists like this at the moment, I believe.

For a system like this to work, the clear list of changes, potential challenges/implications of those changes, and what will be delivered needs to be visible before people have to pay any money. This stops the ability for developers to propose a grand rework of a major part of Blender, get funding, then make a few little changes here and there and say it is done. Developers must be accountable for their work, and until the measurable changes have been merged into Master, the job isn’t done. Some people might only want to fund a feature if it actually gets in. This puts more financial stress on the developer, and might make some long-term improvements less viable, but I feel this is a good way to maintain transparency, allow users to put their money into the features they want the most, and for developers to propose ideas with a price tag without the burden on having to deliver on impossible promises.

Well, a system where integration into master is the key to get paid is just unthinkable. The BF itself throw a lot of code from it’s paid devs. Gooseberry hairs, wireframe color, object nodes, etc. Even the big one like Microsoft, Google etc, have a lot of development that is never used really, or thing that are thrown away after a short period like edge for microsoft, picasa for google, etc. So if you try to find a developer, that will work 6 month on a feature, will then have to wait 6 month for the review with the stress of “maybe my reviewer for some obscure reason will reject my code” ( I think even Campbell was surprised Ton vetoed his Wireframe code, so how could an external dev be sure if he works hard enough it will go in), it’s just reserved to very motivated millionaires who can afford to live on their financial placement incomes and have fun coding. The risk is way to big for a coder.
And for the user, the risk is that it either doesn’t get merged or the developer fails or the idea was good but in reality the benefit are very small (happens often, I throw at least 50% of what I code, because of bad drivers, bottleneck that would require big rewrites, compatibility with master, algorithm breaking in corner cases, etc.)

At least with my system, as long as people pay, they get the builds. The only thing that changes if not enough people pay is that I will do less/smaller feature updates, but the user base is rather growing. So whatever the BF decide, they get what they pay for on top of the latest Blender. And I already took the risk to work for nothing for them, the feature is already there, working and stable, so they also have the security it works.

1 Like

I don’t think it is as extreme as you’re portraying. Of course developers throw away code. Of course features get developed and thrown away. If someone is going to work for 6 months with the hope that whatever they are working on will be merged, then they just don’t have any foresight. That’s not the fault of anyone but the developer. That shouldn’t happen in a professional environment. Feature planning, market research and logistics is half of what development is about. Getting the code into a text file is trivial in comparison to the whole process of being a software engineer. All the other things a developer does will keep them safe from being the person who works for free and hopes they’ll get changes merged. If you make a plan for a feature, ask BF and they don’t like the idea for whatever, then don’t code the feature if you want to get paid!

I agree, the risk is way too big for a coder. Someone who can do 1/6th of a job is going to have a hard time making a living from it. Software development isn’t about coding… Software developers do code, but they also determine validity of ideas with prototypes, discuss with others involved, get feedback and craft a brief which has a low chance of being a complete write-off, then they make a prototype, see that the idea works, check if it has highlighted any potential issues in the development process, build the feature, test it, discuss with others involved again to ensure everything is on track, so on so on.

You’re not just selling the builds though. It is murky water to be promising your changes will be in master, considering as we can see from the other thread, one large contributing factor for people’s decision to pay you is the idea that the changes will make their way into Blender.

Lets say less people start paying, so you start doing smaller updates. Turns out people don’t like paying for smaller updates, so fewer people pay, then you have no-one paying and a whole lot of promises to satisfy. That puts you in a very sticky situation. It is fine to YOLO decisions when it comes to your own time and resources, it isn’t okay to do so with other people’s money.

They have the build as it is now. When you stop developing, 95% of your customers won’t build their own version and they’ll have to either stick with their build from you which will grow old, or go back to builds from BF. There’s no security in what you’re giving them. By all means, sell learning material. By all means, sell Blender builds, but don’t sell the promise that people’s contributions will help everyone in the Blender community. Especially to the Blender community where there are many wonderful people being very generous with their time and money to help everyone.

The bottom line is that the patch system is broken, unless you just add some ground breaking features that are jaw dropping, otherwise good luck with your patches, otherwise they will collect dust in the history of Blender patches.

I am talking based on personal experience. I am not a coder by trade but I can find my way around in Blender code base and managed to do couple patches and submitted one or two. My main patch did not get into the trunk, which I submitted years ago. I still miss that feature even to this date, but I cant even keep patching the weekly updates with my own patches constantly, so really it is a cat and mouse game.

Sure enough, Blender Foundation cant spend time on every patch either, that is totally understandable, that is why I call the current patching method to extend Blender is broken, too much wishful thinking.

I do not have anger or something do not get me wrong, it was fun to go through it, but you know what, learning the code base and making patches also takes crap loads of time. And I am not going to try that one more time, I prefer to get away with the API as long as I can.

What we need is a plugin system so the external developers can get performance features into Blender, but that won’t happen either anytime soon. I get why that wont be realized anytime soon either, for both technical reasons and some other top down management reasons maybe, fair enough. No issues there for me.

The current way of handling the code base is not very productive for the external developers. Addons are fine for many tasks (and I personaly like our Py API) but there are times when plugins are true necessity and that is where the developers can charge the premiums and make a living from active Blender develoment. Because providing patches is a dead end, especially when they do not make into the code base.

Really, which top external developer would like to spend weeks on a patch that wont even get a proper review to be included?

It certainly isn’t easy - I don’t think it was ever portrayed to be easy, except maybe by Pablo. Contributing to a large codebase is hard. It isn’t just about writing code that works.

There are also obviously organisational improvements which could happen at the BF end, but I don’t think the barrier is actually all that high. If you’re communicating with the devs there while you progress with your patch, keeping them up to date with what changes you’ve made, why, and what implications that has, and ensured that you’ve run thorough testing on your code (this is the most common reason I’ve seen code rejected - it’s just plain buggy or slow), then they’d be happy to take a look. Again, you should know whether they like your idea before you dedicate months of work to building it. That’s just a responsibility developers need to take.

Having a more extension-friendly API would be great. That would certainly allow developers to be more flexible in how they work and would probably make the merge review process easier as well, since code would be more clearly separated. These are all just software architecture concepts that need to be applied. Honestly, a lot of the Blender code is a mess. That isn’t an insult, it is impressive they’ve managed to make what they have, but when something has been around for as long as Blender has, things are bound to get messy. This might be one of the frustration points of both developers at BI and individuals wanting to merge changes.

Great question. I don’t think anyone would do that. Discussions about suitability to merge into Blender should be happening before code gets written.

1 Like

I’m not sure it’s you intent, but all you do is speak against funding system. You seem to say there are some magical recipe to ensure things can go in master if you speak enough with the BF and plan things perfectly. You base your reasoning on the success stories of the devs who stayed, but your reasoning must take into account all the devs who left and/or made a fork (Theorie animation, Fracture Branch, V-Ray, Octane, etc.)

If you work for a company or the BF, you get your money whatever happens with your code, merged or not, you get holidays, health care, etc. You say people aren’t ready to pay for things that won’t get merged, but they do all the time. The split kernel for CUDA and CPU is money “thrown away”, the new hair system of gooseberry is money “thrown away”, the object nodes is money “thrown away”, and I could bring a whole list of trials on different BVH types in Cycles, code to reduce time needed for kernel building with OpenCL that never brought expected results and also took money from community for “nothing”.

We are looking for a better solution to attract new developers and your idea to make it sexy is to say “all the risk are on you and you won’t have any money until it’s merged. It’s BF sole decision to merge and we have no timeline for when the BF will take time for review”. I would say, instead of speaking, do it.

1 Like

There’s your problem. If you want to change others’ mindset you have to change yours as well :slight_smile: There’s nothing inherently honorable, moral, righteous, divine or prosperous in things being open and free. Nothing at all.

Free and open source is simply one, single approach to a development. One, which comes with with set of advantages and equal set of disadvantages compared to commercial, closed source development. There are also very viable approaches in between, such as commercial, not open source, but still very open, and free to use with revenue share if you exceed certain income, like what Epic Games is doing with Unreal Engine.

In general, not free and not open source is a safer bet on a success. It comes to simple fact that money is simply a measure of effort, and a reward for effort. Human beings are naturally inclined to do things for reward, that’s how our brains are wired. You are not going to motivate the most competent software developers to put the maximum of their abilities in any software if the promise of reward is 10m² and ramen noodles for breakfast, lunch and dinner every day.

Your plan to monetize your development is fair, and as long as it doesn’t break any of the aspect of GPL license, then you are fine.

My suggestion is that you simply heavily focus your attention and effort on all the people that give you money and pay for your product, and completely ignore those who don’t. :slight_smile:

(I am sure sooner or later someone really dumb comes by and says something alone the lines “But look, Blender is free, open source, and it still develops faster and better than Autodesk software!”. Yeah, well, try to take their 25k EUR/Month away and see how that goes then. The fact that they established somewhat reasonable sum of 5k EUR/month salary for one developer, around (about $70k USD/year), shows you roughly how expensive good developers are. In fact, they’d get about double that had they been hired in the US by some larger company.)

4 Likes

How many years did it take for Blender Foundation to get to that kind funding? I’ve been here for many years and Blender has always struggled more than any other open Software to get an alright funding. I do believe that the right click made it harder than it should as people don’t want to invest in backward thinking. I’m serious about this. First impression of blender was always horrible. 2.8 will change it big time.


@bliblubli I really hope you get also a great funding with your work. You could send an email to AMD and nVidia to see if they can help you with funding. Asking costs nothing and they might get much more sales with your patches. Like even if the code is out they would pay you just for showing tables on their homepage. That stuff sells GPUs.

1 Like

Nvidia provides me already with free hardware, AMD proposed a job. But I can’t move to another country at the moment. Thanks for the suggestion.

That pretty much adds to/reinforces my point. You can clearly see how increase in funding directly increased both speed and quality of Blender development. It wasn’t the virtue of being open source, or virtue of being free. It ended up being money, plain and simple, as it always is :slight_smile:

2.8 is awesome because Blender Foundation got enough money to compensate very competent developers adequately.

It took many years for sure, simply because Blender had community with quite negative stance towards paying for stuff. That’s luckily changing recently, as some of them start to clearly see the influence of funding on the quality of development, but mainly because of influx of users dissatisfied with other, commercial 3D packages, who are willing to fund Blender as possible replacement.

3 Likes

I’m not trying to make anything sexy. Freelance work is what it is, I’m just explaining the reality of freelance work. When working as a freelancer, everything is your responsibility. It doesn’t matter what you’re working on. If you want a steady salary, healthcare, and the ability to experiment with new ideas without affecting your income, then freelance work just isn’t for you and finding employment might be a better option. If you have an employer, they’re the ones shouldering the risk of developing features that don’t get used, and that’s fine. As a freelancer, that burden is on you. Everything you promise is part of what you’re selling, and if you can’t commit to it, then it isn’t going to look good, not to your existing customers, future employers, or new potential customers.

Yes, many efforts have been made and the code hasn’t been used - as an employee of a company, that’s what can happen. If they still have funding, they’ve got nothing to worry about. If they were to continually fail to develop features, they too would lose their jobs. The difference is between having an employer and working as a freelancer. As a freelancer, people don’t care how hard something is, they just want the result.

If you can get people to give you money for what you do, cool, but just don’t lie to people - it might work for a while but it sucks for everyone involved in the end.

There’s no magical recipe, but learning a bit about project management, SOLID development principles and organisation with others will go a long way to making the process more smooth. Remember, as a freelancer, everything is your job. Being a successful freelancer might take decades of learning.

The one magical recipe for getting things you work on merged into master would be to not develop anything that, after discussing with the devs, doesn’t seem like a good fit for going into master. This seems like a strange limitation to put on yourself but it’s one way to do things. I’m not saying that everything you write must end up in master, I’m saying you should be able to fulfil promises you make.

There can be 100s of patches trying to pull Blender in different directions but to actually make it better, it just needs well built, carefully thought out improvements. That’s probably one of the biggest reasons for the low acceptance rates for patches - they just aren’t in line with what BF want Blender to be. I have first-hand experience with this. Even if your code is good, even if you’re offering improvements, if the changes don’t fit with what BF want blender to be, then it won’t be merged. If that’s the case, don’t promise that it will be.

1 Like

Except that this isn’t true at all. Money is a measure of the value to the user. Something can be really difficult, but completely useless, and therefore earn no money. Something could be simple yet very useful and earns lots of money. Generally, smart people put effort into things which will make them money, but that’s not the same thing as saying money comes from effort.

I’m trying to make a constructive discussion about how to find new way to attract new devs while keeping things open as you find one year is too long. I’m fine with a year, on the Blender Market it’s never and nobody complains. But I have the impression we discuss near another not with one another.

I apologise that I have been quite heated in my responses. That hasn’t helped create a useful discussion. I’m not against you or what you’re doing. I’m very happy that you’ve found a way to support yourself developing for Blender, and I’m looking forward to seeing what improvements you can make to Cycles.

All the improvements from E-Cycles will be submitted to be added to the official Blender version after a year.

This is the only thing I have a problem with.

All I want you to take on board is that you seem to be promising something you can’t fulfill. Don’t say you will merge the changes because you have no control over that at this stage. If you end up merging some of them later, then great, but really you’re looking for funding to continue your work - nothing wrong with that, I’m glad you have that opportunity - so merging the changes whenever you get around to it is just a bonus. Treat it as such and everyone benefits.

There’s nothing wrong with the content you’re making, or how you’re going about making money, but you’re playing on people’s good will in order to convince people to purchase it.

I’ll reword it then. I’m not a native english speaker, for me submitting means proposing. I changed to “propose”, but writing so much for a word… Let’s keep the subject in focus, most people here have another mother tong language.

4 Likes

People will always want to not have to pay, can’t blame them. Who does not like free stuff.

People also like to support devs though because they know that they have to make money to do this full time or even part time.

But the problem is in order to convince people to pay one has to offer something substantial and something that is really useful to them. Everyone looks for different features and improvements.

In my case , cause I am very close in releasing my own commercial version of Blender of course GPL licensed and all that this means, I start with low expectations , focus from there on keep making it better and better. So I know its going to be a battle and I know it will take time but I am in no hurry.

In the end open source is like everything in life it takes dedication , sacrifice and risk. There are many addons on the Blender Market which are not that complex and yet they have made a solid amount of money. Now with Blender hiring 6 devs full time and 4 part time its great news for us that want to make a living out of coding for Blender because it will increase the user base exponentially.

Every commercial project is pushing Blender forward and as developers we can contribute some of our code back to the original repository if it fits Blender’s standards. It’s a symbiotic relationship. Blender help us we help Blender.

It’s not exactly rocket science. No you don’t need donations, just sell what you are making, if people dont buy it , improve it until they do.

When ZBrush was released people were not exactly running to buy, it took a decade for it to become the defacto modeling tool. ZBrush was not even promoted as a sculpting tool it started as a 2.5D app, pixol was its most promoted feature and this is why its called “ZBrush” this is why its main developer calls himself “pixolator” and this is why the company is called “pixologic”. Nowdays ZBrush is all about scuplting. Thats the nature of evolution. It takes time, that’s a rule of life.

Also another thing that ZBrush is teaching us is that it pays to be innovative. So avoid competition do your own thing, give people a good reason to buy what you are selling. Most importantly NEVER forget to have fun, the money will come.

6 Likes

That’s just picking on the semantics. Obviously your formulation is what I meant, I just did not want to add yet another entire paragraph to my post just to explain it precisely.

Yes, I meant effort as in how valuable others consider your effort to be :slight_smile: