How do we recycle hackathon code? | Opensource.com
How do we recycle hackathon code?
With the sheer number of civic hackathons starting to reach a critical mass, some are asking whether the energy and drive embodied by these events can be directed to reusing existing applications or projects started at earlier events.
This is an important issue, as some projects worked on at civic hacking events aren’t actively pursued after the event is over. Is there an opportunity to better focus the energy and talents of civic hackers to reuse existing applications, or to take the work from previous hackathons further?
In attempting to answer this question, it should be noted that the very fact it’s being discussed demonstrates that the concept of hackathons is maturing. Civic hacking organizers are becoming increasingly creative in how events are organized and structured, and it makes sense to consider approaches that might produce more sustainable results. There are some examples of app reuse, where hackathon participants take a project from a previous event and build on it with their own work. It does happen but most agree it does not happen often enough.
There are some obvious reasons why more of this application reuse hasn’t occurred on its own at civic hacking events.
First, quite simply, coders like to code. Software developers – at least the ones that show up at hackathons – like what they do, and for most, writing code and starting from scratch is an enjoyable prospect.
In addition, hackathons are almost always set up to reward finished applications, not open data or reusable components that might be generated as part of a project. It’s hard to show off a new parsing library or database abstraction component at a Sunday afternoon demo following a weekend hackathon – unless you have a finished app to show.
Hackathons also produce oft-overlooked outcomes that could be a big contributor to the reuse pool: useful tools developed as part of a specific project that can potentially be reused by other developers. They aren’t an "app" in themselves but are instead components that can be used to build an app of one variety or another. For example, a library/gem/module written to parse a city’s data or interact with an API could possibly be used by someone else to perform a similar function at another event.
Hackathons are also very good at liberating new datasets; many a weekend project has resulted in a new, available dataset, never before witnessed in developer-friendly format simply because no one before needed to use it in such a way. These newly liberated datasets are now free to be used by other developers – this is a hugely un-utilized and under-appreciated benefit of civic hacking events.
So the question is: What can we do to better encourage reuse of applications or software components at civic hacking events?
Hackathons, noticeably exclusive to the world of developers and designers, need to open to community leaders and community organizations. Improving upon app sustainability will require strengthening community ties.
Once communities collaborate on app design and implementation, apps previously unnoticed will become reused. In particular, if a hackathon involves leaders from community organizations that represent real civic needs, and hackathon teams create apps that are useful to the civic work of the community organization, therein lies the owner or stakeholder that will see that the app has a life beyond the civic hacking event. The notion of apps belonging to community and civic leaders, beyond just developers, is an important one to promote. Community organizations will then look to hackathons as opportunities to partner with developers and technologists to provide solutions to civic issues.
Author’s note: Code for America’s Ariel Charney and Mark Headd contributed to this post.