Module teams for core Blender development

Blender is growing fast. With the success of the Blender Development Fund and industry support, it’s important to make sure that the project organization remains future proof. Numerous activities around Blender are now performed by full-time employees or people working remotely on a grant.

Together, they take care of many core development projects and topics such as improving code quality, documentation, developer operations and support. All very important, but how do these efforts relate to work done by other contributors or by volunteers?

In the past months, I have been working with the Blender Institute crew to tackle our growing plans (and pains). When a team gets bigger you need operations management, coordinators, and human resources specialists. We need a definition of developer roles such as principal engineers, seniors, and product designers. And we need to define how projects are being organized in general.  

After reviewing popular development organizational styles (such as ‘agile’ or ‘squads’) I felt that this direction was a dead-end for Blender. We should not emulate a software company. I believe there is one aspect of Blender we should never give up on:

Blender is a community effort.

As we all know, communities are messy, noisy and disorganized. It takes a lot of energy to get an online community to move in a chosen direction, to agree on things and to get them to collaborate on topics. And even worse, open source communities often lose top talent because the best feel dragged down to the level of the group as a whole — which includes beginners or others still developing their abilities. That’s the main criticism on community-driven projects. How do you combine striving for excellence and the quest for quality with a public project that’s accessible to everyone?

Luckily we already had an answer: the module team organization we’ve used for almost 20 years. It just needed an upgrade.

Let’s divide Blender tasks into three categories. Operational, Tactical and Strategic.

Operational: bug triaging, onboarding, documentation, website development, testing, communication, facility management, administration.

Tactical: well-defined short term development projects, work that ends up in releases, student projects, maintenance and upgrades of the code, wrap up unfinished features, make Blender releases. 

Strategic: general roadmaps, product designs, industry relationships, research, mission critical software projects, keep top talent on board.

The Blender organization can be held responsible for all operational aspects, facilitating the project, and welcoming contributions from the community. In these roles we currently employ several people; including a DevOps engineer and forum moderators.

Developers hired by Blender Institute will be assigned to specific strategic projects. These usually have only one goal: to get innovative designs working as ‘MVP’ (minimal viable prototype) and hand them over to the module teams as quickly as possible.

This makes the modules teams on the “tactical teams” in Blender. That’s where the real open source dynamics kicks in. This is where the actual magic happens. It’s public, sometimes messy and noisy, but often incredibly rewarding and surprisingly effective. Good examples are work contributed in the areas of Grease Pencil and Sculpting.

Strategic contributions to Blender can also be provided by other organizations or teams. This is already happening — for example, NVIDIA and Tangent Animation assigned engineers to help with integrating Pixar’s USD in Blender.

Obviously it’s the Blender Foundation’s task to frequently present and discuss strategic roadmaps for Blender, and to make sure the module teams are aligned. That’s a topic for another post.

Module Teams

Modules are largely free to organize themselves. Each type of module might require different management styles or procedures. Some modules will be more difficult to join (Cycles & Rendering), other modules might be stricter in terms of accepting patches (Core Blender module).

Within a module there are two roles; the “owners” and the “members”.

The main rules for modules are:

  • Module owners are empowered to commit code.
  • Module owners decide together as a consensus (unanimous).
  • Module members need an owner to accept or review their work.
  • Modules only use public platforms (code & communication).

Blender module teams should be as large as possible. If they grow too big, they can split up. Technical Artists (TAs) must also be included among each module’s members

Module teams are responsible for issues in their own code (the module) but should feel free to move open issues to a todo list to deal with later. Module Owners are held accountable: their role implies they accept responsibility. 

Modules can expect wide-ranging support by the Blender organization, both for operational tasks but also for Development Fund grants (to retain essential people).

You can read more about how the module organization works in the Blender Wiki.

New: Rendering Module

The Cycles, Eevee and workbench rendering projects in Blender have evolved to become reliable production quality software, using advanced engineering principles. For that reason we decided to join these projects into one module and support the module owners to invite senior software developers as members only. In that sense the module can operate as a tightly organized ‘squad’, enabled to manage complex design and engineering tasks and ensure Blender rendering remains future proof.

The Blender organization will support this module on an operational level, by providing sufficient developers and TAs to help with bug triaging, patch reviews, testing, onboarding and documentation.

New: Core Module

