NPFI actively seeks to support new college-level classes to develop FOSS projects for local non-profits. The typical development process has the following elements:
- In one or two semesters, students develop or adapt a working software artifact that meets the specific needs of a local non-profit organization. Examples of recent projects can be viewed here.
- Students interact with their non-profit client on a regular basis (e.g., weekly) throughout the semester to show progress and evolve the requirements. This approach is part of the agile CO-FOSS model.
- Students use open source development tools to develop your product. For example, past projects have used PHP, MySQL, Eclipse, GitHub, and CivicRM.
- The instructor provides the completed project’s code in a public repository (e.g., GitHub) under an open source license, so that it can be reused and/or extended by a future student development team.
Benefits of CO-FOSS
- Students gain a unique learning experience, and a completed project to point to when applying for internships or jobs.
- Through client and team interactions, students develop critical communication and teamwork skills that prepare them for professional success.
- Student community service contributions are implicit.
- The non-profit gains new and useful software that will outlast the semester.
- The project provides good will and positive press for both the university and the non-profit community.
- Project Roadmap for Instructors: 10 steps to implement an NPFI project
- Tips and Resources for Instructors: Practical details for implementing the Project Workflow
Look at the examples of past semester-based projects to help you envision developing such a course. If you can envision developing a course to meet similar needs for a local non-profit, consider applying for an NPFI grant to help support your work. Please contact us if you would like feedback on your ideas.