View on GitHub

COMP 491/492

Dickinson College Computer Science Senior Seminar

H/FOSS Project Activities

Now that you have selected your H/FOSS projects it is time to begin. As you read about in an earlier class contributors to open source projects often do so by “climbing contributor mountain.” Thus, instead of just launching into contribution the following sequence of activities will guide you along one path up contributor mountain.

Teams and Sub-Teams

The activities will be completed in sub-teams of 2 or 3. If the full project team has only 2 or 3 members then the full team will also be the only sub-team. Each sub-team will complete the activities independently. However, when a team has multiple sub-teams they should collaborate closely and should move through the activities at approximately the same pace. Sub-teams should help each other solve problems, share interesting things that are discovered and provide helpful tips. By working in separate sub-teams each individual will be more involved and the experience base of the full project team will grow more quickly. By collaborating closely, both sub-teams should move through the activities more quickly and at approximately the same pace.

Completion Criterion, not Due Dates

The difficulty of completing each of these activities may vary wildly from project to project based on the clarity of resources and technical requirements or from team to team based on skills and experiences. Thus, these activities do not have conventional due dates. Rather each activity has a list of completion criteria. When your team/sub-team believes it has met the completion criteria you will schedule a meeting with your instructor. During that meeting you will demonstrate that you have met the completion criterion for the assignment. Once your instructor agrees that you have met the completion criterion for the activity your team/sub-team will progress to the next activity.

Because each of the selected projects is different the requirements and completion criteria for each activity are necessarily general. If it is not clear what your team should do or how your team will meet the criteria for your specific project consult with your instructor. Together you will define more precisely how to complete the activity for your project. Similarly, while the activities are designed to be completed in sequence, sometimes project specifics make it sensible for activities to be combined or to overlap in time. There is flexibility in such situations and they should be discussed with your instructor as they arise.

The bottom line is that with these activities communication is critical!

Documenting Your Efforts

Because there are not due dates for these activities it is essential that you document your effort on them. This is how your instructor will know that you are working and that you are working effectively. It will also help your instructor keep up with what you are doing and provide effective suggestions and feedback on your progress. Remember that the nominal expectation is a total investment of of 6-8 hours of time outside of class each week. That time includes all readings, assignments and project work for the course. In addition, it is best to spread your time and effort on the project across the week in multiple working sessions rather than one single long session. Try to have at least one session early in the week. That way if you get stuck, there is time to ask a question and wait for a response that will get you moving again. This approach can save you significant time! Your work on the activities will be assessed via the Project Checkpoints as described in the Course Syllabus.

The bottom line is that with these activities documentation is critical!

There are two mechanisms by which your teams/sub-teams will document your efforts.

Live-Logs

Each team/sub-team will create a slack channel to be used for live-logging their work sessions on the activities. The same channel will be used for all project activities.

5-15’s

Both individuals and full teams will complete 5-15 reports as described on the course syllabus. The due dates for the 5-15 reports will be posted on the main course schedule.

The Activities

  1. User Install Activity
  2. Developer Install Activity
  3. Bug Gardening Activity
  4. Bug Fix Activity
  5. Project Contribution Activity