View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

H/FOSS Project Exploration

Students pursuing a H/FOSS Project must each complete a Project Exploration of at least 4 H/FOSS projects of interest. Students pursuing Honors Projects must complete the Project Exploration of at least 2 H/FOSS projects. You should plan to look briefly at lot of projects and then do explorations only for those that you might seriously consider working on for the remainder of the year. For those that you select to explore, you should spend ~30 minutes exploring it and writing it up as described below.

For each project that you explore:

  1. Use the resources in the Finding H/FOSS Projects section below, or otherwise, identify an H/FOSS project to which you might potentially be interested in contributing.
  2. Visit the course Wiki on the course Moodle (link on home page).
  3. Go to the H/FOSS Projects List page on the Wiki.
  4. Under the “Project Exploration” heading, add a line for the project you are exploring. The line will contain a link to the project’s webpage and a link to a new Wiki Page that will contain your information about the project. See the instructions on the Wiki page and use my sample entry provided there as a template.
  5. On the new Wiki page to which you linked in the previous step, complete your exploration of the project according to the H/FOSS Project Exploration section below. There is a sample exploration on my (GBraught) Wiki page for the “My Robot Lab” project. You can click “edit” on my page to copy and paste the source to your own page and then edit it there.

Project Exploration Documents

For each project your exploration page must contain the following information:

Finding H/FOSS Projects

There are literally millions of open source projects out there. However, not all open source projects are equally good candidates for use in this course. You’ll want to find a project you are interested in, of course. But you’ll also want a project that is active, technically approachable, has a variety of ways to contribute and has a welcoming developer community that will help you get started and that you can go to when you have questions. Below are resources that may help you find suitable projects of interest.

Projects from a number of different application areas that have been used here during past semesters or in other courses similar to ours, and that students and instructors have reported having good success with include:

The above projects all belong to a sub-class of FOSS projects referred to as HFOSS (Humanitarian FOSS or HFOSS), which have explicitly humanitarian missions. Students and faculty from other courses, similar to ours, report that many of these projects tend to be friendly, supportive and open to helping new contributors come on board. You can find all of the above projects and many more HFOSS projects on the following list:

NOTE: The table and the lists below do not contain all of the same projects, so be sure to look at both the table and the lists below.

Information about other HFOSS initiatives and lists of projects (some overlap with the above list) can be found:

There are also a few sites that are specifically designed to help new people get involved in FOSS projects. These often have a list of “introductory” issues that make good targets for new contributors. Listing a project here and tagging issues as “introductory” suggests that the projects may be particularly welcoming to new contributors. So you may want to search these sites:

If nothing there catches your attention, or you want to explore further you can leap into the void and search some of the large open source project repositories. Most of the above projects are located in one of the following repositories, but these repositories also contain thousands and thousands of other projects as well. Some will be great projects to get involved with, but others will be too large, too specialized, dead, or exclusive. So if you do head off into the void searching for projects, spend a few minutes informally assessing how active a project is and how open/welcoming/accessible it is to new contributors before spending the time to review it in detail. That said, here’s a list of repositories:

Grading

The grading criteria for the Project Exploration are included in the Project Selection rubric on the Course Syllabus.

Acknowledgements:

This assignment builds from and adapts ideas and content from the following activities created by others: