LUX Project
Students in the LUX Program will complete a major project across a total of six courses over two semesters.
Courses Involved
Working Within the Fedora Project
LUX projects will take place within the Fedora community. That means that we'll be working on real issues alongside other contributors in a thriving Open Source project. The project ideas come from the community, and the result of your work will directly impact the 2+ million users of Fedora.
Success in an Open Source project is achieved in part by working in the open, where other people can see and get involved with what you're doing. You will need input from the community, because the Fedora project is too large for one person to completely master: it involves 6000+ packages, hundreds of millions of lines of source code, and thousands of developers from around the globe. You'll need to use various open source communication tools to effectively work with this community.
In particular, you will need to continuously communicate the status of your work, primarily though blogging. It's a good idea to post a short blog entry -- even a few lines -- each time you work on your project, and at least a couple of times a week.
Completion Goal
During the first semester, you'll take your project to a "0.3" completion status. This means that it must provide some reasonable, stable level of functionality, but it does not need to be complete or fully polished. In the second semester, you'll take the same project to a "1.0" completion status: complete, tested, documented, and appropriately packaged.
Milestones
Project Review
The starting-point is selecting a project from the Potential Projects list. Most of the descriptions on that list are very short, and it may take some investigation and discussion to really understand the scope of each proposal. Use the contact information and resources listed for each project to narrow down your search to 2-4 projects by Week 2.
Project Selection
Once you have decided on a project, remove the project description from the Potential Projects list and place it on the Project List. Create a link from the project description to a project page (use the Sample Project page as a template).
0.1 Release (Proof of Concept)
One of the Open Source principles is "Release Early, Release Often". Your first "0.1" release is due October 17 and will serve as an initial proof-of-concept. This release must include "code", but the definition of "code" will vary considerably depending on the project (the "code" may be test cases, for example, if that's the focus of the project).
Release your code via the project page on the Wiki, and make an announcement of the release on the planet.
0.2 Release (Basic Functionality)
By November 14, your project should have basic functionality, and be released as version "0.2".
Project Presentations
Project presentations will take place November 25. This will be an opportunity to show off the work that you've done and to have a Q&A session.
0.3 Release (Stable, Usable)
The 0.3 Release must take place by December 5. This release does not need to be fully polished or feature-complete, but it should have enough functionality to be useful for real work.
Contributions to Other Projects
As part of your LUX project, you are expected to contribute to other Open Source projects and to create opportunities for others to contribute to your project; this includes both other Seneca students and other members of the Fedora community. You should tell other people about contribution opportunites through your blog on the planet, and you can also put them on the Contrib Opportunites page.