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-05-23 382843.1667

382,843.167

2026-05-23

2026-05-24 386166.1667

386,166.167

2026-05-24

2026-05-25 383603.4167

383,603.417

2026-05-25

2026-05-26 369835.5417

369,835.542

2026-05-26

2026-05-27 358387.2083

358,387.208

2026-05-27

2026-05-28 355055.875

355,055.875

2026-05-28

2026-05-29 352233.6667

352,233.667

2026-05-29

2026-05-30 351253.7917

351,253.792

2026-05-30

2026-05-31 354340.9565

354,340.957

2026-05-31

2026-06-01 348632.3333

348,632.333

2026-06-01

2026-06-02 334013.4583

334,013.458

2026-06-02

2026-06-03 319534.5714

319,534.571

2026-06-03

2026-06-04 312333.9167

312,333.917

2026-06-04

2026-06-05 307558

307,558

2026-06-05

2026-06-06 305419.8636

305,419.864

2026-06-06

2026-06-07 305954.913

305,954.913

2026-06-07

2026-06-08 303092.5

303,092.5

2026-06-08

2026-06-09 289943.125

289,943.125

2026-06-09

2026-06-10 273916.4091

273,916.409

2026-06-10

2026-06-11 266997.2917

266,997.292

2026-06-11

2026-06-12 264075.3462

264,075.346

2026-06-12

2026-06-13 260568.375

260,568.375

2026-06-13

2026-06-14 258632.3333

258,632.333

2026-06-14

2026-06-15 252784.5652

252,784.565

2026-06-15

2026-06-16 240434.875

240,434.875

2026-06-16

2026-06-17 231874.0833

231,874.083

2026-06-17

2026-06-18 228396.8

228,396.8

2026-06-18

2026-06-19 224589.5217

224,589.522

2026-06-19

2026-06-20 220697.5417

220,697.542

2026-06-20

2026-06-21 218056.5833

218,056.583

2026-06-21

2026-06-22 209311.2609

209,311.261

2026-06-22

0.4M
0.2M
2026-05-23
2026-06-22

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-05-23 1618.5833

1,618.583

2026-05-23

2026-05-24 1558.875

1,558.875

2026-05-24

2026-05-25 1897.25

1,897.25

2026-05-25

2026-05-26 2108.125

2,108.125

2026-05-26

2026-05-27 2148.4167

2,148.417

2026-05-27

2026-05-28 2100.1667

2,100.167

2026-05-28

2026-05-29 2090.3333

2,090.333

2026-05-29

2026-05-30 1581.625

1,581.625

2026-05-30

2026-05-31 1511.087

1,511.087

2026-05-31

2026-06-01 1981.75

1,981.75

2026-06-01

2026-06-02 1829.375

1,829.375

2026-06-02

2026-06-03 1745

1,745

2026-06-03

2026-06-04 1525.9167

1,525.917

2026-06-04

2026-06-05 1552.1667

1,552.167

2026-06-05

2026-06-06 1342.5

1,342.5

2026-06-06

2026-06-07 1304.9565

1,304.957

2026-06-07

2026-06-08 1761.1739

1,761.174

2026-06-08

2026-06-09 1804.25

1,804.25

2026-06-09

2026-06-10 1769.6364

1,769.636

2026-06-10

2026-06-11 1762.2083

1,762.208

2026-06-11

2026-06-12 1695.5833

1,695.583

2026-06-12

2026-06-13 1207.1304

1,207.13

2026-06-13

2026-06-14 1163.8333

1,163.833

2026-06-14

2026-06-15 1630.2174

1,630.217

2026-06-15

2026-06-16 1648.7917

1,648.792

2026-06-16

2026-06-17 1514.0435

1,514.044

2026-06-17

2026-06-18 1438.2917

1,438.292

2026-06-18

2026-06-19 1331.8696

1,331.87

2026-06-19

2026-06-20 1003.0833

1,003.083

2026-06-20

2026-06-21 983.8333

983.833

2026-06-21

2026-06-22 1368.4348

1,368.435

2026-06-22

2.2k
0.9k
2026-05-23
2026-06-22

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.