About This Site
This site celebrates open-source culture in journalism.
I’m Scott Klein, publisher advocate at Newspack and co-host of the Data Journalism Podcast. For more than 25 years I’ve worked at the intersection of journalism and technology, including a long stint at ProPublica where I helped build the data and interactive teams.
Earlier this year, Ben Welsh and I published research showing that open-source culture in newsrooms has collapsed. New public repositories from news organizations on GitHub dropped more than 80% from their peak in 2016. Posts to the NICAR-L listserv, once essential reading for data journalists, fell 89%. Even the most well-resourced newsrooms walked away — The New York Times posted zero new public repos in 2024.
We believe this matters. The “show your work” ethic helped newsrooms build trust, attract talent, and solve problems bigger than any single organization could tackle alone. With AI reshaping how people access and evaluate information, the need for openness and collaboration is greater than ever.
Even though it’s diminished, there are newsrooms still working in the open and sharing code and knowledge. This site is here to highlight and celebrate them.
What’s Here (and Elsewhere)
Biweekly open-source updates. Every two weeks, I publish a roundup of new public repositories from news organizations. What are newsrooms building? Who’s sharing their work? What’s worth paying attention to? These posts are drawn from data collected by the Open Journalism Bot.
The Open Journalism Bot. A BlueSky bot at @openjournalism.bsky.social that monitors the GitHub accounts of roughly 350 news organizations and posts whenever one of them creates a new public repository. It’s the spiritual successor to @newsnerdrepos, a Twitter bot that went dormant after Twitter’s API changes. The bot is open source, naturally.
The org list. The bot monitors organizations from a curated list originally compiled by Scott Klein (me), Silva Shih, and Ben Welsh. If your news organization is missing, open an issue or pull request on that repo.
A Note on Unpublished Work
Sometimes a public repo supports a story that hasn’t been published yet. The whole point of this site is to celebrate open-work culture in journalism, not to scoop people with their own code. So I try to hold back on writing about a repo if I think the underlying story hasn’t come out yet. If I get it wrong — or if you’d like to give me a heads-up about your work — please drop me a line at kleinmatic@gmail.com.
Incidentally, I also avoid posting about empty repos or repos that are just clones of project templates.
Get in Touch
Follow @openjournalism.bsky.social on BlueSky for real-time updates. If you have questions, suggestions, or want to contribute, email me at kleinmatic@gmail.com or find me on the News Nerdery Slack channel.
How I Use AI
I used Claude Code extensively in building and maintaining the Open Journalism Bot and use it to do the analysis and summaries for the biweekly updates. I’m the human-in-the-loop on everything. Everything line of code and word of prose goes through me before it gets here. I’m the human in the loop.
My colleagues at Automattic built an excellent MCP server for WordPress that makes posting and editing easy right from Claude Code, which makes my life easier.