I've been asked "why do you write software?" a lot in my career, and particularly in my position here as Director of Scholarly Technology at GW Libraries, where we do write a lot of software. For me, the answer is simple, and it's the same answer I've always given, since I first went to library school: it is the work of a librarian to write software. This has always seemed natural and clear to me, but I understand that it's not obvious to everyone, especially in a broader organizational context.
So why is it important to have staff at a research library with appropriate skills and experience tasked with writing software?
First, navigating through the many information resources we provide -- both online and on our shelves -- isn't easy. GW Libraries, like many research libraries, provides access to hundreds of online databases, thousands of online journals, and millions of physical items. To help people find what they need quickly, we have to offer the clearest possible paths for everyone to navigate for themselves. Recently we wrote a software application that provides a new quick search box on our site at http://library.gwu.edu/ that searches a wide range of sources at once, and more importantly, it searches a range of types of sources at once. This helps anyone searching our site to make two quick choices: what kind of resource they're looking for, and where to go within that category of resources to dig deeper. This isn't a new idea - many of our peer institutions offer similar services, and we credit NCSU Libraries with pioneering this concept. But all of our libraries subscribe to different sources, and to put them all together in a way that made the most sense for GWU, we wrote our own software. Over time, the sources themselves will change, but now we have the ability to adapt our application to new content over time without having to sacrifice the now-improved experience of finding information through GW Libraries.
Another primary reason we write software is to support research. This is still a new area for us, and we hope to dive in more, but in a handful of cases we've helped GW faculty and researchers move their original studies forward with code we've written. For one professor, we wrote a custom conversion application to migrate data they gathered over the course of research years ago to the new, up-to-date data format the new version of the commercial product they use now requires. They had been stymied, as the product vendor itself did not support forward migration, and other solutions didn't work. This was a real risk - their next research grant proposal depended upon having this data at the ready, and we were able to help them when no one else could. For other researchers on campus, we've written another application that collects data from Twitter, gathering tweets around the clock automatically so they don't have to do it themselves, and then exporting collected data into a format that aligns with their research tools. We're still working on this application because we keep hearing from more researchers who want to use it. Without this capacity, we'd have to send them to expensive commercial data resellers, which offer good services but at a price not everyone can afford. We hope that being able to provide a modest service like this can become a strategic advantage for researchers on campus.
Aside from these main reasons, there's another more subtle reason: being able to write software ourselves means we can take advantage of the many software solutions others have already developed. And in turn, when we write an application ourselves, we can share it with others. At GW Libraries, we have a formal policy for releasing software we've developed under a free and open source software license, a policy that was approved by our University Copyright Officer, with the support and guidance of GW's Office of General Counsel. You can see our work on github, where we manage almost all of our software work and the code we develop publicly. And you can use it if you want! Everything listed there is available to use, study, modify, copy, and redistribute under the terms of the license GWU assigned to it. The internet runs on software, much of which is free, and GW Libraries, like many others, depends upon a lot of free software (alongside many excellent proprietary products as well) to deliver resources and services to the GWU community. By developing products that we can share under a free/open source software license, we can offer back to others the solutions that work well for us.
Helping people find and use information, supporting research, and sharing the tools we build as part of that work is precisely why I became a librarian - it is my work, and a key part of the work of our team, the Scholarly Technology Group. I hope this helps to explain how this part of our work fits in with the broader goals of GW Libraries and the GWU community we serve.
Also: we're hiring. Come join us!