Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

You're breathtaking! #100000

Open
akien-mga opened this issue Dec 4, 2024 · 22 comments
Open

You're breathtaking! #100000

akien-mga opened this issue Dec 4, 2024 · 22 comments

Comments

@akien-mga
Copy link
Member

It's been over 10 years now that Godot has been developed in the open, with code contributions from 2,800 users.

The total count of people who helped build Godot is actually far greater, as it should include documentation writers, testers, bug reporters, translators, moderators, content creators, users doing community support or talking at events, folks making games that credit Godot visibly, everyone supporting the project financially, and many other types of contributions which I can't keep enumerating.

All these people brought Juan and Ariel's little-engine-that-could from this:

Screenshot of the isometric 2D demo in Godot 1.0
Screenshot of the isometric 2D demo in Godot 1.0.

To this:

Screenshot of PVKK: Planetenverteidigungskanonenkommandant in Godot 4.3
Screenshot of PVKK: Planetenverteidigungskanonenkommandant in Godot 4.3.

That's no small achievement, so I encourage all contributors to take a minute to contemplate the progress that we've made together over this journey so far!

Amidst the daily churn of fixing issues, reviewing PRs, making releases, etc., it's important to remind ourselves of where we are, and how we got there.

GIF of Cozy Space Survivors where asteroids form the word "GO♥DOT"
GIF of Cozy Space Survivors where asteroids form the word "GO♥DOT".

Some stats about Godot usage on GitHub

Between our usual traditions of either making silly jokes or sharing some inspiring stats for round issue numbers, I picked the latter for this 100,000th issue1, and wanted to look a bit closer at our issue and PR numbers over time.

A lot of people coming to Godot's repository to see over 10,000 open issues and 3,000 open PRs might rightfully wonder whether this is normal, or a sign of a maintenance issue.
I will make the case that it is a bit of both :)

Issues

Graph showing issue count over time
Visualization from OSS Insight showing issue count over time, see the interactive version.

The two accumulated curves show the total number of issues created over the lifetime of the repository (topmost curve), and the subset of those which have been closed (as fixed or invalid). The difference between the two curves represents the number of issues still open at a given point in time - currently exactly 11,000, out of 53,648 issues total, so roughly 20%.

This is a fairly normal percentage of yet-unresolved issues in software projects of this scale, but it can definitely be better.

I annotated the graph with some key events of Godot's development which match peaks in either reported bugs (usually at the start of a beta phase, or shortly after a stable release), or closed issues (when we do a "spring cleaning" going through old issues to check if they are still reproducible in a newly released Godot version). You can see notably two big peaks of closed issues around the 3.2 release, when we had a coordinated effort from maintainers to go through the whole backlog and ask reporters to confirm whether their issues were still valid, or had been fixed. This reduced the percentage of open issues from 29% to 19%, and it's been mostly stable since, with minor fluctuations.

We are preparing a new "spring cleaning" to properly reassess a lot of the old issues which have been opened before the 4.0 release, or in the early days of 4.0 or 4.1, and may no longer be relevant nowadays with 4.3 and soon 4.4 beta.

As the volume of issues keeps increasing steadily, but the number of active bug triagers doesn't really grow as fast, we are working on improving and documenting our workflows so that we can:

  • Onboard new volunteers to help triage new and old issues;
  • Spread the workload and be more consistent with our issue triage;
  • Be confident that while doing so, we do increase the quality of our open issues, which isn't something that can be easily tracked in numbers.

We will share more details here and on the Godot blog when this process is ready to welcome new volunteers.

In the meantime, you can already do some simple things which help greatly the existing bug triage team:

  • Regularly re-assess your own issues (you can bookmark that URL). Make sure that they are reproducible in the latest stable release and dev snapshots, and that there is a minimal reproduction project that contributors can use to reproduce and fix the issue. If your issue is no longer relevant, please close it with a comment explaining why.
  • Feel free to apply the same process to other people's issues that you stumble upon, especially if their last update was a long time ago. In this case you can't close issues yourself, but you can suggest it by commenting that the issue is no longer reproducible in the version you tested. Bug triagers will get a notification and can double check.

Pull Requests

Graph showing pull request count over time
Visualization from OSS Insight showing pull request count over time, see the interactive version.

