The Non-Profit FOSS Institute (NPFI) is a 501(c)(3) organization that develops and supports free and open source software (FOSS) products to fit the needs of individual non-profit organizations.
Many of these products are developed by student teams during 1- or 2-semester software development courses. Others are developed by NPFI itself. All NPFI software and its ongoing support are provided pro bono to the non-profits. Click here for a list of these products and their non-profit recipients.
When a student team develops the software, the instructor collaborates with the non-profit in advance to identify the software need and set the requirements that will guide the student project. Throughout the development period, the students collaborate with the non-profit client using a methodology that we call “client-oriented FOSS,” or CO-FOSS.
When the project is completed, the team delivers the software to a the non-profit’s Web hosting company who ensures that the software is of high quality and installs it on the non-profit’s server. NPFI collaborates with that company to serve as a resource for fixing bugs and adding new features to the software in the future.
NPFI’s role in this process includes one or more of the following:
- Helping a non-profit identify an outmoded clerical activity (e.g., volunteer scheduling) that new custom web-based software could replace.
- Developing a requirements document for a 2-3 month project that would customize an existing open source software product to replace that activity.
- Either finding an instructor/student team who would perform that customization, or performing that customization directly.
- Providing grant support for the instructor to configure and teach a software development course modeled around such a project.
- Finding a relationship with the non-profit’s Web hosting company to deploy and support the software after the students are finished.
NPFI’s unique CO-FOSS approach to software development contributes to both the education of future computer professionals and the inventory of software customized for use by non-profit organizations. Because the software is free and open source (FOSS), its source code and documentation are freely available for re-customization to fit the needs of other non-profits.