Open Source Software for Humanity: Open Source Project

This project is worth 10% of your final grade in this course.

Due Dates
Project due dates are as follows:


 * 1) Phase I Due Wednesday, April 16. See HW 10 for details on how to complete this phase.
 * 2) Phase II Commitment Due Wednesday, April 23 @ midnight. See Open_Source_Software_for_Humanity:_HW_Week_11|HW 11]] for details on how to complete this task.
 * 3) Phase II Contribution Due Wednesday, May 7. Details on how to submit your final product will be posted here.

Objective
The objective of this assignment is to engage you in a real open source software project. To gain full credit for the assignment it will be necessary to make two contributions to the project, a minor contribution and a major contribution.

The VMOSS Project
The VMOSS Project (Volunteer Management Open Source Software) is a sourceforge project that grew out of the Sahana project. Sahana is an open-source disaster management system that was started by a group of IT professionals following the 2004/5 Asian Tsunami. It provides an integrated information system that helps support search and research missions, humanitarian relief, and other activities that make a large-scale disaster recovery effort.

VMOSS got started as the volunteer management (VM) module in the Sahana system. It was developed initially by some Trinity students and faculty and later by students at Wesleyan and Conn College. While VM is still part of the Sahana system, the VMOSS system was spun off as a separate source project earlier this year. It now serves as a standalone volunteer management system that can be separately developed by any group that needs software to manage volunteers.

Assignment Overview
In this assignment you will download, install, and test a copy of VMOSS from sourceforge. It can be downloaded directly into Eclipse. Details will be provided.

Part I. Minor Contribution.
There are two parts to the minor contribution:

Testing, testing, testing
Once you have downloaded VMOSS, run the application, registering yourself and fictitious users to test out its various functions, playing the role of administrator, creating various projects, and so on.

Bug Report
To earn credit for this part of the exericse, you must submit one or more bug reports or feature requests to sourceforge. Details on how will be provided.

Part II. Major Contribution.
Once you have obtained familiarity with VMOSS by completing Part I, choose one of the following ways to make a contribution to the project. Details on each activity will be provided in class and homework exercises over the next few weeks.

Creating a Patch (technical)
For one or more of the bugs or features that you identified in Part I, create a patch to fix the bug and implement the feature.

We have identified the following bugs/features as doable: #194352, #194701. We will post more detailed instructions on how to fix the bug--what files need to be edited, what functions need to be written or modified--on the Sourceforge site.

Test DB (technical)
Develop a test database that can be used by those who download and play with VMOSS. This is a straightforward step to take after you've done extensive testing and "playing with" the system. PhPMyAmdmin can be used to export and save a portion of the VMOSS database. For this assignment, your database should contain at least 10 volunteers, 3 projects, and 3 project managers.

Create a New Module (very technical)
For one of the identified enhancements on Sourceforge, design and implement a new module in VMOSS.

Implement a New or Enhanced Feature (very technical)
This is a substantial programming project. Desired new features are identified on the Sourceforge site.

Getting Started Guide (documentation)
Develop a brief (1-3 page), written web-based guide (WIKI or HTML) to help new users learn how to download, install, configure, and use some of the main features of VMOSS. Your guide should focus on one of the following topics: Here are some sample guides to use as models:
 * Downloading, installing, and configuring VMOSS
 * Getting started with VMOSS's primary features.
 * Getting started with the VMOSS administrative functions.
 * Getting Started with HTML
 * Getting Started with DWR
 * Getting Started with Quicktime

Comparative Feature Survey (research/documentation)
Conduct research online to identify other volunteer management systems (open source or otherwise) and compare their features and functions with VMOSS.

You should use Google and other search engines to find volunteer management software on the Web and compile a report that lists your finds. The comparative survey should create a list of volunteer management systems with the following information for each system: name, URL, brief text description (which should include such details as system requirements, functionality, etc.), size (large, medium, small), scope (general, specific), open source (yes/no), license (if open source).

HFOSS Directory (research/documentation)
Use Google search to identify humanitarian free and open source projects and, for each project found, add an entry in the HFOSS Directory. What is an HFOSS project? This is not necessarily easy to decide in some cases. For this project, an HFOSS project should be non-profit and should be engaged in building or providing or supporting the creation or distribution of open source software for some kind of socially beneficial purpose. If in doubt, add the project or product you find to the directory. It can always be removed by the administrator.