Overview

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

The goal of the final project is for you to mimic Linus Torvalds and work on an open source project "just for fun".

Requirements

Working in groups of 2 - 4, students must work on an open source project that meets one of the following formats:

  1. The group makes a reasonable contribution to an existing open source project. This can be a mainstream project or an obscure one, but the group must follow the community standards (ie. pull requests, mailing list patches, etc.). The group must document:

    • The contribution made by the group.

    • Evidence of communication between the group and the maintainers.

    • The status of their contribution.

  2. Alternatively, the group can create their own open source project. This can be a new project or based on previous work. This custom open source project must include the following:

    • A LICENSE file which contains the open source license for the project.

    • A HACKING file which contains instructions for how to contribute to the project (workflow, coding style, etc.)

    • A web page that describes and advertises their project.

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

Timeline

On Tuesday, May 2, the class period will be used as a hackathon where groups can work on finishing up their project.

Hacking Fuel

To help fuel the creative enterprise, chinese food and coke will be served, provided the necessary funding can be allocated.

If you are interesed in helping pool resources, please let the instructor know.

On Monday, May 8 at 10:30AM, students will present their projects.

Submission

Once you have organized your group and have code repository, please fill out the following form to let us know where to find it:

Please include a link to your presentation. Inside the presentation, please include links to your project artifacts (source code repository, project web page, evidence of communication, etc.).