About OSCAR

Project Mission

OSCAR is a project designed to quantify and analyze open source software contributions, specifically tracking GitHub activity across different technology companies.

Brief History

This project began in 2018 while Iwas working at Adobe. One of my responsibilities included managing Adobe's Open Source Office. Matt Asay, my boss at the time, asked if we could quantify the impact the Open Source Office has had on Adobe and roughly compare Adobe's open source activity to that of other technology companies. Inspired by Felipe Hoffa's "Top contributors to GitHub" work, this project slowly evolved over time, and over the years I have collected a lotof data.

How It Works

OSCAR works on an hourly "event loop."

1. Data Collection

The system downloads hourly GitHub activity archives from GitHub Archive, a public dataset that captures all GitHub public activity. We specifically track activity on repositories that were forked or watched in the previous 30 days, maintaining a rolling 30-day list of "popular" projects. Why do this? As a low-pass filter: these "popular" projects end up accounting for about 15%of public GitHub git pushevents.

GitHub repositories watched/forked, previous 30 days
2026-01-04 908215.875

908,215.875

2026-01-04

2026-01-05 910128.64

910,128.64

2026-01-05

2026-01-06 911397.9167

911,397.917

2026-01-06

2026-01-07 912300.75

912,300.75

2026-01-07

2026-01-08 914115.5833

914,115.583

2026-01-08

2026-01-09 913910.7083

913,910.708

2026-01-09

2026-01-10 912470.125

912,470.125

2026-01-10

2026-01-11 912832.6667

912,832.667

2026-01-11

2026-01-12 915316.6667

915,316.667

2026-01-12

2026-01-13 915595.9167

915,595.917

2026-01-13

2026-01-14 914489.4583

914,489.458

2026-01-14

2026-01-15 915968.7917

915,968.792

2026-01-15

2026-01-16 913694

913,694

2026-01-16

2026-01-17 910858.3333

910,858.333

2026-01-17

2026-01-18 910186.3333

910,186.333

2026-01-18

2026-01-19 911795.5833

911,795.583

2026-01-19

2026-01-20 913269.5833

913,269.583

2026-01-20

2026-01-21 915203

915,203

2026-01-21

2026-01-22 912041.2083

912,041.208

2026-01-22

2026-01-23 909044.4167

909,044.417

2026-01-23

2026-01-24 904155.4167

904,155.417

2026-01-24

2026-01-25 900511.0417

900,511.042

2026-01-25

2026-01-26 899545.4167

899,545.417

2026-01-26

2026-01-27 894838.0417

894,838.042

2026-01-27

2026-01-28 890189.3043

890,189.304

2026-01-28

2026-01-29 885196.3333

885,196.333

2026-01-29

2026-01-30 881474.5417

881,474.542

2026-01-30

2026-01-31 884341.3333

884,341.333

2026-01-31

2026-02-01 886505.7917

886,505.792

2026-02-01

2026-02-02 885225.625

885,225.625

2026-02-02

1M
0.8M
2026-01-04
2026-02-02

Next, we look at all public GitHub git pushevents and try to find information about the users pushing code to these projects.

2. User-Corporation Association

For every user contributing to these "popular" projects, we query the GitHub APIto retrieve the companyfield from their profile. Company associations are extracted from user profiles and tracked over time, allowing us to detect when developers change employers or update their affiliations.

Users committing to 'popular' projects per hour, previous 30 days
2026-01-04 2627.0417

2,627.042

2026-01-04

2026-01-05 3138.8333

3,138.833

2026-01-05

2026-01-06 3152.0833

3,152.083

2026-01-06

2026-01-07 3333

3,333

2026-01-07

2026-01-08 3332.6667

3,332.667

2026-01-08

2026-01-09 3310

3,310

2026-01-09

2026-01-10 2695.4167

2,695.417

2026-01-10

2026-01-11 2625.5417

2,625.542

2026-01-11

2026-01-12 3235.875

3,235.875

2026-01-12

2026-01-13 3366.25

3,366.25

2026-01-13

2026-01-14 3387

3,387

2026-01-14

2026-01-15 3278.6667

3,278.667

2026-01-15

2026-01-16 3392.8333

3,392.833

2026-01-16

2026-01-17 2615.2917

2,615.292

2026-01-17

2026-01-18 2609.2917

2,609.292

2026-01-18

2026-01-19 3186.5

3,186.5

2026-01-19

2026-01-20 3334.1667

3,334.167

2026-01-20

2026-01-21 3296.5833

3,296.583

2026-01-21

2026-01-22 3299.25

3,299.25

2026-01-22

2026-01-23 3278.2917

3,278.292

2026-01-23

2026-01-24 2511.4583

2,511.458

2026-01-24

2026-01-25 2523.125

2,523.125

2026-01-25

2026-01-26 3152.75

3,152.75

2026-01-26

2026-01-27 3377.4583

3,377.458

2026-01-27

2026-01-28 3389.8261

3,389.826

2026-01-28

2026-01-29 3389.8333

3,389.833

2026-01-29

2026-01-30 3278.875

3,278.875

2026-01-30

2026-01-31 2600.3333

2,600.333

2026-01-31

2026-02-01 2555.0833

2,555.083

2026-02-01

2026-02-02 3247.9167

3,247.917

2026-02-02

3.4k
2.5k
2026-01-04
2026-02-02

There is some regular-expression'ing going on to roughly associate these company strings to specific corporations, but we do our best, especially for known companies. It's not a perfect way to create these associations, but it's better than looking at e-mails associated to the commits (which most other similar analyses use as their approach). For me personally, I associate my personal e-mail with my git commits, so I wanted to try a different approach.

3. Analysis and Storage

The User-company association data is exported to Google BigQueryfor large-scale analysis: every month, we generate comprehensive reportson corporate GitHub activity across monthly, quarterly, and yearly timeframes, providing insights into which organizations are most active in the open source ecosystem.

Acknowledgments

This project is built on the shoulders of giants and would not be possible without the following open source technologies:

Special thanks to Felipe Hoffa for pioneering GitHub data analysis techniques and inspiring this work.