I didn't annotate this one, but a few takeaways:

  • Godot gets almost the same number of new pull requests per month than new issues, roughly 600 of each per month (that's 20 PRs and 20 issues per day).
  • The PR volume increased a lot over the lifetime of the project to culminate at over 700 PRs per month at the end of the 4.0 development. Since then, as the Godot userbase grew a lot and we are more careful with compatibility and API design, reviews can take a bit longer and the total monthly volume seems to have plateaued around 500-600. That's still plenty enough for a fairly small group of reviewers.
  • Someone should plot this data with relative percentages, but it seems like the size/complexity of pull requests is slightly increasing recently. Whether that trend gets confirmed or not, I can attest that reviewing 600 PRs per month is hard, and that we need more help for interested contributors and users to both test and review the PRs that get opened on a daily basis.

That's all for now, I was already way too long and verbose while drafting this at the last minute to (try to) snatch the 100,000th issue number ;)

Aside from showing some cool numbers, I mostly want to convey that we are well aware that we have a significant backlog, though it's not as dire as it might look from the outside.

To deal with it, we need better triage and review processes (which we are designing now), more volunteers involved in these processes, but also importantly more funding. Volunteer contributors do a ton of work, but many critical parts of the workflow depend on a few paid contractors, and we need to grow that group to better manage the increasing scale of the project.

Footnotes

  1. I'll make a quick note that 100,000 is the combined number of issues and PRs, which share the same index system on GitHub.
    At the time of writing, we've actually had 53,648 issues and 45,213 PRs created. Astute minds will notice that the sum is not 100,000, the difference comes from spam issues or PRs which have been deleted by GitHub.

@wyvrtn
Copy link
Contributor

wyvrtn commented Dec 4, 2024

I shouldn't have waited, why didn't I camp this issue?!
(I've been watching this for an entire day !!)

@Repiteo Repiteo pinned this issue Dec 4, 2024
@Chubercik
Copy link
Contributor

Cheers!

Stack Overflow's 100,000th Question cake

Now we wait for #1000000 😆

@mhilbrunner
Copy link
Member

The total count of people who helped build Godot is actually far greater, as it should include documentation writers, testers, bug reporters, translators, moderators, content creators, users doing community support or talking at events, folks making games that credit Godot visibly, everyone supporting the project financially, and many other types of contributions which I can't keep enumerating.

Thanks to every single one of you. ❤

@panreyes
Copy link

panreyes commented Dec 4, 2024

Godot is a monster, in the sense that it is an extremely huge project, and it's amazing to think that most of it its thanks to thousands of anarchic altruist contributions.

Thanks to every contributor, from Juan & Ariel to the one that changed a "your" to "you're" in the docs 😁
Thank you all for your hard work! I hope you all celebrate this impressive milestone.

I wish I could help to the core project, but I'm pretty busy accepting too many exciting projects (please don't propose more, I don't know how to say no 😅). I hope you consider my work currently maintaining the "free & unsupported Godot Engine Switch port" as my grain of salt in the Godot ecosystem multiverse 😎

@RPicster
Copy link
Contributor

RPicster commented Dec 4, 2024

A gigantic THANK YOU to every contributor!
Without you, this amazing engine would not be the same (literally!).

@kelteseth
Copy link

Thank you for all the hard work! 💖

Image

@MadeScientist
Copy link

Thanks to every contributor! As a learner of Godot, I leave my first comment at this exciting moment. Hope Godot will develop better and better!😆

@dueddel
Copy link

dueddel commented Dec 4, 2024

I'm a little worried now that this issue is still open. Therefore it adds fake data to the stats. Someone should close it soon. 😅

Nonetheless a great achievement to have it brought thus far! ❤
Keep up, community, keep up! 😘

@AThousandShips
Copy link
Member

I want to highlight one thing that I think is a huge part of what allows Godot to be so amazing: it is so accessible and welcoming

Not only are everyone welcome no matter who they are, which is incredibly important, but everyone is welcome no matter how much they can contribute. I don't know how other open source projects work but to me the lack of bureaucracy and unnecessary processes and hurdles to contributing makes it possible to contribute for anyone who are at all able to contribute. Many of our contributors have only a little time to spend working on their contributions, and the fact that you don't need to sit through long meetings or write some proof of concept that gets approval makes it so much more accessible

Discussing ideas and engaging with other contributors is of course always important and encouraged. But you don't have to be able to in order to be a part and add your contributions

This means people from all over the world can be part of this, people working long hours, people who are single parents, or who are disabled, are at school, or any of a thousand different things!

It's of course hard to tell what the schedules for individual contributors look like, but from engaging with various PRs it is clear to me that there are many people contributing really important changes to the engine who would never have been able to do so without that freedom

This of course depends a lot on the work of our amazing production team, having as de-centralized structure as we have wouldn't be possible without people who organize and manage things

And I want to thank everyone for being part of, and constantly improving, this amazing community we have together!

@mikekasprzak
Copy link

Not a bug. Being "breathtaking" is by design. Will not fix.

@theraot
Copy link
Contributor

theraot commented Dec 4, 2024

Related: godotengine/godot-proposals#4485

@GrammAcc
Copy link
Contributor

GrammAcc commented Dec 5, 2024

I want to highlight one thing that I think is a huge part of what allows Godot to be so amazing: it is so accessible and welcoming

Not only are everyone welcome no matter who they are, which is incredibly important, but everyone is welcome no matter how much they can contribute. I don't know how other open source projects work but to me the lack of bureaucracy and unnecessary processes and hurdles to contributing makes it possible to contribute for anyone who are at all able to contribute. Many of our contributors have only a little time to spend working on their contributions, and the fact that you don't need to sit through long meetings or write some proof of concept that gets approval makes it so much more accessible

Discussing ideas and engaging with other contributors is of course always important and encouraged. But you don't have to be able to in order to be a part and add your contributions

This means people from all over the world can be part of this, people working long hours, people who are single parents, or who are disabled, are at school, or any of a thousand different things!

It's of course hard to tell what the schedules for individual contributors look like, but from engaging with various PRs it is clear to me that there are many people contributing really important changes to the engine who would never have been able to do so without that freedom

This of course depends a lot on the work of our amazing production team, having as de-centralized structure as we have wouldn't be possible without people who organize and manage things

And I want to thank everyone for being part of, and constantly improving, this amazing community we have together!

I strongly concur with this sentiment. I have only contributed a couple tiny bug fixes, but the fact I was able to contribute anything at all is because of this low barrier to entry. Also, I learned to program on Godot using GDScript for dumb hobby projects in college. I failed algebra and never thought I'd be a technical person, but I learned vector math through Godot's tutorials and had lots of fun, and 6-7 years later, last month, I got hired as a full time software engineer (not in gamedev). It's not a stretch to say that Godot has changed my life significantly for the better, and I hope to contribute more once I get settled into my new career and don't have to keep a side hustle or constantly job search anymore. Thank you to everyone who made Godot and its awesome community and learning materials. Congrats on the 100000th issue. I love this project!

P.s. Maybe someday I'll actually make a game with this thing. 😆

@TheSPREEGuy
Copy link

This engine is really good. I have made programs using this.
And just in the last year, seeing it jump in quality out of nowhere.

@aryan-11825114
Copy link
Contributor

Even though I've only contributed only 2 or 3 PRs, it makes me feel like a part of it, really happy to see the engine grow

@Gliese-667
Copy link

Have been and always will be proud of what this engine can do and excited to see what’s in store for the future. Together we make magic!

@StrawberrySmoothieDev
Copy link

o7 People. Feels amazing to be part of such an amazing community, well done to all! :3

@nuclear
Copy link

nuclear commented Dec 5, 2024

Can't reproduce on v4.3 stable / Windows 10

@francoisdlt
Copy link

thank you Rémi for your amazing and DANTESQUE work !

@SujalChoudhari
Copy link

GG, The future appears more promising.

@Bigaston
Copy link

Bigaston commented Dec 6, 2024

I've discovered Godot only a year and half ago, with the 4.0 release and since I can't let it out of my mind. Thanks to everyone to make this engine better day after day!

@zeebiedeebie
Copy link

Your efforts combined have created the very best game engine. Amazing and incredible, to have something like this software available. I sincerely thank you.

@Saul2022
Copy link

Saul2022 commented Dec 7, 2024

Congrats

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests