SIGCSE 2013 Workshop Notes
OpenFE Workshop Learning Materials Sprint
3/6/13
These are unedited notes taken by various people during the SIGCSE 2013 pre-conferencence workshop
--------------------------------------------------------------------------
File created on etherpad: http://openetherpad.org/OpenFE
Now saved on the foss2serve wiki: http://foss2serve.org/index.php/Notes_SIGCSE_Workshop_2013
--------------------------------------------------------------------------
SIGCSE Workshop Agenda:
http://foss2serve.org/index.php/Agenda_SIGCSE_Workshop_2013
Pre-Workshop Activity Schedule:
http://foss2serve.org/index.php/Pre-Workshop_Activity_Schedule
http://foss2serve.org/index.php/Intro_to_FOSS_Activity
The textbook "Practical OSS Exploration" is at: http://teachingopensource.org/index.php/Practical_OSS_Exploration_textbook
(there isn't a link on the TOS homepage for this, and it's surprisingly hard to find... We should probably fix this...)
Materials Resources:
https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla
Stage 1 Comments
The course related activities need expectation setting - that we want them to think and come in with some preliminary ideas, but not final plans
Contact Info
Peter Froehlich, phf@cs.jhu.edu, Johns Hopkins Computer Science, Senior Lecturer, Gaming and Systems "Stuff" in general.
Karl R. Wurst, karl.wurst@worcester.edu, Worcester State University, Professor and Chair of Computer Science.
Heidi Ellis, ellis@wne.edu, Western New England University, Chair and Assoc. Prof. of Computer Science and Information Technology
Mao Zheng: mzheng@uwlax.edu, Department of Computer Science, University of Wisconsin-La Crosse
Lori Postner: Lori.Postner@ncc.edu, Dept of MAT/CSC/ITE, Nassau Community Cmunity College, Garden City, NY
Cam Macdonell: macdonellc4@macewan.ca, Dept of Computer Science, Grant MacEwan University
Joey Kendall-Morwick: jmorwick@indiana.edu (currently at DePauw Univeristy, Dept of Computer Science)
Darci Burdge Nassau Community College darci.burdge@ncc.edu
Greg Hislop Drexel University hislopg@drexel.edu
Michelle Purcell Drexel University mjw23@drexel.edu
Peter Froehlich Johns Hopkins phf@cs.jhu.edu
Stoney Jackson Western New England University stoney.jackson@wne.edu
Stage 1
First two weeks seem OK
1.4 Register a channel on freenode: http://blog.freenode.net/2008/04/registering-a-channel-on-freenode/
Second two weeks
2.1 - both Karl & Greg have sample activities
create one on wordpress
look at http://teachingopensource.org/index.php/Planet_Feed_List on how to set up a blog and tag
post on personal page on wiki
include information on planet and talking about tagging blog posts - provides a way to direct certain posts to outside groups through planets or aggregators without having to send all your posts there.
2.2 - post on personal page on wiki
2.3 - Etherpad - may not need to be done in stage 1; don't want the use to seem artificial - seems like no good use of this during the second two weeks
What goes on a blog vs. wiki
wiki - achival - what will people want to know about in the future? project structure, things people need to know - documentation
blog - personal reflection - experience based - commentary
2.4 FOSS field trip - should be posted on a blog as opposed to wiki
what goes on personal page on wiki vs. general l foss2serve wiki?
2.5 list of projects and evaluations and have people add to/edit that wiki page
Have the participants choose a project from the list of projects on the foss2serve wiki, and then put up their evaluation on that page (this will help build up the catalog of projects....)
Third two weeks:
3.4 - perhaps this should be presented as more of a brain storming activity and make it clear that these are initial thoughts based upon what the the participant has learned thus far
*** During stage 1 we need some type of question/answer period - office hours, email, piazza, list serv, etc.
Stage 2
pedagogy & accessment
student team management
class dynamic & organization
class roadmap
have people available on IRC to help with the download/install of project
should the order of the pre-workshop activites be re-arranged? for example, should if the field trip is open ended, should that come before the FOSS in courses activity where they focus on one?
1. Introduction – 60 minutes
Heidi
Cam
Mao
Joey
Learning objectives:
- Why Open Source
Productively Lost:
TODO: update to this link http://teachingopensource.com/index.php/Textbook_Release_0.8
http://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/ch-Foreword.html
http://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/sn-Foreword-Why_Traditional_Student_Projects_Are_Ineffective.html
- Understand terms:
- What is open source software
- optional video (Revolution OS - also available on Netflix Instant): http://www.youtube.com/watch?v=CjaC8Pq9-V0
- http://en.wikipedia.org/wiki/Open_source - Sections 1 History, 3.1 Computer Software
- http://en.wikipedia.org/wiki/Open_source_software - Sections 1-3, 5, 6
- http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain
- http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s11.html
- Discusses the foundation of Firefox which grew out of Netscape: http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s13.html
- http://en.wikipedia.org/wiki/Mozilla - Sections 1, 2.1
- Example FOSS Project: Firefox? (or leave for field trip)
https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla
Possible readings:
http://en.wikibooks.org/wiki/Open_Source
Intro to Mozilla course (Open source intro)
https://zenit.senecac.on.ca/wiki/index.php/Dive_into_Mozilla
6. Anatomy of a FOSS Project [formerly known as: "Intro to FOSS Projects and Dynamics"] - 60 minutes
Stoney
Peter
Darci
Learning Goal: Understand basic terminology used in open-source development
TO THE ACTIVITY DEVELOPER
- A directed walkthrough into a specific project. Participants answer questions engaging with terminology.
TO-DO LIST
- Pick project: Peter
- Gather links
- Draft walkthrough
- The idea here is to provide an introduction to the "landscape of a FOSS project". Introduce "major players" (well-known opensource projects?) and define
- major players (86?)
- Firefox - Mozilla
- GNOME
- Apache
-
- OpenMRS
- Ushahidi
- Sahana
- Mifos
- Sugar (one-laptop-per-child)
- HFOSS Project list: http://xcitegroup.org/softhum/doku.php?id=g:hfoss_and_oss_projects
-
- https://developer.mozilla.org/en-US/docs/Introduction
- https://developer.mozilla.org/en-US/docs/Developer_Guide
- key terms such as (use major players as examples to introduce these terms)
- What is a forge?
- Not all open source projects exist in a forge.
- The status of a project may be anywhere in the planning to mature stages.
- Regarding community - What major roles/teams exist within the project?
- releases: find version number system for project.
- code repository policies:
- packaging
- upstream (no artifact)
- downstream (no artifact)
- trackers: find the tracker
- tickets: look at some tickets
- roadmap, etc.: find the roadmap. How are releases managed? How
- major players (86?)
- First couple of chapters in "Productively Lost" ? http://teachingopensource.org/index.php/Textbook_Release_0.8
- Mel has a good overview of some parts in "Roadmap Merge" activity here:http://mchua.fedorapeople.org/posse/POSSE-booklet.pdf
Possible links:
http://en.wikibooks.org/wiki/Open_Source
Peter's Silly Attempt
- Pick a project: Lighttpd. http://www.lighttpd.net/
- Why? Small enough to get a handle on rather quickly (especially since they have a semi-documented plugin system http://redmine.lighttpd.net/projects/lighttpd/wiki/HowToWriteALighttpdPlugin so you can build a small piece before building a big piece), important enough since used on popular websites.
- Tracker/Tickets: http://redmine.lighttpd.net/projects/lighttpd/issues
- tracks both bugs and features
- ticket status from new to feedback to actual patches
- locates most issues in modules of architecture
- Roadmap: http://redmine.lighttpd.net/projects/lighttpd/roadmap
- outlines which issues are going to be fixed in which release of the project
- stratifies issues into what's going into the next release and what's going to be addressed (a lot) later
- release numbering is 1.4.concrete for next release, 1.4.x for issues that's not too far off and may lead to smaller architectural changes (but might never get fixed if things go badly), 1.5.x for their next architectural vision which will overhaul the entire project
- Upstream/Downstream: ?
- uses svn/bzr?
- general definition: upstream is where THE source for the project lives, what will get released; downstream is where YOU work and try to fix things; patches go from downstream to upstream, not sure how in lighty yet
- Releases: http://blog.lighttpd.net/ and http://redmine.lighttpd.net/projects/lighttpd/wiki/Releases
- announcements are here but where the plan is I don't know
- two tracks: release candidates vs. stable releases; candidates are testing fixed issues among a wider group of people, not recommended for stable deployments
- Code? http://redmine.lighttpd.net/projects/lighttpd/repository
- IRC: irc://irc.freenode.net/lighttpd
- Community: http://redmine.lighttpd.net/projects/lighttpd/boards
- prefers IRC and forums
- has mailing lists as well http://redmine.lighttpd.net/projects/lighttpd/wiki/MailingLists
Stoney's Ludicrous Attempt
- Project: Sugar Labs Project: http://sugarlabs.org/
- Tracker/Tickets: http://bugs.sugarlabs.org/
- Major Players: http://git.sugarlabs.org/teams http://www.sugarlabs.org/index.php?template=page&page=contributors_teams
- Forge/Repository: http://git.sugarlabs.org/sugar-base
- Release cycle / version numbers
- Upstream/Downstream: diagram with explenation
- Communication:
- Roadmap: ???
- Repository strategy: https://wiki.ushahidi.com/display/WIKI/Our+Git+Repository
Darci's Excellent Attempt
- Project: Sahana Eden - http://eden.sahanafoundation.org/wiki
- Tracker/Tickets: http://eden.sahanafoundation.org/report
- Major Players: http://eden.sahanafoundation.org/wiki/WikiStart#WanttoContributetoSahanaEden
- Forge/Repository: https://github.com/flavour/eden/fork_select
- Release cycle / version numbers:
- Communication: #sahana-eden Main Sahana Eden Channel;
Hilarious Talk about Free Software and Open Source (that my students liked, careful swear words): http://www.youtube.com/watch?v=UIDb6VBO9os
Aside: we need to come up with what a FOSS Roadtrip would be. Sounds like fun...
For Stoney: http://dl.acm.org/citation.cfm?id=1531692
Revi Sterling
------------------
ACM ICTD conference - held every 18 months; recently in Atlanta, next one in South Africa
Development organizations involved with ICTD program
Invenio (?) - based in San Francisco
Net Hope
World Vision
UN
Denver Public School District
ICTD Masters
http://www.colorado.edu/atlas/newatlas/masters/
- 10 per cohort - about 6 are tech background; rest social sci or military, but with world experience, e.g., peace corp
- Wide age range; some faith based motivations; heavily women; substantial international, esp. west asia
- Currently on third cohort
3 semesters in class; one semester field project
Class work: See: http://www.colorado.edu/atlas/newatlas/masters/curriculum.html
case studies
global dev I - about dev industry
global dev II - current trends in development
ICTD Lab - projects from NGO
quant and qual tools - in support of field work
3 grad tech courses; CS, telecomm, engineering
tech courses within the program, e.g., andriod; arduino
Policy/ econ course
Free elective
Just for reference, Revi's level of energy is amazing. :-)