Friday, October 29, 2010

Teaching Open Source Session at FIE Notes

Heidi Ellis provided overview of why to use FOSS

Mathew Burke from GWU says GWU has an adjunct led course in FOSS 8-10 students per session, but argues to spread it across the curriculum. Audience member argues for the single course approach for depth.  Burke replies that in the case for Ethics students think they are "done" with Ethics after the course.  Burke says perhaps the ethics angle is tangential and in the case of FOSS the issues can be integral across the computing disciplines.  Topics like rights, developer communication, across courses, can look at history, etc.  There are lots of places it can be fitted in without having to devote resources to a specific course.  Look at unit testing, support tools, shared editing and can add those tools to classes that do software dev.
Low hanging fruit is submitting homework using version control systems.  Benefits are...
1. they should be using version control and refusing to grade it unless its in there motivates them
2. indicates how willing students are to dive in to something new


Audience member adds in its a good block to plagiarism, but why does it have to be FOSS
Matt says because That's what the panel is about.

3.  Also useful to develop distributed work and development skills.
4. Opportunity to get students involved extracurricularly.  Cites GSOC as a good way to put classroom knowledge into practice and networking with other developers.

How do you decide what to deal with?  two categories...

A. Students look at code but don't join dev communities.  Look at actual, working code in DBs, large scale projects, etc.  Spinella says we don't expect people to learn how to write without teaching them to read, we should do the same with code.

B. Get them involved in a project and have them get involved in large scale development, what its like to work with large groups all over the world working on the same project

Heidi on her involvement in FOSS

Had a student leave the country and get involved in Sahana.  The former student encouraged them to get involved.  Found two students on independent study and got involved in Sahana to find out what the barriers might be and whether it would work for students.  The two students were successful and they had three more students get involved over the summer. By the send of the summer they were able to demo a volunteer management module for Sahana they built actively participating in disaster management sessions.

So FOSS began getting integrated into the class with successful students as mentors.  Have added Open MRS, medical records system, Ronald Macdonald House Volunteer scheduling, Hartford Public Library and Gnome Caribou Onscreen desktop better. HFOSS projects want student involvement.

Grading can be an issue.  Since's there's no guarantee of a "finished project" must grade on student working on process.

Cliff discusses projects and communities.  Size of teams can vary from 2-3 people to hundreds.  Second is how centralized the project is.  Some academic FOSS projects or commercial FOSS projects have on major team doing most of the work with some fringe external developers. Others are fully distributed.

FreeMind is an example of the first, Drupal the second.

FOSS 90% silent users and passive observers
9% do bug reports and feature requests
.9% test and patch
.09% developers
.009% core developers

I try to bring students through this model

1st they are users
2nd they study how the FOSS SW works
3rd Add minor enhancements
4th build significant components
5th Leverage to solve other problems

So like Matt said they learn to read before they write.  Then they make minor improvements

Greg Hilsop  Instructor Perspective

This is not a trivial undertaking for an instructor to get into it but its really rewarding.  If you like to run project courses this stuff can be a gold mine. Some cost of Entry but really high reward.  You gotta gear yourself up.  Not a lot of faculty to work with.  You need to take time to learn the culture and how it works.

Some undependability with people joining and leaving projects, etc so you give up some control
Some sources for instructors.

teachingopensource.org for community of peers and practice
POSSE, boot camp for Profs
fosslc.org FOSS Learning Center
softhum is a spin-off of fosslc

There are needs beyond core code.  Documentation testing, graphics, usability, etc.
Stop thinking about code and start thinking about community.

Mel Chua
Hands out slides on paper

Much of academia is about getting together face to face and one problem is difficult to figure out the structures and networks and community.

Open source is also about community.  What are the differences?

Academic communities very structured and formal, well defined procedures and hierarchies.
Open Source communities are the opposite  Do you know how to get somewhere or do you know where you want to get

OS communities are terrible at scaffolding.

