CONCEPT C – Become Part of a New Nonprofit Foundation of Software for Social Good
This topic is for discussing people's thoughts on Concept Note C. For more information or to take the online survey, please refer to general Exploratory Concept Notes topic.
The source PDF for this note can be found here.
C. OVERVIEW
This note sees ODK join a new to-be-established nonprofit foundation similar in structure to many existing software foundations, but focused exclusively on software for social good that aims to improve international development outcomes. ODK development and maintenance would likely not be performed by foundation-paid staff but by external developers. Foundation funds could potentially be raised to subcontract out for support, maintenance, and feature development.
C.1. STRUCTURE
A new non-profit foundation would be established, similar in structure to many existing software foundations (Apache Software Foundation, Software Freedom Conservancy, Linux Foundation, Free Software Foundation, etc.), but with an exclusive focus on software projects for social good. Other examples of projects besides ODK that could fit into such a foundation include OpenLMIS, DHIS 2, Logistimo, OpenMRS, MOTECH, KoboToolbox, iHRIS. Note that some of these already have nonprofit homes; this is for example purposes of similar projects which have already have or in the future may face the same transition ODK currently is.
The foundation would have a Board of Directors and Technical Steering Committees (TSCs) for each hosted project. As it grows it would also likely have top-level technology and advisory committees, staff to manage common infrastructure, share knowledge, etc. across projects. It would have an evaluation committee for helping choose, guide, and mentor projects that join. The new foundation would also provide services similar to those of existing software foundations (for examples see Note A.1).
Some reasons to establish and host a project like ODK in this new foundation (vs. existing ones) are listed below:
- A community specifically focused on social good and international development
- Opportunities for shared learning from pooled community knowledge (both technical and non-technical, like fund-raising, operating environments, common end-users)
- Potential for developing and/or running shared infrastructure needed across multiple projects (e.g. cloud hosting, end-user billing for foundation-hosted Software as a Service, data processing).
- Increase incentives and lower friction to integrating hosted projects’ tools with each other.
Additionally, it could also provide consulting to external projects (for possible transition into the foundation or towards establishment of their own stand-alone organization), and oversee establishment of brand new projects when unmet needs and funding/willingness to contribute are identified.
Either the top-level foundation and its collection of projects, or just the ODK Project, could temporarily seek a fiscal sponsor (as per Note B) while the foundation is being set up and certified.
C.2. GOVERNANCE
The foundation would have a top level foundation Board of Directors and officers. As it grows in size, it might also have committees. The board could be made up of representatives of all or some of the projects (depending on TBD factors like the total number of foundation projects, each project’s size, etc.). Each project hosted in the foundation will have its own TSC, responsible for the day-to-day development and direction of the project. Each TSC will elect a Project Leader to represent the project to the overall foundation. ODK would be split into sub-projects, with a top-level ODK PMC responsible for overall coordination with the foundation and management of ODK, and specific TSCs per sub-project. The ODK PMC can be made up of representatives from each sub-project (elected by each TSC). The PMC may also include other representatives, like elected reps for user community, implementers, funders. The ODK PMC serves to ensure appropriate coordination and direction between sub-projects.
C.3. TECHNICAL ROADMAP
For most (or all) foundation projects, and particularly ODK Projects, a periodically updated (e.g. once/year) technical roadmap would be set by the TSCs with input from community and advisement by the top-level foundation (which among other services, manages funding, and may even actively help seek it for projects). ODK’s TSCs would set the roadmap with input from the ODK PMC and the community, but the roadmap is ultimately the TSC’s decision. In this note the overall ODK PMC merely advises TSCs on the roadmap, but does not have any veto power (other alternatives certainly possible).
C.4. FUNDING
The foundation would seek start-up funding from existing organizations, foundations, and other sources for its establishment. The foundation is responsible for seeking out overall operational funds. Both the foundation and individual projects would work to seek project-specific funding. The foundation would take an overhead tax for general foundation sustainability on project-specific earmarked funds (percentage TBD; could also be capped i.e. X% on the first Y% donated). A portion of this overhead could also go towards maintaining the stability of existing projects (e.g. bug fixes, documentation, updating dependencies).
Through the foundation, ODK could continue to seek grants for development and maintenance. If successful in fundraising it might hire developers directly (as employees or contractors of the non-profit) but the initial assumption is that it would subcontract these out to trusted ODK technology companies and developers. However its main role might be to play matchmaker between would-be-funders and companies/developers that they directly execute contracts with, structured to ensure work is contributed back.
C.5. COMMUNITY FEEDBACK
As with Note A, although the TSCs set each project’s roadmap, it is expected that foundation projects like ODK will be responsive to feedback from their greater communities (not just contributors but practitioners, end users, and funders). The foundation could even formalize a minimal level of community interaction (feedback mechanisms, publication of roadmaps) through requirements for project membership in the foundation. Additionally, another opportunity for feedback would be contribution of earmarked project funds for specific feature development, maintenance, or support.