Contents

Open Source Software Build and Release Systems - DPI908

Software build and release is the process of building (compiling, testing, and packaging) software for further testing or in preparation for release, and the release and distribution of the built software and updates.

This course is a professional option in the Seneca School of Computer StudiesIFS program. It has been offered since September 2012 and is related to the SBR600 course in CTY which has been offered since January 2009.

DPI908 in Fall 2012

This semester, students will be working directly with the Fedora project and other open source communities, on various build and release projects. Some of this work will be centered on the Fedora ARM Secondary Architecture project started by the Winter 2010 SBR600 class and continued since, and specifically, on building, testing, releasing, and maintaining a Fedora Remix for the Raspberry Pi].

Note that, unlike some other project-based courses, the results of the projects done in DPI908 will be incorporated into the Fedora project (or other open source projects) and have a real impact on other people. For this reason, projects must be completed in collaboration with the relevant open source communities, using relevant communication tools. Work performed in this course will be licensed using the relevant open source licenses used by the associated community.

Working in an open source community provides the opportunity to build solid real-world experience, your technical skills and reputation, and a network of contacts, all of which are useful in developing your career.

Course Materials

Students will require access to a personal Fedora 17 installation, either on their own laptop, on a virtual machine on their laptop, on an SSH-accessible system (such as a home desktop computer), or on a SATA disk pack. They should also consider buying a Raspberry Pi when they become available.

Professor

Succeeding in DPI908

There are three keys to success in this course:

1. Work in the open source community. The projects we will be doing are too large and too unfamiliar for you to succeed entirely on your own. You will need to use the community's knowledge, connections, and resources to succeed well. Respect the community's standards, tell the community what you're doing, ask when you have a question, and pull your own weight within the community.

2. Blog. Tell your professor, your colleagues, the community, and everyone else what you're doing. Write a lot and write well, include good technical content, and incorporate links to all relevant resources and the product of your work, and write often. Almost all of your work in this course is submitted by blogging.

3. Be ambitious. In this course, you will need to be the driving force behind your project. The community will help you, but it's up to you to supply the energy. It's best to plan to make a bit of progress each day.