Elitism

Cult leaders of Godot shows signs of toxic elitism. Cults want to show that they have the ultimate answer to life, so toxic leaders tend to present themselves having the wisdom to make good decisions and make a great impact upon society. Of course, the true purpose of cults is hidden behind a pretense of good intentions.

Special mission

As we have covered, Godot leadership doesn’t really define its mission and vision, because those aspects manifest via other outlets that are closer to the real purpose, such as a commercial company W4 Games created by Godot leadership itself, co-founded by Juan and Rémi. Here’s how they define their mission1 [emphasis added]:

We want to help the video game industry reclaim their control on the technology powering their games, and reverse a dramatic trend where they have to rely on proprietary solutions from an ever-shrinking number of vendors.

Our aim is to make Open Source the industry’s first choice by ensuring that both enterprise and independent developers can use the community-developed Godot platform with peace of mind.

Cults claim a special mission, like to save humanity, so frequently, that mission is messianic or apocalyptic. The mission defined by Godot leadership is quite analogous and pretty much reflects this, with appeal to emotions using words such as dramatic, ever-shrinking, peace of mind.

Perceived threat as a unifying cause:

  • There’s an assumption that there was control in the first place. By whom and over what exactly?
  • There’s an assumption that somehow, video game industry is losing control over the technology, so it must be restored.
  • Even if above assumptions are true, it’s not clear who and how loses that control. The video game industry is not a monopoly.

Proposed solution to the perceived threat:

  • There’s an assumption that by making Open Source the first choice, developers can somehow reclaim this control. But everything requires maintenance regardless.
  • Open-source and proprietary solutions can co-exist. Proprietary does not create a threat to Open Source.
  • A private commercial company W4 Games will certainly help to reclaim control. 🙃

Just like with non-existent development philosophy in Godot, there’s an ambiguity over what exactly constitutes control in the first place, so their mission is quite vague.

Exalted status

Here’s an example when Juan talks about integrating a rendering backend into Godot2

Guys, thanks a lot for your enthusiasm, but I am the one doing the rendering work in Godot, not you. I’ve been working on 3D rendering for 25 years so, if I am telling you that things as they are now are optimal and BGFX will just stand in the way to being productive I hope you believe me.

As always with Godot, you are free to make your own renderer with BGFX, show me that it’s flawless, has better better performance, works better than mine (of course while supporting the full Godot feature set) and uses less resources and code to prove me wrong.. as well as commiting full time over the next years to maintain it.

If you want a revolution, begin with it yourself. If you want to prove your ideas, invest in them because words are free.

If not, keep pestering all you want and it will be ignored.

Hopefully, you see why this kind of behavior is problematic. Rhetoric can be simplified down to this:

  • I’m the one in charge, not you.
  • I’ve been working on this for 25 years, so I know better than you.
  • I know this, so you must believe me.
  • If you don’t agree, I will ignore you.

Juan said: “if you want a revolution, begin with it yourself”. We follow Juan’s recommendation! Juan pushes professional developers away from Godot because he is “the one” in Godot, a cult leader that must never be questioned if someone wants to get his trust.

Other members in that thread say that others weren’t pestering Juan at all. However, when Juan feels like his ideas get attacked, he will go into denial and gaslighting mode. At the same time, Juan will suggest that saying “do it yourself” is a very rude behavior to users of Godot outside of developer community when he “explains” the governance model of Godot3:

While this is true, it is also true that answering people “do it yourself” is very rude. This is not how we encourage people to work on Godot.

Which is yet another example of hypocritical behavior.

Pretension

Cult leaders of Godot, namely Juan and Rémi, also express resentment when new open-source or source-available communities appear, and the mere existence of promising projects create a threat to Godot in the eyes of Godot cult leaders, again, showing signs of us-vs-them mentality.

Public relations

Here’s just a couple of examples:

NeoAxis

Congrats to @neoaxis for opening up their engine source code today. As always, if your goal is to inspire confidence in others to help you and contribute to your project, I will again advise to use an OSI approved license and not your own.4

Defold

