View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

A02a - 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/Research 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. In doing so, you should be sure that the projects you are exploring have an active community around them. Don’t spend time exploring projects that dead (show no activity). For the projects that you choose to explore, you should spend ~1 hour learning as much as you can about it and then writing it up as described below.

Resources and information about finding projects to explore are included in the Finding H/FOSS Projects section below.

For each project you choose to explore:

  1. Visit the course Wiki on the course Moodle (link on home page).
  2. Go to the H/FOSS Projects List page on the Wiki.
  3. Under the “Project Exploration” heading, add a line for the project you are exploring, or add to the line if there is already one, there should only be one line per project. Also, please keep the projects listed in alphabetical order. 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.
  4. 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 “FarmData2” 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 engagement. You will, of course, want to find projects that you are interested in. But you’ll also want to find projects that are active, technically approachable, have a variety of ways to contribute and have 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:

Information about other H/FOSS initiatives and lists of projects (some overlap with the above list) can be found on the following sites:

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 projects with “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 in any of those places 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 millions 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 explore it in detail. That said, here’s a list of repositories:

Grading

The Project Exploration will be graded according to the rubric given below:

Click rubric to enlarge image.
Project Exploration Rubric. 3 pts - On time; All explorations contain all required information;  Information presented gives a thoughtful, clear and detailed picture of the projects; Writing is clear, concise, well organized, uses complete sentences and proper grammar; Explorations are correctly linked, neatly formatted and easy to read. 2 pts - On time; All explorations contain all required information; Information presented accurately describes the project; Writing may have minor issues but does not distract from meaning or understanding; Explorations are correctly linked but may be poorly formatted or difficult to read. 1 pt - On time; One or more explorations may be missing entirely or missing required information; Information in the exploration does not give an adequate picture of the project; Information may simply be copy and pasted; Writing, formatting or grammar may interfere with understanding. Explorations may be incorrectly linked, poorly formatted or difficult to read. 0 pts - Late, missing or substantially incomplete; clearly demonstrates little to no investment in the assignment.

Acknowledgements

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


Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

GPL V3 or Later All executable code used in this course is licensed under the GNU General Public License Version 3 or later