A Helping Hand: Free Software and the DPLA
... 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.
DPLA would not exist as we know it today without free and open source software, and accordingly, it is a reasonable expectation that we leverage our ability to develop new software by sharing what we develop openly with the rest of the world. Here are some the different ways that free and open source software supports our work, both in terms of software that we use and software we've developed.
- Ingesting data from hubs. We receive data from our hubs in a variety of formats, and we use the Akara framework and the Python programming language to process and enrich the data to conform to the DPLA Metadata Application Profile. Once processed, the data gets stored in CouchDB, an open source database.
- The DPLA platform. The platform, which provides an API to DPLA's data, is a Ruby on Rails application that interacts with our Elasticsearch search index.
- The DPLA portal. Our portal is our public interface to the materials provided to us by our content and service hubs, and is built using Ruby on Rails, the PostgreSQL database platform, and JavaScript libraries such as Backbone.js, Leaflet, and jQuery.
- DPLA Exhibitions. Our exhibitions are built using Omeka, and feature a zoomable image viewer using the OpenSeadragon JavaScript Library.
All of this software that we've developed -- the DPLA ingestion code, platform, portal, and exhibitions -- is available on Github under a free software license, such as the GNU Affero Public License. We look forward to getting your feedback if you try out our software, particularly as we move towards giving back further to the free software community as our technology staff grows.