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

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:

Since I am a professional software project manager, I’d like to comment here …

I don’t like to see “forking,” where one developer or group of developers goes off on their own separate course – epecially not for a now very-important product like Blender. I feel instead that “everyone must be singing from the same hymn book.” There must be project management – including a designated autocrat [committee] – plus release management, quality assurance, and financial management.

(In Blender’s case, it is “Ton,” and from what I’ve seen of his work, you couldn’t hope or ask for someone better or more dedicated than he. He is passionate about Blender, and damn good at what he does.)

I don’t want to see features getting put into the trunk because someone paid piecemeal for that feature to be done. From a software project-management perspective alone, that is an untenable strategy because "everything in software is connected to everything else." And, a product like Blender, which advances on many fronts at one time, must continue to advance on all of them in a reasonable and determined way as priorities and resources allow. Although it is completely open-source, Blender is an entirely professional product now, with accompanying professional expectations. It must be managed as such. It must be paid for as such. Keep those contributions coming. Buy those memberships. Buy two.


Plus, my interest in Cycles – including, a “much faster” Cycles – evaporated when Eevee came along. Part of this is simply that my PowerBook doesn’t handle heat well, and a three-and-a-half minute fan-blowing render to produce a very poor rendering of a single frame could not match what Eevee did in about five seconds while keeping my hardware cool as a cucumber. I can produce the frames that I need to produce almost instantly, and as I learn more about nodes (and as documentation improves) I know it will only get better.

2 Likes

Quotes are from the E-Cycles thread continued here:

Don’t see how, showing your code at interviews is possible whether you’re a code messiah or mercenary. If I were hiring, code would speak not image.

Both seem to be occurring and yet multiple threads, posts, paragraphs later… still ruminating(?) about @bliblubli’s approach. Why not try said, or your own preferred methods out to fund your spectral rendering efforts? Surely that’d be less contradictory and more productive, data wise if not feature wise too?

Patreon would avoid this how?

Fracture Mod, Tangent Anim, Grease Pencil, Mantaflow, etc. Parts of have or are due to join trunk. There are dilutive risks sure but so far the sky hasn’t fallen. :crossed_fingers:

Isn’t that Tangent though? I agree on the interconnectedness bit, but assume Brecht and co can discern what will and won’t mesh with their roadmap / architecture and pick, mix and modify parts of offered code accordingly.

1 Like

Other than for junior roles, being able to code is a given. Public image, or more accurately, proven productivity, is a much better measure of skill than looking at a code sample.

I’m not looking to fund my hobby of converting Cycles to a spectral renderer. There is little need for it in Cycles as it stands and there are very few people who would pay for it - it would be a very poor choice of employment for me at this stage, and would ruin the fun of developing it. This is completely in line with my theory. People do what gets them paid.

Patreon wouldn’t solve it, that was my point. Having development funded by individuals who get exclusive access to the results, well, that works, but it causes exclusivity and segregates the community. That’s what I hope to avoid with any system which aims to help freelance development of Blender.

Exactly like #rawalanche says… keep your excellent work. professional blender users will like to pay for better/faster blender/cycles because this convert to money/time saving…
hobbyists users don’t need it urgently and can to wait for official merge/development.

2 Likes

Which in this case could be an .exe benchmark comparison and or the code claimed to make the difference? Image / rep is too nebulous for my tastes, hence preferring the quantifiable. Lines of Code / Gross paypack / Hours worked, sure they’re indicators too. Appraising your claimed greatest hits over the filler is easier too.

No, I get that…

Hmm… :thinking:

:ok_hand: On fragmentation and exclusivity, well that’s the carrot, or stick, that’s working in this case. Author’s happy(?), clients too, GPL / legal can’t complain either. :partying_face::clock1::dove:

Rejoice for the choices more enabled and motivated devs avail us all, for the market of ideas, for promised support made manifest. /half_full

Take the job man. See if they can give you relocation benefits or something. LOL.

In all seriousness this at least is validation that your work is appreciated. Both AMD and Nvidia want to sell hardware, E-Cycles has the potential to sell hardware.

its a common misconception even among pro coders that open source is permission to contribute to source code.

It is not, even under GPL.

Open source is permission to use and modify a copy of the source code, to the extend the license allows it. Open source is not an “open door” policy.

Just because I allow you to change a copy of my source code, does not mean I allow you to change my source code.

To gain permission to contribute wont just require to satisfy the license but also to abide but a set of rules, ideologies and workflows established by the main maintainer of the project , aka BDFL (Benevolent Dictator For Life). Blender has Ton, pretty much any other open source project has at least one which is usually the original author of the code. You wont have to go far, just take a look how long it took Blender to make left click the default one. Blender has it own workflow of contribution aka code review system like pretty much any other open or closed source project out there. It’s there to make sure code is establishing a level of harmony and common direction. Without it, it would have been pure chaos.

And if you think that you stand much better chance of your code contribution request being accepted by going for much smaller projects , think again. Even tiny projects reject contributions. Almost daily. I have done so as well and the pull request was actually a pretty good idea and well written code. I just did not have the time to fully review it and decide if I really need it or willing to maintain it. Because as soon as you accept code, that code has to be maintained and that is a lot of extra work.

