Free and Open Source Software need to "integrate easily with digital preservation institutional systems and processes.” The FOSS Development Requirements Group created a design guide for to ensure easier adoption of open-source tools and their integration with other software and tools.
Minimum Necessary Requirements for FOSS Digital Preservation Tool Development. The premise is that "digital preservation is an operating system-agnostic field."
Necessities
- Provide publicly accessible documentation and an issue tracker
- Have a documented process so people can contribute to development, report bugs, and suggest new documentation
- Every tool should do the smallest possible task really well; if you are developing an end-to-end system, develop it in a modular way in keeping with this principle
- Follow established standards and practices for development and use of the tool
- Keep documentation up-to-date and versioned
- Follow test-driven development philosophy
- Don’t develop a tool without use cases, and stakeholders willing to validate those use cases
- Use an open and permissive software license to allow for integrations and broader use
- Have a mailing list or other means for community interaction
- Establish community guidelines
- Provide a well-documented mechanism for integration with other tools/systems
- Provide functionality of tool as a library, separate UI from the actual functions
- Package tool in an easy-to-use way, that supports any dependencies
- Provide examples of functionality for potential users
- Consider the long-term sustainability of the tool
- Consider a way for internationalization of the tool