I recently attempted to make a change in a fork of Godot. I wanted to replace the default title bar with a custom one that implemented a tab line. Partly as an aesthetics change (I personally prefer applications that have consistent title bars across platforms) and partly because I wanted to move some of the functionality in the main editor view to a separate tab, e.g. a dedicated script IDE separate to the 2D/3D views.
But what I found was the platform specific code for windowing and the display server is a mountain of code you need to learn to be able to change. And I was only looking at the Windows stuff since that’s the platform I am on.
This got me thinking, is there a specific technical reason why Godot couldn’t use SDL as it’s Windowing/Display system? As far as I know it supports all the same platforms as Godot except Xbox, which isn’t in the main Godot repository for NDA reasons. On top of that SDL already manages the platform abstraction for the user so it would mean less maintenance on the Godot side of things. And personally at least I find SDL lightyears easier to work with than the raw Win32 API. I was able to whip up a borderless resizable window in about 10 minutes. And that included the time it took to setup the CMakeLists and CPM to pull SDL into the project.
Is it a license issue maybe? SDL is ZLIB instead of the MIT license Godot uses?