Sebastian talks about Matt Jaduad immersing students in Open Source.  People in Open Source communities are always looking for help.  Students are attractive as they're likely to be consistent members for at least the time of their classes.

Mel says students and professors don't have to be skilled but they have to be willing to learn.  FOSS communities also like students because they know there'll be profs or other sources of support on-site beyond the distributed dev community.  IF you're in school you have a process, but you may not know what the product will be.  In FOSS you have a product but you don't know what the process will be.

Academics expect all the pieces for support within FOSS projects that are supposed to be there should be there.  FOSS communities know that it's likely big pieces of those documents are missing.

FOSS does provide the opportunity for an apprenticeship style of learning and growth.

Q and A time

Audience: Something that didn't get covered was IP, I don't tell them about Open Source.

Heidi says yes it's an issue.  Some people ignore it, some people say it's licensed
Stephen Jacobs says it's a mix. Students own their homework
Audience member says Since his university says students own their thesis, so he says they should own their homework.
Greg says his institution agrees with RIT
Audience member says European Universities are different
Mel says the Humanitarian issue is also useful for HFOSS projects as a block to university IP issues.
Heidi says the issue is lurking.  Involving students in Open Source is evolving
Audience member says at the HFOSS symposium some Universities are officially creating policies to address this.  It's a slow process and must involve faculty senate and other groups. Faculty have to be determined to make the change.
Audience member says may be different at state universities as the IP may be owned by the state.  For people in those situations they might want to work with their university technology offices before the class is offered
audience member says don't ask, don't tell

New comment.  There's a lot of overhead in doing things across the curriculum.  Getting faculty up to speed, getting students into the culture of the specific project, especially if its peripheral
Greg  Depends on the students. I do FOSS field trips.  I ask DO you use Mozilla, etc?  They say yes, but they don't know how those products emerge.  So I'll give them a list of projects and observe how the dev communities work.  Lots of ways to show them
Mel says there's the overhead of getting faculty involved, POSSE can help with that.  That helps with the first one.  With the second one Red Hat's release cycle is 6 months so we're good at getting people up to speed rapidly.
Greg says it's kinda like looking your second and third programming language.  You can also scaffold things.  If you pick a task and being the interface in-between they don't have to get deeply immersed
Heidi says we're adding keyboards to an open source application.  Its in python, we don't know python, but the keyboards are in XML and we know XML.
Matt says I do a lot of consulting as a software developer and you need to develop the skills to start working quickly in something you've never seen.  You don't want to set students up to fail all the time but some of these barriers are not only a downside.
Greg agrees and says picking your projects carefully is important
Mel says watching a prof get lost in the beginning of a project with you is also instructive.

How variant are the methods of working with the communities.  Do most of them use the same basics? Do you have communities you'd recommend that folks get started in?

Clif.  No ones done an ethnographic study but I like getting them involved in things like the content management systems where they can get involved with modules and projects
heidi.  I have them look at the communications first and and find the list serve, meetings, etc.
 Plugs TOS Textbook.  It's evolving but has small projects around many of these issues.
 Matt points to Mel's post on Teaching Open Source in going through a community and she went through it.
Greg points to the FOSS Field Trip concept.

Audience member is trying to survey FOSS Managers.  efg@ncsu.edu  If you'd like to cooperate with me on that survey please get in touch.  I have a Jan 1 Deadline.  Would also like to cooperate on software for managing open source projects in classes

Audience Member  I came in late, how is this being used in curriculum

Greg and Heidi, Freshmen to grad, capstone projects, independent studies,  full courses, courses across the curriculum etc.

Textbook link on teaching open source is shown.  Downloadable as a pdf. It's open content on a wiki and run as an open content project.

Mel shows blog posts from POSSE SA  This is the documentation of the thought process in analyzing sakau

Sebastian shows POSSE web site and explains what POSSE is.

Session Breaks

No comments:

Post a Comment