24 Pull Requests: The journalism edition
Over 10,000 people around the world are currently taking part in an annual event called 24 Pull Requests.
24 Pull Requests, which is held each December, asks developers, designers, content creators, and others to give thanks for open source softwareby “giving back little gifts of code for Christmas.” The idea is simple: over the first 24 days of December, participants are asked to improve code quality and documentation, fix issues and bugs or add missing features to existing projects.
I looked at the list of suggested projects for people to work on, and didn’t see any journalism projects listed (though I did see that journalists from the Financial Times have signed up to contribute to other projects.)
It would be worthwhile for journalism organizations to specifically point out ways that people can contribute meaningfully through open source submissions. It’s a way to deepen connections with existing audiences, build connections with new audiences and ask for help more broadly than content submissions. (I recommend that you tag GitHub issues that are appropriate for outside contributors with a “help wanted” tag or a “good for new contributors” tag, so that they can be easily surfaced.)
To help out participants in this year’s 24 Pull Requests, I decided to make a list of some of the most interesting open source journalism-related projects from 2015 that they can learn from, improve, use and/or contribute to. I’ll admit: I’ve made the list, but haven’t checked it twice. If there are other projects that fit the bill, please add them in the comments. (And if one of your resolutions is to learn more about this kind of stuff, you can start with my guide to learning more about GitHub and open source projects.)
- If you want to see directories with lots of journalism projects: MinnPost maintains this directory of recently published code in journalism-related repositories. You can sort by keyword or programming language. There’s also Source’s encyclopedic guide to code from journalism organizations. (You can also sort Source’s directory by keyword. Here, for example, is the list of projects that are tagged ‘social media.’)
- If you want to work on documentation for data: Quartz recently published their guide to bad data, “an exhaustive reference to problems seen in real-world data along with suggestions on how to resolve them.” It details issues that your source should solve, issues that you should solve, and issues that a third-party expert or programmer should help you solve. (No coding experience necessary for this one.)
- If you want to see an example of a story written on GitHub (and make editorial suggestions): Also text-based: Paul Ford’s Bloomberg cover story “What is Code?” You can suggest edits, see what other people have suggested, or just explore how the piece was put together.
- If you want to play around with a data set: FiveThirtyEight keeps data and code behind their stories and interactives online here. They say, “We hope you'll use it to check our work and to create stories and visualizations of your own.” What’s nice here is that the data is clean and can be used however you like. My favorite? This file showing which elements were present in each Bob Ross painting show. (No, not every show featured clouds.)
- If you want to improve the front page of the Guardian or work on tagging or text modeling: Over 100 people have contributed to the The Guardian’s front end code. They’re also working on a tag manager which will provide richer context for site visitors. (Related: the BBC News Lab maintains this space for “code and project plans around analyzing text and topic modeling.”)
- If you want to improve a code of conduct or other tools for Vox: Vox stores its code of conduct online, as well as their “centralized management system for charts, graphics, quizzes, and other tools” and a meme generator that can easily be adapted for other organizations.
- If you want to help ProPublica by improving their coding manifesto: ProPublica maintains a series of guides online, including a social tagging guide and a coding manifesto.
- If you want to work with Census data: CensusReporter makes it easy for journalists to write stories using data from the U.S. Census. There are lots of open issues, including ones labeled ‘good for new contributors,’ making it really easy to get involved.
- If you want to work with large data sets: BuzzFeed keeps an archive of everything that they’ve opensourced, including libraries and tools, a guide to bikeshare data, and a list of data and analyses.
- If you need a way to display those datasets: WBEZ has a fact generator that makes it really easy to surface news stories in different ways.
- If you’re curious about the tools journalists use: KPCC’s data team documents their best practices and the tools they use here.
- If you want to make something for the upcoming election: NPR and The New York Times paired to make this dazzling little tool that gets database-friendly election results from the AP’s Election API. (More here.)
- If you want to play around with a number of awesome projects: Speaking of the Times, they’ve also created a SlackBot that notifies reporters and editors about changes to the Supreme Court’s docket, a set of CSV files that parses FEC electronic filings, a script that helps parse the Olympic Data Feed from the International Olympic Committee, and a tool that extracts press releases and statements from members of Congress. (They also have templates for creating good documentation. If you want to help a project but don’t know where to start, improving existing documentation - or simply saying ‘I don’t understand the current documentation’ - is always useful.)
- If you want to help with documentation and need a good example to start with: Need an example of what amazing documentation looks like? Check out this New York Times documentation for a tool which converts Adobe Illustrator documents into HTML and CSS.
- If you’re interested in working on tools that help whistleblowers communicate with journalists: There’s SecureDrop, “an open-source whistleblower submission system that media organizations can use to securely accept documents from and communicate with anonymous sources,” which is managed by the Freedom of the Press Foundation.
There are many more projects, of course, but I’ve just listed (more than) 24 to get you started. And if you work at a journalism organization and would like to add your project, please do so in the comments. Happy pull requesting!