This week, I contributed back to an open source project that I use. Specifically, I fixed a bug in the Godot game engine. As my last blog mentioned, I’ve been using Godot for a while to develop projects, and I’m starting to really focus on developing projects that I can eventually sell. Contributing back to Godot was not only something that I felt I should do, but it’s something I’ve wanted to do for a while and have never really known where to start.
Eventually, after scrounging the GitHub issues for bugs marked as “junior-jobs,” I found a bug that seemed simple enough to fix. The bug itself was a small issue with how a texture displayed in one of the menu’s. After reading godot’s documentation about fixing and submitting bugs, I set up the environment on my laptop and started looking over the repository. From the documentation, there wasn’t really a formal process for anything but submitting pull requests. I didn’t need to be assigned to anything I was trying to fix, all I had to do was create a pull request for it with a link to the issue it intended to fix.
It didn’t take me too long to figure out the structure of the project itself, as I’m pretty familar with both game engine development and Godot itself, so I quickly found the file I needed to look at for the bug. After a bit of search in the file, I found the bug itself. I quickly wrote a patch for it and submitted it, before eventually realizing there were some edge cases that need to be fixed. There’s some discussion between me and one of the main developers about the issue and amending the commit on my pull request for the issue. Eventually, the pull request itself was accepted and merged into master.
It was quite an interesting process overall, and now that I’m pretty familiar with both the overall process of patching godot and the structure of the project, I think I’ll try to contribute more fixes to the project in the future.
Here’s link to the pull request itself with our discussion