A CO-FOSS project reflects a relationship between an instructor, a student team, and a client organization during a course of study. Operationally, the project can proceed in the following way:
- Prior to the course, the instructor and the client identify an activity for which an application can be developed.
- During the course, the student team develops the application, interacting with the client to resolve the details.
- Students use modern software tools to develop the code, run unit tests, write user documentation, manage the code repository, and conduct face-to-face meetings with the client. For example, these tools may include Eclipse, an Apache server, PHP, JavaScript, jQuery, MySQL, GitHub, and Zoom.
- The completed work is managed in a code repository (GitHub, e.g.) under a GPL-style open source license, allowing it to be reused or redeployed.
Because managing such a course and project requires an unusual amount of effort, NPFI provides a limited number of grants to help with this effdrt.
- A faculty grant helps support the extra work that an instructor does while preparing a new CO-FOSS project:
- Finding a non-profit client and a clerical activity (e.g., volunteer scheduling) that a new software application could replace.
- Developing requirements for a student project that would customize that application to replace that activity.
- Developing milestones and integrating them into a course syllabus so that students can make clear progress toward completion of the application.
- Finding and establishing a hosting arrangement to deploy the software throughout the project and beyond.
- A student grant provides support for a student to continue developing the application after the course is completed.
A faculty grant provides up to $5000 to assist with the development of a new CO-FOSS project as described above. A student grant provides up to $2500 for a single student’s carrying on with the development or deployment of the app for several weeks after the course is completed. All inquiries about obtaining a faculty or student grant for a particular software project should be directed to Allen Tucker.