[TOS] looking for feedback on ideas for an open source development course

Dave Neary dneary at gnome.org
Mon Mar 11 11:02:12 UTC 2013


Hi Sebastian,

On 03/09/2013 11:23 PM, Sebastian Benthall wrote:
> I'm a PhD student at UC Berkeley's School of Information
> <http://www.ischool.berkeley.edu/> and have been getting encouragement
> here to teach a course on open source development targeted at students
> in our Masters program.

That's great!

There are a few other Masters programs I know of that you might be able 
to leverage (links below).

> Our Masters students come from a variety of backgrounds and are required
> to pick up some coding skills during the program (though some come in
> with more engineering background).  It's a professional degree that
> culminates in a technical project.  Often the emphasis of these projects
> is on design, but many of the students have expressed frustration at not
> having more of an opportunity to hack with constructive supervision.
>
> I'm coming from a background of FOSS development, project management,
> and business, but have never taught a course on this before.  I wanted
> to send out my rough ideas for a course proposal and invite any feedback
> of any kind on it.
>
> I'd be really interested to see any currently existing course syllabi or
> material, but am not sure where to look.

The three axes of open source development are:
1. Tools and processes - things you don't learn very much in college, 
like patch review, bug trackers, version control, mailing list best 
practices, which are basic pre-requisites for participating in an open 
source community
2. Communication - The human issues related to co-operation, 
negotiating, governance, communicating well in written English - a skill 
which is unfortunately undervalued in computer science degrees, in my 
experience
3. Technical competency - Perhaps the least important of the three, but 
there's a basic level of skill which is related to what you do learn as 
an undergrad - understanding design patterns and principles, being 
comfortable in both procedural and object oriented code, understanding 
the syntax of a number of languages, and being comfortable in the 
technical documentation for any given computer language, even if you are 
not fluent in the language.

Those Masters programs I mentioned are:

Masters in Libre Software: 
http://docencia.etsit.urjc.es/moodle/course/category.php?id=22

Masters in free software engineering: 
http://dpt-info.univ-littoral.fr/mediawiki/index.php/I2L:Accueil

Good luck with the course! The outline you have below certainly gives 
you the opportunity to address all of these subjects.

> *Summary:*
>
> This course is a hands-on exploration of the theory and practice of free
> and open source software (FOSS) development.  Students will collaborate
> on the design, development, and marketing of a new open source software
> project. Practical work will be organized around themes of project
> management infrastructure, community self-governance, and engineering
> education through open source participation.  Supplemental readings will
> explore business models for open source software organizations, the open
> source "ecosystem", and hacker culture.  The (admitted ambitious) goal
> of the class is to launch a broadly usable open source project that can
> be used as part of iSchool Masters projects, faculty-directed research,
> and beyond.
>
> [There's going to be a lot of prep work on my end figuring out what a
> plausible project for this might be.  I'm thinking something along the
> lines of a lightweight pluggable mailing list solution, but I'm open to
> other ideas...]
>
> *Format*:
> The class will meet twice a week: Once in a classroom to discuss
> readings, and once in an IRC channel to discuss progress on development.
>
> *Grading*:
> Grading will be based on X% class participation, Y% on open digital
> participation (blog posts, issues, mailing list participation, commits)
> and Z% on student's assessment of their peers [according to some
> algorithm I've haven't put enough thought into yet].
>
> *Readings and Topics:
> *
> for everything practical and then some:
> Fogel, K. /Producing Open Source Software/
> what else?

Karl's book is the ultimate reference for most of this.

Some related reading:

* Team Geek
* The Art of Community
* Open Advice

> governance:
> Freeman, J. The "Tyrrany of Structurelessness"
> Ostrom, E. /Governing the Commons /(/?? haven't read yet, looks good.
> I'm thinking excerpts)

You might like "The Starfish and the Spider" (although many projects are 
more spider than starfish).

> /business models:
> Pentaho's Beekeeper stuff:
> http://wiki.pentaho.com/display/BEEKEEPER/The+Beekeeper
> Asay, M. something by him like
> http://news.cnet.com/8301-13505_3-10244853-16.html
> -- stuff about Red Hat?
> -- stuff about Twitter, GitHub?
> -- stuff about Mozilla?

Stephen Walli's blog "Once more into the breach" is an excellent 
reference for open source business model thinking.

> classical (?) texts:
> RMS.  Something.  Or maybe just stuff from here;
> http://www.gnu.org/philosophy/
> ESR. /The Cathedral and the Bazaar/

> culture:
> Coleman, G. something?
> Kelty, C. /Two Bits/.  (excerpts)

You might also like to add 
http://oreilly.com/openbook/opensources/book/index.html as "additional 
reading"

> international participation:
> Tahkteyev, Y. /Coding places/. (excepts)
>
> something on gender in open source?


Good luck!
Dave.

-- 
Dave Neary, Lyon, France
Email: dneary at gnome.org
Jabber: nearyd at gmail.com


More information about the tos mailing list