There’s a disturbing trend in public-interest apps: They’re released for free, but without clear open source licensing or access to source code.
I think it’s not that the developers don’t want the apps to be open source — they just don’t think of doing it (and perhaps don’t understand, or don’t know from personal experience, how great the possibilities would be if they did it).
I just saw an example today (hat tip to Noel Hidalgo and Frank Hebbert):
The Stop-and-Frisk Watch app is a terrific idea — at least, if like me, you think the New York City police department’s policy of informally criminalizing melanin possession is a big mistake. Here’s the app’s description:
“Stop and Frisk Watch” – a free and innovative smart phone application that will empower New Yorkers to monitor police activity and hold the NYPD accountable for unlawful stop-and-frisk encounters and other police misconduct.
Stop and Frisk Watch is available in English and Spanish, thanks to a translation by Make the Road New York. Initially available for Android phones, an iPhone version will be released later this summer. The app allows bystanders to fully document stop-and-frisk encounters and alert community members when a street stop is in progress. It has three primary functions:
- RECORD: This allows the user to film an incident with audio by simply pushing a trigger on the phone’s frame. Shaking the phone stops the filming. When filming stops, the user immediately receives a brief survey allowing them to provide details about the incident. The video and survey will go to the NYCLU, which will use the information to shed light on the NYPD’s stop-and-frisk practices and hold the Department accountable for its actions.
- LISTEN: This function alerts the user when people in their vicinity are being stopped by the police. When other app users in the area trigger Stop and Frisk Watch, the user receives a message reporting where the police stop is happening. This feature is especially useful for community groups who monitor police activity.
- REPORT: This prompts the survey, allowing users to report a police interaction they saw or experienced, even if they didn’t film it.
The app includes a “Know Your Rights” section that instructs people about their rights when confronted by police and their right to film police activity in public. Stop and Frisk Watch is intended for use by people witnessing a police encounter, not by individuals who are the subject of a police stop.
The NYCLU developed Stop and Frisk Watch with Jason Van Anden, a Brooklyn-based visual artist and software developer who previously developed the Occupy Wall Street app, “I’m Getting Arrested.
iPhone version coming soon! Please check back.
But try looking around the app’s web site — can you tell where the code is, or if it’s open source? Nope. And if you follow the “Get the app” link to its app store page…
…there are no details there either. There’s a “visit developer’s web site” link, which looks promising, but if you click on it, it just takes you to www.nyclu.org, which is obviously not a development site.
This matters.
The reason it matters is that apps like this have a core functionality that will be useful in many similar circumstances. For NYC, monitoring and reporting on stop-and-frisk is the thing, but in other jurisdictions, there might be some other activity that people need to record and report on. If they could modify this existing app, the only piece they’d need to tweak is the third part of the functionality, the “report” part. Maybe if enough people tweaked it, the code abstraction would get rolled into the core and we’d have a generic record-and-report app that could be configured for specific activities / jurisdictions / report recipients.
Wouldn’t that be nice? (Hint: yes.) But it won’t happen without access to open source code.
The request at the end (“iPhone version coming soon! Please check back.”) encapsulates what’s wrong here. Instead of having people come back here to check for the iPhone version, just do development in the open and give people access to the repository, bug tracker, etc, so they can follow progress to whatever level of detail they want, at their convenience.
Public interest apps should be open source, because that empowers the people closest to on-the-ground reality to modify the app to suit that reality. The times I’ve talked to an app developer about this, it turns out they weren’t really making a conscious choice at all — it’s just that there isn’t as much of a tradition of open source in mobile apps as there is in, say, server software, so they don’t automatically put an open source license on the code and do their development on a public repository site. They don’t have the same cultural reflexes.
I’m not sure how to start changing that, but if you develop public interest apps, please at least have someone point out this blog post to you :-).
And if you run a large app store, consider having a field that explicitly states “open source” and links to the code, not just a field saying “Price: free”. That one signal would do more to open this particular cultural door than all the blog posts I could write.
There’s your problem. What’s to say many of these apps aren’t made by one- or two-person teams of cowboy coders who aren’t following best practices for open source projects? Sure, the repository’s just a matter of uploading all the code to Github, but maybe the bug tracker is the programmer’s brain?
If people haven’t thought of open-sourcing their code, they probably don’t know how to either. (And I’m willing to accept the fact that I’m overestimating the complexity of releasing code, which just goes to show that I don’t really know how to open-source a project either. So it’s pretty common.)
Hey, Zacquary. I think you’re probably right. I’m not an app developer myself, so I’m not sure how much the usual app dev environments (IDEs and whatnot) encourage or at least do not get in the way of standard open source practices. I wish that, along with a button for “build” and a button for “package as a release”, those IDEs had a button for “make this an open source project”…