Comp 312-01E/412-001, Open Source Computing, Spring 2021

Peter Dordal, Loyola University Chicago Dept of Computer Science.

The class is scheduled for TTh 3:00-4:15, online. But because much of the course work will be on your projects, we will usually meet only on Tuesdays, and skip Thursdays (though we might need a Thursday at the end for project presentations).

The main goal of the course is to participate in some open-source project, as part of a team. We will divide into teams the first week or two. I'm going to have you post brief introductions on Sakai to help you find teammates.

You will have to be prepared to meet with your team regularly. Even without covid, though, this would usually mean asynchronous communication or, at most, online meetings. I'm aware that some of you have less background in software development, but there is plenty to do in terms of documentation, architecture planning, use-case development, and testing.

This is not a software-engineering course; grading will be based more on effort than results. That said, results do matter, and if you don't achieve them then there should be some legitimate reason (like your project was just a little too ambitious).

There will be some readings from the open textbook  Producing Open Source Software, by Karl Fogel. There may also be readings from Lawrence Lessig's Code, but the website (codev2.cc) is down, and maybe the book is no longer open. (The book is also less directly related to open-source software than Fogel's.)

My general course groundrules are here. Do not submit as your own work content that you did not create. You are, of course, submitting a project that originated elsewhere; the important thing is to make it clear to me -- in the code -- what features your team added.

In addition to the project, we'll also look at bug finding, bug reporting, and presentations about how projects are put together. There will be some kind of final exam, covering the factual material presented. The project counts most, but if that doesn't quite work out as planned then the other things (like the exam) will be used to bring your grade up. 

There will be a final exam, on Sakai, on basic open-source facts. I'll get a study guide out beforehand.



Starter Open-Source Projects

I'll begin with a list of sites that suggest good open-source projects for getting started. You are also free to create your own project.

Finally, here are some projects that have been successful in the past.




Course calendar

The date shown is that of the Tuesday.

Week 1: Jan 19
Week 2: Jan 26
Week 3: Feb 2
Week 4: Feb 9
Week 5: Feb 16
Week 6: Feb 23
Week 7: Mar 2
Week 8: Mar 16
Week 9: Mar 23
Week 10: Mar 30
Week 11: Apr 6
Week 12: Apr 13
Week 13: Apr 20
Week 14: Apr 27


Other notes

Overview and History of Open Source

Licensing

Linux History

bash and LibreOffice

The Cathedral v the Bazaar

Open Source Security

Android

Open Source Management

Making Money with Open Source