There is a reason why Git is the de facto version control system for code. There is a reason why GitHub has been the driving force of Git’s popularity and a reason why almost every open source project has a presence on Github. Git makes it easy essentially to have thousands upon thousands of forks. Forking is the very essence of git , every local copy of the code, even the one you download to build, for Git is a fork. Because Git is all about hardcore decentralization. There is a reason we call it “pull request” , its a request , not a contribution. It becomes a contribution only if it gets accepted and in order to accomplish that its an uphill battle most of the time. The bigger the code the harder it is. Even when your original idea has been accepted and well received.

If there is one thing humans always agree one, is that they disagree. It takes just a small disagreement to create a fork, a minor change to the code to make life a bit easier or to change things more to the personal taste a coder/user. It’s very easy for the coder not to have to seek permission for every change he makes to the code. It saves time, it boost productivity. Hence why forking is preferable to contribution for coders.

Git is the central workflow of Blender , even git branches are a form of mini-forks and this is the standard way for working on major code changes in Blender. Every Blender major feature you have seen started as a Blender branch.

Now you may say “wait , wait a second not every fork makes it to the main release”. Well… I have bad news for you , not every branch makes it to the main release either. Some get delayed for up to years, others are plainly rejected for some reason even if they have already started with some sort of approval. Popular example is GSOC projects.

Essentially what you like is impractical because a) Blender is a huge project so disagreements are inevitable b) because Blender is such a big project it had to establish strict contribution guidelines that leads to even bigger disagreements c) Blender official development workflow not only depends to fork orientated version control system but its entire workflow is essentially fork orientated. We have after all like a gazillion ways to build blender d) Is way more productive to work on a fork that directly contribute e) way more fun too f) if all fails you wont need to apologize.

In an ideal world we would have one Blender to rule them all but even the all mighty Saron had to make multiple rings to accomplish that :wink:

Life itself evolves by “forking”. What chance code has to resist the natural law of evolution ?

Mind you I am not saying that not having forks is a good thing for Blender. Quite the opposite, the lack of Blender forks is plain demonstration how easy it is to do major changes to Blender source code. The massive distance between the ability to read code and the ability to understand it.

The only major argument against forks is the problem of fragmentation , but that is very easy to avoid with establishing a common Plugin (nothing to do with addons or scripts) API system. This is way you can have a million forks yet one Blender.

1 Like

Gimp is one example of that chaos.

Generally in any project, there is always the risk of bloating a codebase so this is very difficult to choose the best features. There are no golden rules for defining which features are important or non-important. But overall these can be defined from empiric evidence and unwritten rules.

If I try to guess, basically what is considered most practical and useful that solves some very nagging issues (often called development breakthrough), or something that it’s value is timeless (not depending on trends of the era), or other than that something that is considered something that the dictator’s vision (BDFL :)) agrees with.

Some examples are:

  • Animation Nodes (JacquesLucke): He spend a consistent amount of effort developing the system as a Python Addon. At the same time Ton had a plan for providing a powerful node system (modifiers+animation+particles+etc). So it was a case of joining forces to make it real.

  • Colored Wireframes: This was a case of that feature conflicting with Ton’s vision, that it would conflict with the themes. Personally I loved this feature and wished that it would be added.

  • E-Cycles: I find it very interesting, although I am not a cutting edge user right now, I am very sure that if I had the tremendous need (working as a professional), I would definitely need to get this working even if compiling a custom Blender version. However in terms of project management, if I were the project manager of Blender, I would find very very risky to add this code. Perhaps it might be the CUDA libraries (embed-third-party-commercial libraries?), or might be the CUDA technology (what about AMD users?) or might be the GPU models at this time of year (this means to support Titan but what happens next year? support new models and old ones? so this assumes to keep an eye to all nVidia model releases and test each one year by year). These would be some dilemmas that would prevent such code getting into trunk.

However the solution is that such problems are resolved through a native plugin system. But again this architecture is against Foundation’s vision, that Blender should be free and therefore do not provide means and excuses for development of commercial products (product inside the open source product).

Food for thought…

1 Like

Honestly, I think much of the funding Blender gets is just people giving Autodesk and Adobe a big ole F-U. But seriously opensource tends to do better when its closed source competitors sow discontent.

My personal advice is to diversify your work away from Blender and FOSS. In my opinion, FOSS contributor development is usually a sucker’s game. Unless you own the project, there’s no real freedom.

You deal with the same kind of “office politics” as you would in an ordinary job, but the people you deal with are more likely idealists and ideologues. Money is often the last thing that matters and that quickly leads to mismanagement. At that point you have to ask yourself, what am I even doing here? Am I correctly appreciating the value of my own time and energy?

Specifically for Blender, there is no solution to your problem. You are touching the “monolithic” part of the codebase. You have to deal with the developer clique (no offense to them). You can’t have the kind of independence that you seem to prefer. There’s some things you can do independently in the form of a plugin, but even then you’ll always have to deal with the plugin interfaces, provided to you by the same developers that do not have to use them. You’ll also have to deal with the GPL and its restrictions.

