Skip to content

Explore the seasons of software development with four full years of data

Discover the latest trends and insights on public software development activity on GitHub with the release of Q4 2023 data for the Innovation Graph.

Explore the seasons of software development with four full years of data
Author

With today’s Q4 2023 data release, the GitHub Innovation Graph now offers four full years of data on eight metrics–Git pushes, repositories, developers, organizations, programming languages, licenses, topics, and economy collaborators. We’ve also made some clarifying updates in response to community feedback we’ve heard since we launched. But first, let’s briefly bask in the glory of having four full years of quarterly data to explore by taking a quick look at some of the seasonal patterns that show up in the data.

Long-time visitors of the GitHub Innovation Graph will, of course, remember that the “hacktoberfest” topic prominently exhibits seasonal variation:

Rank of topics globally
A line chart of the ranking of the "hacktoberfest" topic over time, showing that the topic spikes upward in popularity in Q4 of each year, but declines in other quarters.

With the benefit of another full year of data, we’d like to highlight another popular cyclical developer pastime that might have flown under the radar for those who haven’t explored the underlying dataset files, as its lower ranking prevents it from appearing in our site’s summary charts: Advent of Code.

Pushers and rank for the “advent-of-code” topic

Two line charts of the ranking and number of pushers for the "advent-of-code" topic over time, showing that the topic spikes upward in popularity in Q4 of each year, but declines in other quarters, with some quarters missing values because there was insufficient activity volume to satisfy the minimum reporting threshold.

Dotted lines indicate where there are gaps between quarterly data points due to the activity not meeting our minimum threshold for reporting.

Advent of Code is an annual event founded and run by Eric Wastl, where participants solve daily coding challenges from December 1 to December 25. Often, developers participate in Advent of Code as a reason to try learning a language they’re less familiar with, sometimes with the encouragement of developer advocate programs. We can see this trend emerge in the following plots based on the Innovation Graph’s programming languages dataset:

Pushers and rank for the COBOL programming language

Two line charts of the ranking and number of pushers for the COBOL programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

In case you missed it, these are the developers who, with the help of AI, will save us from the next financial crisis.

Pushers and rank for the Julia programming language

Two line charts of the ranking and number of pushers for the Julia programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for the ABAP programming language

Two line charts of the ranking and number of pushers for the ABAP programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for the Elm programming language

Two line charts of the ranking and number of pushers for the Elm programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for the Erlang programming language

Two line charts of the ranking and number of pushers for the Erlang programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for the Processing programming language

Two line charts of the ranking and number of pushers for the Processing programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for the Brainf*ck programming language

Two line charts of the ranking and number of pushers for the Brainf*ck programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Pushers and rank for LOLCODE programming language

Two line charts of the ranking and number of pushers for the LOLCODE programming language over time, showing that the language spikes upward in popularity in Q4 of each year.

Dotted lines indicate where there are gaps between quarterly data points due to the activity not meeting our minimum threshold for reporting.

Sometimes, it’s also interesting to see when cycles are broken, which we’re seeing with the steady rise of documentation:

Global ranking of the “documentation” topic

A line chart of the ranking of the "documentation" topic over time, showing that the topic periodically oscillates in popularity from Q1 2020 until Q1 2023, at which point it appears to just continually rise in rank.

The seasonal variation in the “documentation” topic from Q1 2020 through Q4 2022 might be related to Google Season of Docs, a program to help open source projects with documentation, which has been operating since at least 2019. However, we didn’t see the usual cyclical dip of the “documentation” topic during 2023, which might be explained by the release of chat-based generative AI interfaces like ChatGPT in November 2022 and several similar products shortly afterwards, including GitHub Copilot Chat in March 2023. While we recognize that it’s not a panacea, perhaps generative AI technologies are helping to reduce the friction around writing documentation to enable maintainers and contributors to update project documentation more widely and frequently.

Programming languages and GitHub profile README configuration topics are now excluded from the Topics bump charts

In terms of changes to the graph’s functionality, the Topics bump charts on the global metric page and individual economy pages no longer display programming languages or topics related to GitHub profile README configuration (“config” and “github-config”). As you can tell from the preceding sentence and heading, we have no qualms against repeating largely the same information multiple times. However, our repetition in including programming language-related topics in the Topics bump charts (despite the Innovation Graph also having dedicated Programming Languages bump charts) had the unfortunate effect of taking up so much space in the chart that it prevented users from noticing interesting movements of other topics (including those of advent-of-code!). Additionally, we figured that few readers outside of the GitHub teams responsible for the feature would be interested in the adoption of GitHub profile README configuration files, so we’ve excluded those from rendering, too.

Before:

A line plot of the rankings of topics over time, where the majority of the topics shown are programming languages, such as "python," "javascript," and "java."

After:

A line plot of the rankings of topics over time, where the topics shown are not programming languages, because they have been excluded from the chart. Instead, the topics are relate to non-language subject matter, such as "machine-learning," "tailwindcss," and "linux."

NOASSERTION changed to “Other” in the Licenses bump charts

As noted in feedback we received shortly after the launch of the Innovation Graph, the NOASSERTION classification is likely confusing to most Innovation Graph visitors, so we’ve updated the rendering on the bump charts to display “Other” instead.

Before:

A line chart showing the rankings of licenses over time, focusing on the cryptic "NOASSERTION" license.

After:

A line chart showing the rankings of licenses over time, where the cryptic "NOASSERTION" license is instead rendered as "Other" -- a more meaningful term for most visitors of the Innovation Graph.

Clarification: the repositories, developers, and organizations metrics include “inactive” entities

We’ve also added an explanatory note for the repositories, developers, and organizations metrics to highlight that these counts include inactive entities (for example, not just users who were active during a given quarter).

So, there you have it. We’ve now got four full years of data to explore. Countless more stories no doubt abound within the data, so don’t wait–spin up a Jupyter Notebook via GitHub Codespaces, ask Microsoft 365 Copilot in Excel, or use any of the vast array of open source data analysis tools out there to explore the files, and we can’t wait to see what you discover.

Explore more from GitHub

Policy

Policy

Shaping laws, regulations, norms, and standard practices.
The ReadME Project

The ReadME Project

Stories and voices from the developer community.
GitHub Copilot

GitHub Copilot

Don't fly solo. Try 30 days for free.
Work at GitHub!

Work at GitHub!

Check out our current job openings.