Computer Science 491
Senior Seminar

Dickinson College
Fall Semester 2018
Grant Braught

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 reviews only for those that you might seriously consider working on for the remainder of the year. For those that you select to review, 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.

H/FOSS Project Exploration

For each project your exploration page must address the following questions:

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 in 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, HFOSS), which have some connection to humanitarian causes. 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:

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 criterion for the Project Exploration is 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: