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

MW 12:35-1:25. Mondays Crown Center 140, Wednesdays usually online

Peter Dordal, Loyola University Chicago Dept of Computer Science.

The class is scheduled for MW 12:35-1:25. The basic plan is to meet mostly in-person on Mondays, and online on Wednesdays. I will stream the Monday sessions on Zoom, though. The first class, Wednesday Jan 17, will also be in-person.

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. If you have less background in software development, there will still be 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 (local copy here). There may also be readings from Lawrence Lessig's Code.

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.

Here are some projects that have been successful in the past.

And here are some recent entrants:

Some Python examples

Try searching, if this is what you're interested in.



Course calendar


Week 1: Jan 17
Week 2: Jan 22,24
Week 3: Jan 29,31
Week 4: Feb 5,7
Week 5: Feb 12,14
Week 6: Feb 19,21
Week 7: Feb 26,28
Week 8: Mar 11,13
Week 9: Mar 18,20
Week 10: Mar 25,27
Week 11: Apr 3
Week 12: Apr 8,10
Week 13: Apr 15,17
Week 14: Apr 22,24


Other notes

Overview and History of Open Source

Git

Licensing

Linux History

bash and LibreOffice

The Cathedral v the Bazaar

Open Source Security

Android

Open Source Management

Making Money with Open Source