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

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.