6 Likes

In defense of the developer clique, at the end of the day they are the ones that need to maintain their code while trying to sort out how to do their laundry list of features they want to implement/improve/fix on a shoe-string budget, so I can understand why they would be hesitant to adopt every kewl idea and code sample that was pitched their way. All other opinions aside (and I know I myself and everyone here as theirs) at the end of the day THEY are doing the heavy lifting, and with that in mind I keep my armchair quarterbacking to a minimum. I’m not saying I don’t voice my opinion but…I’m also mindful that I don’t know the logistics that they are working with.

Don’t know about Gimp, but judging from the fact that there is no app out there , open source wise, that can compete with it. I think they are doing fine. Krita is offered as an alternative but it is not, as it focus more on painting.

I heard even Ton claim that he does not care about money, but its not exactly true. I mean he is basically a business man and he rarely codes for Blender. Mind you Blender like any project needs a business man to flourish by securing funding. What Ton did with the BI movies was brilliant. So yeah he does not care and I think most open source developers don’t about making money so much but still they are no idiots, they know that money is required if they want to maintain such a large project.

We humans love to blame things for our wrongdoings, especially money is the stereotypical Hollywood bad guy. Yet greed can manifest is so many forms.

Ironically open source is probably the biggest money maker of all. Linux for example drives the web which is the biggest software market. Android a Linux, iOS and MacOS are largely open source , even Microsoft is open sourcing Windows piece by piece with recent example of not only open sourcing .NET the technology that drives modern windows application but even actively supporting other OSes like MacOS and Linux(they basically bought the company that ported .NET to macos and linux).

How ironic that its near impossible nowadays for a company to make money without using / relying on open source. It used to be economic suicide to invest on open source now its economic suicide not to.

I did not see any complaint when addons became commercial. Actually did you know that BF once infringed its own license , they allowed the dev of BSurfaces to close the source for a brief period of time because he wanted to sell it (back then devs feared that commercial addons could not survive open source) with the promise that later he would open source it and then provide it for free under the GPL .

I know because I was one of the first customers.

BF has given way more than its blessing for commercial projects. I do not think its fair to make the claims you do. I have actually developed a plugin system for my commercial project and I can tell you its no walk in the park mainly because well 2 million lines of code are equal to a ton of functions. Of course I am lucky because my plugin system only need a tiny fraction of them.

1 Like

To be fair, the BF’s system for patch review has improved over the last few years, but they currently do not have a lot of time for patches with all the work they need to do to get Blender 2.8 out of beta and into the hands of those waiting for the release.

Even then, there has been quite a few user patches that have been submitted in the last months. I would expect improvement once 2.8 is out and the devs. return to a 3 month release cycle.


We must also keep in mind that the BF has little tolerance for patches that are based on adding hacks to shoehorn a feature into a design that can’t handle it well. The early days of Blender saw a lower standard for user patches in terms of that, but it ultimately led to the need to rewrite large parts of Blender because the code became a mess. They are not the only ones to learn of the need for high standards as the Godot guys raised their standards as well.

Coding features?? for money?? You need to know what people REALLY need and ask them if they are willing to pay. E-cycles is a nice idea, but let’s be honest: Is not really a money maker because there’s no problem waiting 1-2 minutes per shoot for normal people, and even less if you are a render farm (they sell time). These are the kind of thing a studio can and mostly willing to pay for, but not people.

A viable way is to take note of what people really wants (sounds easy but trust me… IS NOT OBVIOUS), then code a prototype, then present this to people and tell them “hey guys i have this thing i can complete it but i need some money, how about you fund me about US$1000 (example) so i can dedicate time to it and finish it”.

Of course there’s always a risk. And i’m going to be honest here: If you can’t/don’t want to risk (talking about the AMD opportunity as an example), probably you should look for another area of coding to invest time (not 3D, not Blender, no CGI). Probably there’s more areas that can be monetized if you know to look where.

@Killon, about Ton not interested in money, i believe he doesn’t care about money the same fashion the likes of Autodesk, EA, TheFoundry, Ubisoft cares about money. Everybody needs money to survive in this world, but we might agree that some people wants far more money than others, and some people just love the money more than anything else. (yup, i know lots of these guys/gals).

1 Like

E-Cycles seems to be very popular right now. Remember a solo developer does not need a lot of users to make a decent living like a big company needs to feed its employees. Unlike the company he is also pretty low in costs.

I am also pretty sure the author of ZBrush did not ask users whether they would like a sculpting app, because the answer he would got would have been a “nope”. He just made it and kept improving it until none could resist. ZBrush was not an instant success, it took some convincing for people to embrace digital sculpting. I remember because I was one of its first customers and I had to explain myself in forums (I was not a Blender user at the time ) why I would waste money is such a weird little app. Good ideas are impossible to sell for the simple reason that when they start they are crap ideas and then they improve and impove and improve.

Yeah I did not mean to compare Ton to Autodesk. Autodesk afterall does not only care about money, its a religion for them :smiley: