[TOS] An experience report....

Karsten Wade kwade at redhat.com
Sun Sep 4 20:13:59 UTC 2011


On Sun, Sep 04, 2011 at 07:13:27AM -0400, Heidi Ellis wrote:
> Hi Folks,
> 
>  
> 
> Let me start by saying that I'm torn. In the spirit of being open, I was
> going to blog these thoughts. But upon reflection, I decided to post them to
> this group. I want to use my experience to highlight problems that I think
> are major roadblocks for instructors teaching open source, but I really
> don't want to discourage instructors who may read my blog. I also want to
> state that I'm posting problems for which I don't really have any answers. 
> 

I think this is a perfect use of the supportive community you are
in. Perhaps from these discussions come solutions, or at least
something to make your eventual blog post lest scary to read. :)

You also have an immediate need for a solution, so I'm going to try to
give some immediately useful suggestions. At the minimum, let's set
ourselves a goal of getting you a few ideas of how to proceed by
Monday afternoon.

> I am teaching a software engineering course this fall. I was approached by
> the GNOME Assistive Technology community with a cool project involving
> magnification of video using Cheese. I decided to explore the project and
> initially my concern was lack of knowledge about how video is processed. The
> platform for Cheese is GNOME 3. Note that I wrote my dissertation on Unix
> and have had some form of Linux on VirtualBox for two years now. I wouldn't
> call myself a Linux expert, but I am relatively knowledgeable. 
> 
>  
> 
> So here are the roadblocks. The first is time. I spent at least 80 hours in
> August trying to get VirtualBox on XP to host Ubuntu 11.04 with GNOME 3.
> After countless installs and uninstalls of VirtualBox and Ubuntu and lots of
> banging my head against the wall, someone from the GNOME A11y community
> kindly pointed out that Ubuntu and GNOME 3 don't play well together.  OK,
> time to retrench.
> 
>  
> 
> I have now spent some 20 hours installing a Fedora 15 guest on VirtualBox.
> This only required four different install attempts, but I have at least been
> successful. I've also spent four hours installing Cheese and I still haven't
> been successful. Panic is setting in. 

The other comments about setting yourself time limits to success, then
punt and move on ... that is a sound method.

What I instantly saw here was the pile-on of communities with you
required to be the central authority - for yourself, for the class,
etc. When we've worked with student classes in Fedora, such as within
the Docs Project, we've tried to assign a mentor who is that
authority. That's who you appeal to when 15 minutes to an hour doesn't
solve what you are looking for. Writing a document can include using
MediaWiki, DocBook XML, and the Publican toolchain. Getting the
students a working writing environment was a challenge the mentor had
to work through. It all would go better if that work was done with the
instructor first, then repeated with students but the instructor
having been through it.

At this point, my temptation is to tell you to run away from the
Cheese effort. I might have recommended that at the 1/2 week-spent
mark. The problem is that once you have it working for you, you have
to duplicate that with students where the problems may continue to
multiply. Video in a virtualized environment, wow.

> 
> The second roadblock is lack of concrete directions. Let me explain. I have
> found FOSS communities to be very supportive within that community. However,
> what I'm trying to do is get a variety of applications from different
> communities to play together. I got my original idea for the project from
> the A11y community. In order to get as far as I did with VB/Ubuntu/GNOME 3,
> I had to join the VB community, interact with both the Ubuntu and the GNOME
> communities. I am also interacting with the Cheese community to get that
> installed. I have also spent many hours Googling my specific problems. While
> all of these communities have been helpful, many of my questions remain
> unanswered.

For right now, you could switch to a web app at a relatively low cost
effort. For example, you could use a no-cost platform-as-a-service -
(PaaS) such as Red Hat's OpenShift Express http://OpenShift.com - and
load up a Java, Ruby, PHP, Perl, or Python FOSS app

To work more meaningfully (at a deeper technical or social level) may
require you to continue spending time in one or several communities. I
look to how OLPC and Sugar Labs have coalesced a number of project
upstream bits under a single umbrella with room to grow more under
there. That gives Stephen a place to continue getting more for his
investment, year over year, with the same being true for his classes.

So GNOME A11y could be a great group to do that with, it just might
need more time. You may also want to look for some way to start with
them that doesn't require so many layers (VM + OS + quite-fresh-GNOME3
+ Cheese).

> 
> The third is changing application during development. I want my students to
> be able to make a contribution to a FOSS project. In order to do so, they
> must be working on the most recent version of the product. However, this
> means that I can't stabilize the application before class starts, creating a
> risk that I'll be trying to teach students with an application that I can't
> get working. In addition, Updates tend to break things, requiring more time
> to figure out what to fix. 

Being closer to upstream can only help here.

The key I think to that whole paragraph is at the end, the tendency
for things to break on updates. Each project is going to do this
differently, but that really shouldn't happen with the same
frequency. I would hope that closer interaction with upstream would
help here, so they can warn of changes landing in the HEAD that might
break things.

If things do break, isn't that part of the FOSS contribution
experience? Even if it's right at the start, it creates in instant
chance to contribute - spend 15 min working on it, get backtraces,
file bug reports, go on IRC - all in the class it happens in.

The more you and the class know the codebase, the easier it will be to
make breakage from updates part of what you do. Perhaps plan for that
to happen? Being pleasantly surprised when it doesn't ...

> OK, so I am now starting my second week in the semester and I have a working
> platform, but have been unable to install the application that I want
> students to use and get it running. In addition, I haven't had any time to
> work with the actual application. I consider myself more tolerant of risk in
> teaching than many of my peers and much more likely to let students learn in
> an environment where I don't know the answers than most of my peers. This is
> definitely panic time!!!

Can you punt for a different application? Preferably a web app?

Is there something you can punt for that is bundled under an umbrella
where you can get some mentoring? For example, the Fedora Project? Or
with an upstream that has its act together, such as Wordpress or
Drupal?

> These are some of the reasons why instructors get a text and follow the
> exercises at the end of the chapter and have students work on toy projects.
> And I find myself pondering where to go from here. Without any way to know
> how much more time and effort it will take to get Cheese to work, I can't
> tell whether to risk continuing. If I don't continue, what do I do for a
> project? I don't have time to handle the learning curve for a new FOSS
> project.. 

Is there a way to scale back to what is working? Something A11y just
within a working GNOME3?

For that, you can use the distro resources (users at fedoraproject.org,
#fedora, and lots of personal connections) to get help with ANYTHING
that arises. The distros try to work out these integration issues
directly and with the upstreams, so they are your advocates.

Perhaps we could look for upstream mentors that can work better with
you? Not to knock anyone you've worked with, but there might be a few
other people around the Fedora Desktop team who could be bribed in to
being on hand for the semester, and would love to see the additional
work for GNOME3.

> It is not my intent to deter folks from involving students in FOSS. Quite
> the opposite. But I also think that if we don't identify and find ways of
> handling these sorts of issues, We won't be able to get more instructors on
> board. 

I'm also concerned that our best practices after these several years
are still not captured in a useful way. Maybe we can take a direct
approach of aggressively writing wiki articles with an agreed upon
taxonomy (categories)? Something that can grow, but with processes to
reveal to other authors AND readers what is going on, where to find
what is there, and how it all can fit together. Something
knowledge-base-ish.

- Karsten, so enterprisey it hurts
-- 
name:  Karsten 'quaid' Wade, Sr. Community Gardener
team:   Red Hat Community Architecture & Leadership
uri:             http://communityleadershipteam.org
                        http://TheOpenSourceWay.org
gpg:                                       AD0E0C41
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.teachingopensource.org/pipermail/tos/attachments/20110904/59097ca0/attachment-0001.asc>


More information about the tos mailing list