Overview

The third book of the semester, The Cathedral and the Bazaar, examines the history, motivations, sociology, philosophy, and economics behind the open source movement. In his writings, ESR spends a significant amount of time discussing different projects such as Linux, Mozilla, and Fetchmail.

The last book of the semester, Just For Fun, examines the life of Linus Torvalds and the deveopment of the Linux operating system.

For the third project, you will have two options, based on the books above:

  1. The first option is for you to explore an existing open source project and provide a case study of it. The artifact that you will create is a presentation that you will need to present to the class.

  2. The second option is for you to mimic Linus Torvalds and work on an open source project "just for fun". Rather than work from scratch, however, you are to take one of your previous projects (perhaps from another class or a side hobby) and turn it into a presentable open source project others can not only utilize, but also contribute to.

Timeline

Regardless of which project your group selects, here is the project timeline:

Date Milestone Description
April 8 Proposal Description of proposed project.
April 29 Progress Status report of current progress.
May 11 Presentation In-class presentations and demonstrations.

More details about each of these milestones is described below.

Requirements

Working in groups of 2 - 3, students must work on one of the following two projects options:

Option 1: Open Source Contribution

Create an open source case study that meets the following requirements:

  1. The project your group studies must be a well established open source project with a reasonable amount of history such as:

    Ideally, it would be a project that you use regularly and have an interest in.

  2. Each member of your group must attempt to make a contribution to the open source project such as a pull request, bug report, documentation, etc.

    Note: The contribution does not need to be code related. See: How to Contribute to Open Source.

  3. The final case study must include the following topics:

    • A brief summary of what the project is, what its goals are, who is the target audience, and what are its key features (ie. why is it interesting).

    • A discussion on whether or not the project follows any of ESR's 19 principles that he enumerated in The Cathedral and the Bazaar.

    • A discussion of what sort of homesteading in the noosphere the project participates in (ie. how does the community communicate and organize itself, what sort of web properties does it run, etc.).

    • A discussion on the license the project uses and who contributes to the project's magic cauldron.

    • A discussion of the process of contributing to the project, including evidence of your group's attempt to contribute.

Resources

Option 2: Just For Fun

Create an open source project that meets the following requirements:

The source code for your project should be stored on an online repository such as GitHub, GitLab, or Bitbucket.

Examples

Here are some real world examples you should strive towards:

Proposal

Your group must submit a proposal document by midnight on Thursday, April, 8, which provides the following information:

  1. Lists the group members and each of their proposed roles.

Option 1: Open Source Contribution

  1. Identify the open source project your group wishes to study and explain why it was chosen.

  2. Describe the possible contributions you will attempt to make to the project (and which group members will be working on the contributions).

Option 2: Just For Fun

  1. Describe the proposed project and how it meets the project requirements.

  2. Explains how the original project will be converted into an open source project and what modifications will take place.

Progress Report

Your group must submit a proposal slide deck (3 - 6 slides) by midnight on Thursday, April 29, which provides the following information:

  1. Addresses the questions and expections in feedback email provided regarding the project proposal.

  2. Summarizes the work done thus far, in particular the status of your contributions to the open source project and what sort of community interaction your group has experienced (option 1) or the design and implementation details of your artifact (option 2).

  3. Enumerates the remaining tasks, with specifics on what you plan on accomplishing during the upcoming sprint week and what you realistically plan on accomplishing before the deadline.

  4. Itemize contributions to the project thus far and what how each member will aid in completing the tasks above.

Provide video or image evidence of your project and your progress.

Presentation

Each group will have approximately 8 to 10 minutes to present the case study of their chosen open source project or to present their own open source project.

For the open source contribution option, address the questions in the requirements. For the "Just For Fun" option, describe the origins of your project, the modifications you made, and your future plans for new contributions.

To help you organize your presentation, your group must submit a project slide deck (6-10 slides) by midnight on Monday, May 10, which provides the information described in the requirements.

Rubric

The project will be graded with the following rubric:

Metric Points Description
Proposal 10 Does the proposed project meet the requirements?
Progress 10 How much work did the group do before the presentations?
Presentation 10 How well did the group present and demonstrate their case study or open source project?
Requirements 10 How well did the project meet the requirements?
Technical Challenge 10 How difficult was the group's contribution?
Execution 10 How complete was the group's contribution?

Peer Evaluation

The first two metrics will be graded by the instructor, but the final four metrics will be evaluated based on feedback from your fellow classmates.

Deliverables

Once you have organized your group, please fill out the following form

Note, while you can always update your submission whenever you have your proposal, code repository, and presentation slides, I would recommend creating place-holder links that you fill-in later (ie. create empty slides for the proposal and presentation and then update those documents later).