As I stated previously, I think it’s extremely important that game engines allow source access and this move is always welcome, but this is not “Open Source” by the standard OSI definition: opensource.org/osd. This is just making the source code available.5

Open 3D Engine

Juan:

I like that this time it seems to be majorly FOSS so this is very welcome, although to be honest all these companies throwing huge amounts of of money at technology nobody wants to use is a bit disheartening.6

Rémi:

Because now with the current name, one does wonder why well-established open source 3D tools are not even mentioned by the “Open 3D Foundation”.

No Godot, no Blender, no ThreeJS, no Stride…

It’s just a name but it’s one that seems to negate everything that existed before it.7

Projects are free to use whatever license they want, and Juan and Rémi are free to influence such decision, just like everybody else. However, what’s mind-blowing is Godot cult leaders’ obsession with projects not adopting pure Open Source™ terms.

For example, some users of Defold were particularly displeased by Godot’s attacks towards the Defold project. Here’s a quote shared by a Defold user8:

You probably noticed on Twitter, Remi (the unofficial vice-leader behind Godot) was the first and most vocal person harassing the Defold guys about the licensing nonsense, “it’s sad to not be opensource”, and bragging about his number of contributors, and Juan (the great cult leader) was bashing them from his personal account too. They are not good people. Ugh, they even got a $20k grant from the Mozilla foundation specifically to improve Godot’s use of web technology. Juan said that he used it to pay for his living expenses and… a year or so later, Godot still didn’t even have functioning web builds. How that wasn’t considered fraud, I don’t know.

This toxic attitude becomes more apparent when we take Godot’s frankly disrespectful reaction to O3DE, such as Juan’s “throwing huge amounts of money nobody wants to use”, or Rémi’s insinuation that the name “Open 3D Foundation” negates everything which existed before it. As if Godot’s “The game engine you waiting for” doesn’t negate everything that existed before Godot. 😉

The game engine you waited for

What can possibly explain such an ambivalent attitude? This is mostly due to projection and desire to dominate. They become envious when investors recognize other projects over Godot, so they use every opportunity to mention about themselves, even when they talk about others. This behavior can be summarized as: “Please, notice and adopt us! We have the best engine you will ever use!”

Community

Project manager of Godot, Rémi, once answered a question on how to act as a good open-source community citizen9:

Always assume positive intent.

Know that not everything is written down in policies and that a lot of the development and decision making happens by consensus among core contributors [emphasis added], which is based on a shared philosophy and vision. It can take time to be acquainted with those.

Notice how Rémi explicitly distinguished consensus among core contributors, not even contributors, but core contributors, and definitely not community at large. This suggests that community and contributors are treated differently by Godot leadership. There’s nothing wrong with this whatsoever, but take this in mind and read on.

For years, due to the absence of development philosophy and vision for Godot (contrary to what Rémi says), leadership and core developers were expressing disapproval for various features to be integrated in Godot. Because of this, a separate community consensus formed which suggested that Godot needs an unofficial community organization for Godot-related plugins, modules, addons, and even ideas10. So, one member took action and created an organization for this purpose, initially called godotengine-community (which is called godot-extended-libraries now). Here’s a reaction from the project manager, Rémi11:

Don’t you think it worth discussing with us before creating a parallel “godot-community”? How is the official “godotengine” org not the Godot community?

If you want to create an unofficial Godot platform for third-party work and discussions that would happen upstream of official platforms, that’s fine, but then godot-community is a very misleading name.

You’re probably thinking in terms of typical company/users relationship, “they” (developers) and “we” (users). But in a project like Godot things don’t work like this, it’s only “we” [emphasis added]. Developers and users work together on the same platform, for the same goals.

The concern raised by Rémi that “godot-community” name may be misleading is fine. What’s perplexing is the attitude expressed as “it’s only we”. The thing is, in a project like Godot, which shows all signs of being a toxic cult, there’s only “we” indeed, because everyone who diverges from the main community due to having a different vision is seen as “them”, an enemy. Later, Rémi says that he doesn’t agree with this consensus:

