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.