Imagine a world where libraries are free to choose their own ideal combination of vendor-supplied services and open source or home-built custom code. Where traditional core functions like cataloging and circulation can be chosen independently, and can interoperate freely with learning management, scholarly communication, and all the things we haven't even thought of yet. It's a world where libraries and vendors challenge each other to innovate, to explore new opportunities for libraries to bring value, and to reduce costs. To realize such a vision, we need to think differently about how library software and applications are built and communicate. It requires standard interfaces: Language-agnostic APIs. Simple yet powerful interfaces that support independent processes and tie loosely-coupled applications together into robust wholes. There are many challenges. We need a lean, implementation-driven approach to defining our interfaces and data models, rather than sluggish, do-it-all designed-by committee specifications that are outdated before the first draft is complete. We need to challenge vendors and libraries alike to a dialog about best practices, and we need to build toolsets and platforms to lower the bar of entry, to make it easy for everyone to benefit and contribute. We would like to discuss these questions and our work on this framework, as well as invite ideas and collaboration.