Members of this module will guard and protect the core of Blender’s software design; that includes the DNA and RNA libraries, the .blend file format, undo system, core kernel code, the windowmanager and editors design, and general support libraries.

Membership of this module will be restricted to people with several years of experience with Blender development. The module will also be responsible for general guidelines on code standards and engineering practices.

Thanks for reading! 

Ton Roosendaal
Chairman Blender Foundation

Amsterdam, 15th February. 2021

  1. Always wondered how one day per bug went for Tracker Curfew. Seen logs where bugs were dismissed because of incomplete information, or because the reporter had trouble describing what exactly has happened.

    Guess it was a step in the right direction. Or a learning experience.

  2. Always wondered how one day per bug went for Tracker Curfew. Seen logs where bugs were dismissed because of incomplete information, or because the reporter had trouble describing what exactly has happened.

    Guess it was a step in the right direction. Or a learning experience.

  3. Well done. Blender has become too big to manage as one application. But how to become big and yet retain the fun? Modules. Interfaces.
    I can’t help thinking that the next logical step is the death of .blend as we know it. Something like USD may become the easiest way to manage interfaces between modules, whilst freeing users to choose another tool for a given task. Blender core then becomes just a data manager and launcher, but hopefully continues to be bundled and tested with a nice, free, set of “vanilla” tools. Unfortunately the outliner and the linking/overrides are quite weak and very difficult to understand at the moment. Fingers crossed for upcoming releases.

  4. In the development meeting notes, Dalai posted, among other things “Cycles module is looking for artists to join”.
    What does that exactly means? What are the team’s expectations and demands? How to join?

  5. I think that Blender should be developed from LEAN production perspective. Don’t get me wrong. This is all fine but if you don’t FOCUS on what is really important in animation or 3D projects you loose precious financial and human resources in endless interface modifications and rarely used features.

    Right now Blender is not enough production stable or properly equipped for animation projects. Start from here. In lean mode. Before you jump with previous references please consider that most studios don’t have in house developers when things go wrong….and as you know in Blender they do go wrong often.

    I wish you all the best.

  6. I am architect, I use SketchUp since almost 20 years, I was beta-tester and trainer on SketchUp and now, it’s time to stop using SketchUp, since it went into forced subscription, after 8 years of underdevelopment since its takeover by Trimble, and our freedoms attacked by this dirty company.

    Many want to switch from SketchUp to Blender.

    For my part, I am an architect and I also develop. We want to have some keys feature as creating section and elevations from 3D, and to have guide lines to work with precision.

    I started to see how to do it. Are others interested, are there ongoing projects for these two objectives?

    • There is a number of improved/new add-ons that would help with this and other CAD projects… would be nice to see them bundled in the add-ons library by default (hint hint). Some help with precision modeling others with parametric modeling… however, both scenarios could be partially or fully solved with geometry nodes. It would require specific node groups for it to work.

      Oh, and regarding precision, it would be nice if STLs would by default save 1:1 when set to mm or cm for the units.

      • No, actually there is not acceptable solution for precision modeling and to create 2d plans, section, elevation from 3d models.

        I explored addons, of course.

    • Blender’s brep is not designed for CAD; it doesn’t support holes in faces. I was the one who made that decision 10 years ago, which I regret; IMHO the large amateur mechanical engineering community spawned by 3D printing means there’s a place for Blender in CAD.

  7. I don’t always agree with the chairman, but I have to admire the tenacity that has created what has to be the biggest open source project in history. My hat is off to you, sir. I am humbled by your commitment.

  8. Good day everyone! I agree with you on the account of the fact that the blender is a community or, more precisely, it is a society and unity. And the most important thing is the ideology laid in the blender originally by you Ton Roosendaal and of course not indifferent and responsive society. Society of Creators In the name of creation! )

  9. What about a game engine / VR module?

    when will the time ever be right?
    EEVEE is amazing and we have been using it at UPBGE to make games,

    We need gpu armature skinning – and that is pretty much it, but it would need to be the ‘final modifier’ I believe.

    • No!
      Stop people asking to bloat blender with a game engine that nobody will never use!
      If you want a amazing open source game engine, there is Godot made by super talented and specialized people.

      • One of Blender’s greatest strength is the number of tools it has for specialized fields, like video editing, compositing, and even game design. Many people still use BGE or UPBGE because they love it, including me. Personally, I think BGE is better than other game engines because you spend less time importing/exporting models and logic bricks & logic nodes are easier to learn than code.

        Although, you make a good point about the game engine making the software “bloated”. Perhaps we can come to a compromise? What about adding a game engine module in a way that doesn’t make the software feel disorganized? For example, instead of mixing game tools with regular tools, the game tools could have their own section. Like the object menu shouldn’t have a game section. If there was a game menu in the 3D viewport, then just don’t use that menu if you don’t want to make games. Just like you can not click the video editor if you don’t want to edit videos.

        • I think the excessive multi-tool side of Blender is actually its greatest weakness.

          Instead of being excellent at making only a few animation/vfx CGI tasks, it’s wasting ressources in trying to make the noobs happy with a bazillions half complete features. (like this ridiculous video editor that has NOTHING to do in a CGI package).

          But anyway, Blender doesn’t target pro nor industry best practices from completion by pride anyway… so why bother explaining in the end.

          • There are pros and cons to having a large number of features in one program. One one side you’re enabled to create higher quality work because you have tools to complete almost any task, but on the other side it’s nearly impossible to learn how to use every single tool in Blender because there are so many. But there are pros and cons to everything. Blender is already excellent at animation, VFX, and many other fields. Can you name one feature in an official Blender release that’s half-complete? Video editing is a part of a good CGI program because it’s part of the animation pipeline. If you make an animation, then you’re going to need to edit the video.

            Blender does target pro audiences with their LTS version (stable support for long term projects) & Blender is used by many professional animators. For example, Khara Studios who makes Evangelion is using Blender, Nacho Cruje used Blender to make renders for the Emmys, and many more.

          • Hey Skylar, calm down – I was once a noob, we all were, now I’m a pro filmmaker who was made a bunch of studio features and I use the ridiculous video editor constantly – the most useful thing about Blender is that A: it exists, B: it gives artists tons of options and C: it’s totally optional – you don’t have to use it – Blender has so many features, sure, it can annoy people who want things to be simple and easy but the one feature it has that tops everything else: it’s free, given to you gratis, no strings attached, no need to get entrapped in toxic corporate tentacles that pretend they’re supporting your art but are in fact draining your wallet while telling you “no, you’re not allowed to do that, no you’re not allowed to do this” – Blender tells you “yes, you can motion track, yes, you can model, yes, you can rig, yes, you can animate, yes, you can video edit, yes, you can paint textures, yes, you can colour correct, yes, you can composite, yes, you can render, yes, you can work with sound, yes, you can opt out and use Nuke if you like, or After Effects or Premiere Pro – and Blender will always be there if you can’t keep up the corporate subscription payments – ease down, Ripley, you’ll break the transaxle – cheers, Stephen Norrington

          • Well, I worked a few years at Weta, then MPC and now DNeg so, not to be a prick but no careers arguments get me impressed nor get my attention.
            From that, I know the tools used on the best productions, and I know how Blender does wrong at the same time. By example, no plans about nodal renderpass management… while all the industry has gone this way for years with katana and now houdini solaris…

          • For a very long time there simply were no open source video editors that were well maintained and worked on all platforms. That’s why the video editor in Blender exists.

  10. Can the core module team have a look at the over excessive amount of ram Blender uses ..?

  11. I’ll be looking forward to the strategic blog post. I’m particularly interested in how the BF will engage with the large community of Blender users to ensure that their voice is heard and how that fits into the Module Team’s priorities. So much to do and so little time!

  12. Thanks for this interesting read, Blender is unique in its organization but in the wide world more and more organisations are opening up to community efforts. After open source code, there’s open discussion and open design. I can point to Figma’s community feature for example.

    The different layers of organisation shown in this post provide a welcome example for how an organization can function; I like the focus on retaining key contributors.

  13. Great to read how the Blender Creators will work. However, do other companies exist which already have proven this design is stable enough? I mean, Blender is unique, and despite 20 years of development it remained a niche, and only in recent 5 years it gained it’s well earned attention. This modular design with lots of freedom inside will require much effort in the space between modules – in ‘interface’ area, in coordinating them. This three-part organization looks interesting and I deeply hope it will be great, and will survive next hundreds years! But – is this idea first and unique in the world, or are the others who already had chosen this path?

In order to prevent spam, comments are closed 15 days after the post is published.
Feel free to continue the conversation on the forums.