The purpose of this homework assignment is to introduce students to their first FLOSS practices. Read it in full, there are a number of graded deliverables.The due-date is listed in the Syllabus.
IRC is one of the primary means of communication for a FOSS community, particularly for informal communication.
There is a course IRC channel on irc.freenode.net. The channel is #rit-foss. Communicating regularly in IRC factors into the FOSS Dev Practices component of your final grade.
irc.freenode.netand introduce yourself.
It is a good practice to “hang out” in IRC channels of projects that you use and especially of projects that you contribute to. Here you can find early alerts regarding any upcoming major changes or security vulnerabilities. It is also the easiest (lowest overhead) method for getting your questions answered.
Only for the brave – if you want to be completely awesome, you can setup a proxy node so you are always logged in. People can leave you messages this way.
If you want to be completely completely awesome, you can setup BitlBee so you can tweet from your IRC client.
Discussion mailing lists are a more formal mechanism of communication for FOSS projects. More formal than IRC, less formal than bug trackers. Discussion mailing lists are often used to ask questions, announce upcoming releases and beta tests, and to debate redesigns and refactors. The advantage here is that mailing lists are typically archived and indexed by Google; discussions that should be preserved for posterity should occur here. Upstream projects usually have an existing mailing list where messages of these sort are to be posted.
Setup a blog if you don’t have one. Much like mailing lists, blogs are
archived, indexed by Google, and therefore preserved for posterity. When
you encounter a technical challenge, typically you google for a solution
and you typically find that solution in a blog post of some developer who
has run into a similar situation. Blogging about your attempts, successes
and failures (and writing tutorials!) is a best practice for increasing the
general body of searchable knowledge available, for increasing the
Wisdom of the Ancients.
Blogs around a topic are also typically aggregated by a planet (an RSS feed
aggregator). This way, all developers blogging about Project X can have their
blog posts fast-tracked to a readership subscribed to Planet X. For instance,
here’s a link to
The Planet for the course may be hosted at some point in the future at
You must create a blog (if you don’t have one already) and write at least one post per week about your progress, attempts, successes, failures, reflections, and/or all of the above.
Attention Wordpress Users! By default Wordpress will limit the number of posts that are listed in the RSS feed to 10. This will create an issue roughly halfway through the term when you are supposed to have more than 10 blog posts. In order to fix this issue you must take the following steps.
Code forges are service sites around which FOSS development orbits, some of the more popular sites are github, bitbucket, sourceforge, and launchpad.
For your own enlightenment, review the following comparisons of the different forges:
You’ll need to create your own account on github.com. All development for this course should be tracked on that forge. Github is, after all, the most popular forge.
Githubaccount if you don’t already have one.
Check out the source repository for this course; it’s hosted at https://github.com/decause/hflossk.
Inside the repository, we’ll keep an index of all the students in the course and metadata about them (you!).
$YOUR_IRC_NICK.yaml. Perhaps obviously, it is a YAML file. You can use the
rjbpop.yamlfile as an example. You will want to make sure that you have $TERM in all lowercase. For example a student in HFOSS fall of 2014 would have their YAML file in the
people.yamlfile in that directory. It is a legacy hangover from older code. Do not bother editing it. It will actually make merges more difficult.