Well I was in holidays and was not given time to read nor answer this discussion, I’m not sure I agree with the consensus. I’ll have to read when I have time.

When you take everything together, do you see contradiction here? Feel free to re-read this section.

This also shows how consensus is treated in Godot. If Godot leadership doesn’t agree with consensus, then nothing is going to happen, going against consensus.

To summarize, when leadership says something like “get out, we don’t need this”, community does exactly this, but when community creates a centralized place for modules, plugins, addons, leadership says along the lines of: “there’s only we, we want to prevent community division”. Therefore, we can also consider this as an us-vs-them mentality manifesting as ambivalence, but on the level of Godot community itself.

Copycats

Here’s what Juan says to NeoAxis developers trying to convince them to change their license12:

A custom license also makes impossible to cross contribute with other projects like ours. You are free to take our code, but we can’t take yours [emphasis added]. The key to Open Source is about credibility based on equal benefit for all parties involved, not just making your code available.

I’d like to emphasize on the part when Juan hints that they cannot take NeoAxis code. “Why is this relevant?”, you may ask. As has been mentioned already, Juan oftentimes says that they like to innovate in Godot, so they prefer not to copy code of others according to their words13:

If it helps, we at @godotengine are more focused at trying to innovate and solving our problems our own way than in copying something else.

I’d like to clarify that using the work of others is totally fine. But if we take a concrete feature which Godot allegedly presents as unique, innovative or in-house, such as 2D physics, this is certainly not true. Godot developers take Box2D-Lite source code14 and adapt it in Godot15, which is equivalent in style, structure and algorithm. If you study Godot’s source code further, you’ll also notice a lot of code was actually taken from Box2D.

In a Godot proposal which suggested to integrate Box2D, Juan said that it doesn’t make sense to integrate, and never mentions the fact that Godot’s own 2D physics is copied from Box2D16:

As far as I know, I don’t think Box2D or Chipmunk have everything required for what we’re doing.

This dishonesty serves as an example of how Godot developers plagiarize the work of others. At the time of writing this book, the code taken from the Box2D-Lite repository was not properly credited in Godot’s source code, thereby violating the requirements of the license and essentially infringing upon the Box2D-Lite license terms. However, if Godot were to give credit to the Box2D author, it would undermine Godot’s artificial image of being innovative.

Therefore, it is not surprising that Juan expresses resentment towards being unable to incorporate code from new game engines that have emerged. How many other features that we currently observe in Godot were shamelessly appropriated in a similar manner? This remains a subject for further investigation.

This “wannabe” attitude manifests in other ways, like using game trademarks to promote Godot in official capacity in news articles (reference to Half-Life game)17:

Godot

If this were to be created as a meme by the community, it would be acceptable. However, Godot leadership engages in these practices officially. They cling to others’ success by associating Godot with well-known figures. No self-respecting organization would engage in any of these actions. It is a form of psychological manipulation inspired by marketing techniques that are considered unethical, to say the least.

Conclusion

Godot leadership’s stuck-up attitude and hypocrisy reinforces an idea that Godot greatly suffers from the NIH syndrome, as we have covered in Not Invented Here section. So, this approach is less about pragmatism and innovation, but more about deeply-rooted resentment and desire for control, while at the same time making Godot look grandiose on the surface.

References

1

W4 Games - Mission - W4 Games website.

3

Saying “do it yourself” is very rude - By Juan Linietsky, Twitter.

4

Juan Linietsky on NeoAxis - By Juan Linietsky, Twitter.

5

Juan Linietsky on Defold - By Juan Linietsky, Twitter.

6

Juan Linietsky on O3DE - By Juan Linietsky, Twitter.

7

Rémi Verschelde on O3DE - By Rémi Verschelde, Twitter.

8

Juan was bashing them from his personal account - Quote shared by Pawel, Twitter.

14

Box2D-Lite physics code sample - Box2D-Lite repository.

15

Godot 2D physics code sample - Godot repository.

16

Box2D physics engine implementation ? - Godot proposal, GitHub.

17

Versioning change for Godot 3.x - By Rémi Verschelde.