This outlines ways that the Foundation for Public Code could identify potential codebases for stewardship.
This helps individual members and the Foundation understand:
- which existing projects have a need for codebase stewardship
- the most common use cases for public code
Codebases can then be evaluated according to the criteria for codebase stewardship.
Replication of member codebases
We could research which member codebases are currently being reused or being considered for reuse by other Foundation members and their wider networks, in order to encourage direct replication.
Use case archetypes for public code
We could research which types of software and policy code initiatives most often run into problems with:
- excessive cost (for example upward spiraling development or licencing costs)
- excessive risk (for example high failure rate, delays or underperformance)
- lack of control (for example through vendor lock-in or inability to implement policy code due to proprietary software code)
- lack of upgrade potential (for example due to technical debt and reduced agility for future innovation)
We could research which type of software and policy code initiatives are easiest to replicate in an open and collaborative way, including:
- co-developability (i.e. a codebase that is easy to collaborate on)
- code reusability (i.e. codebase written in a way that makes it easy to be reused)
- reuse potential (i.e. codebase that can be reused, either in a different context or for a different purpose)
Need for codebase stewardship
We could research existing codebases that public organizations (or other third parties) are reusing widely as public code (or may want to in the future) but which struggle with:
- stewardship (for example, a lack of neutral third party to manage codebase and maintain minimum standards)
- quality (for example, low reusability or lack of appropriate documentation for the codebase)
- community (for example, no support for an active and long-term community around the codebase)
- product (for example, no active marketing to ensure wider reuse of and engagement around the codebase)
- support (for example, no technical, procurement or legal support for replication of the codebase)