Open main menu

CDOT Wiki β

Fall 2007 Major Project

Revision as of 09:00, 12 September 2007 by David.humphrey (talk | contribs) (added group size info)

Introduction

This project is designed to get you working on real open source software, and to do it within the community. You are expected to interface with the Mozilla community, as well as any other relevant open source communities for your particular project. Success in this project means becoming an active contributor to the community, and to following the principles of open source development.

Alone or in Groups

You can work in any of the following configurations:

  • Alone
  • Group of 2
  • Group of 3

Each project is different, and some are too small for more than one person, others too large and require a group. Your professors will guide you in matching numbers of people to a project.

Also, be aware that a group of three is expected to produce significantly more than an individual. The scope of your work will be affected by your group size.

Project Choices

Pick a project from the list of Potential Projects, and once chosen, create an entry on the Project List. Use the Sample Project template.

You should also make yourself aware of other projects for which you can become a contributor. Remember that a significant portion of your final grade is based on contributions you will make to other groups' projects.

It is assumed that all students will begin without knowing how to start their project, what the scope is, what is expected, etc. These questions must be answered quickly, and it is your responsibility to find them. You must not wait for someone to tell you what to do. Rather, become a driver of the process, and talk to people, do research on-line, etc.

Release Early, Release Often

Following the standard for open source development, you are asked to do three milestone releases of your software

  • 0.1 - week of Oct 15
  • 0.2 - week of Oct 12
  • 0.3 - week of Dec 3

You will work with your professor, the Mozilla community, and your fellow classmates to determine what each milestone should include. Notice that you are not expected to create a 1.0 release. It is assumed that your final product will be incomplete in many respects; however, software at 0.3 must be usable. Again, each project will be different in terms of what is expected, so speak with your professors.

Open Development

You will be expected to use open development practices, which means public releases, public documentation, public access to source code. You must keep your project wiki page updated, with new entries at least weekly. The project wiki page will contain technical and logistic information. Use your blog to record more personal reflections, observations, etc.

Each release must be made available on your wiki page, with full source code, so others can download and test it. You will also be asked to use revision control for your source. Details about this will be announced later.

Becoming a Contributor

You are expected to contribute to other projects, and to allow others to contribute to yours. This means two things:

  1. You must make it clear how people can help you. Keep a list of things you need to have done, and remember that most people don't want to spend more than a few hours doing a contribution (i.e., make it very clear what is to be done, and make it small)
  2. You must seek out opportunities to help other groups. Ask them about their work, follow their blogs, read their project pages. Ultimately, it is your responsibility to find ways to contribute.

Important: Keep track of your contributions to other projects on your personal wiki page. Also, give credit to people who have helped your project by indicating their contribution in your project's wiki page.