By: Juan Linietsky Jun 11, 2020

The funding situation of Godot has been evolving in the past months, as we received more grants and donations, and reorganizing where the funding is going, deciding hires, etc., takes considerable time as well as requires the right timing.

Because of this, we have started organizing meetings with the core Godot contributors to discuss and decide how to best allocate our available budget in the best interest of the project. To these meetings we invite long standing Godot contributors who we know and trust and who have made significant contribution to the project over the years.

Based on the outcome of these meetings, the PLC (which still has the final say regarding the use of Godot funds) will set things in motion with our legal and fiscal home Software Freedom Conservancy to apply these decisions. The idea is to publish a brief of what was discussed in the meeting, so that the community and those donating can have more transparency on what funds are being used for (although remember that, in the end and whatever we decide, Software Freedom Conservancy’s charitable mission ensures that our funds are solely used for the benefit of the project).

Keep in mind that, as a main rule, Godot is a free and open source project where most of the development and contribution is done by volunteers donating their free time, so we only use funds for critical tasks of utmost importance, where we are having difficulties finding enough volunteer time to work on them, and for which the PLC and core contributors decide that we must move forward.

The following is the list of topics discussed and what was decided:

RTL+Font Shaping

There is a high demand from Godot users in countries and cultures where right to left writing systems are used to have proper support for it in Godot (such as Arabic, Hebrew, etc). Unfortunately, most of the project contributors are from countries where this system is not common (plus the task complexity is high) and creating this support without actually being able to understanding it is very difficult.

As this is a task of high interest, we were offered donations specifically to do this task. As such, we will start accepting budgets to do this from developers or companies that might be interested in implementing it. The proposal of what exactly needs to be done will be cleaned up in the coming days so we will make an announcement and start accepting budgets proposals to do it. If you have significant experience with Godot and/or with implementing RT and you are interested, please wait until then.

Documentation Budget

We have received a 10k USD directed donation to improve documentation. We discussed with the core developers about hiring GDQuest (who has plenty of experience working with the engine documentation) to work on this task. We also discussed a proposal to further clean up the documentation and clearly separate more game-specific tutorials, as well as having a clearer way to link to content generated by our community.

Hiring a generalist contributor for editor UX and web dev

On planning our next full-time hire, we discussed the possibility of hiring one of our core contributors to work, among other things, on improving the general usability of the Godot editor, which we believe to be an area where a lot of work is pending. They would also help with the management of contributions and bug fixing in various areas.

The contributor we have in mind also has experience in web development, so they could help us improve the Godot website and infrastructure, which have been needing more work in many areas, like a proper showcase, up to date content, a proper system to show our combined funding status and goals, etc.

As always, our goal with hires is that they need to be cash-flow positive. Meaning that we will not do permanent hires unless 1) Our level of monthly funding (Patreon, Paypal, etc.) can cover it, with some extra margin 2) We have enough money saved up to ensure two years of paid work for all current contractors.

Please understand that it is always a risk for our contributors to quit their current jobs to work for the project, so we need to ensure we will be able to pay them for a considerable time before hiring them.

Hiring Matias Goldberg to help him create GPU based texture compressors

One of the main problems we have in Godot is the time it takes to import textures. Most texture compressors are often slow and focus on the highest quality possible as a priority instead of attempting to do trade-offs between quality and encoding performance.

To work around this, for Godot 4.0, we want to move our texture compressors to GPU using compute shaders. Using them allows to convert all the import formats at the same time and as efficient as possible. The idea is to have as instantaneous import as possible while, optionally, marking some of your textures for high quality and having those import in higher quality on background (but still have something usable ASAP).

Because we want this work to benefit other projects as well (so more can contribute to it), we will be do a financial contribution to Matias Goldberg (the lead developer of Ogre 3D) for his work on Betsy, which is a new, very high performance GPU-based texture compressor.

X11 Fixes

Godot 4.0 will support a new display system based on a DisplayServer. This allows much cleaner code for handling display and input, as well as allowing multiple window support. Unfortunately, we ran into some issues in the X11 platform that are very difficult to fix, and X11 is an extremely difficult API to work with (requiring a combination of text based atomics with manually marshalled data) that requires years of experience. Eventually, if we can’t fix them in the coming weeks, they idea is to look for paid work from experienced X11 developers to solve those issues.

Renewing Ignacio’s contract

Ignacio has worked two years full-time on the C# support for Godot thanks to a very generous grant from Microsoft. He has done an incredible job which has now allowed 20% of our users to make their games using C# and, upon the imminent completion of his tasks, more users will be able to use Godot with C# as it will support all platforms for deployment.

Unfortunately, given the COVID situation, and even though there is full interest from all parties, doing a timely renew of his contract with another donation so he can continue working on C# is looking a bit difficult for the time being.

Because of this, and given so many users and companies are now interested in his work, we will adding a funding goal so Ignacio can be hired full-time. When the situation becomes more normal worldwide, and we can manage to get sponsoring for his work going again, this will allow us to use the extra funding for more paid work.

Renewing Fabios’s contract

Fabio Alessandreli has been doing a fantastic job the past years improving Godot networking, multiplayer, HTML export and even getting Godot editor to work on the web (which has been highly requested by the education community). He has been working thanks of generous donations by Mozilla, and his work package still has some months to go, but the idea is that, given he has proven his enormous worth and ability to contribute to the project, also making sure we can hire him full time.

While it possible we may negotiate other donations for him to work with, it has been decided to add a funding goal for hiring him full time too.

Documentation Work Package

We have discussing that, besides improving documentation itself, we want to improve how documentation is shown to you. Currently, we are using ReadTheDocs, but our users are finding consistent limitations with it, such as:

  • It’s difficult to search it
  • There is no way to leave feedback, notes, or questions on documentation topics, which is common in modern doc systems.
  • We need a system to switch from snake_case to PascalCase, depending on the language you are using.
  • Other many smaller usability issues

For this, we discussed and we are going to use accumulated project funds to hire Hugo Locurcio (who has been a longstanding Godot contributor) to do a work package consisting of improving the Godot documentation system.

Accessibility Work Package

A common request for Godot is that we improve tools meant for accessibility in games, so developers can more easily make their games easier to enjoy by users with accessibility issues. There has been some ideas and discussion floating around, but its difficult to come up with a proper proposal of what would constitute good accessibility support in Godot. Because of this, we decided to work on a proposal and allocate some extra budget for this (or maybe trying to get this work sponsored).

Future

As you can see, we are very serious in how we use project donations and funding and we make our biggest effort so donations are used as best as possible for the common good. The idea of these reports is to add more transparency in how we decide to use our funding. Donations help us hugely to achieve our goals faster and to provide you a fully free an and Open Source game engine that you can own as if you made it yourself for your game. And as always, if you are not yet, please consider becoming our patron.

Source: Godot Engine Official