Opportunities in Open Source

Prepared as notes for a presentation to the ACCEL team, September 2009.

I am interested in providing authentic learning experiences for my students that translate into real-world opportunities. This summer, I had the opportunity to see new ways that I might engage as faculty in Computing with students and the college in a timely, cross-disciplinary context.


Background

During my the summer I had the opportunity to join seven other faculty at Red Hat HQ for a one-week workshop regarding the use of open source software projects in the academy. 

RED HAT ] A Fortune 500 company. They sell services surrounding Linux.

LINUX ] An operating system, which makes it like Windows. A critical difference is that Linux is written by (literally) tens of thousands of volunteers around the planet.

OPEN SOURCE ] Software (or other content) for which the code (or original source) is freely available. See also the CREATIVE COMMONS.

The workshop was called POSSE (Professors' Open Source Summer Experience). We worked with engineers at Red Hat as well as faculty from institutions around the world, learning the tools and community processes that surround open source projects. The revelation for me was that these large, open source projects (Firefox is an excellent example) are not just about code: documentation, PR, and many other aspects of their operation are managed in an open manner.

OPEN ] An open project is one which outsiders can join simply by contributing and adhering to the processes described for participation.

DOCUMENTATION ] The manuals, web pages, and other written materials that support the use of a piece of software.

PR ] Public Relations; fliers, advertisements, web pages, press releases, articles, and other material that support the promotion of a project.

Open Source as Service

Contributing to open source projects is fundamentally an exercise in community service. However, very real skills must be developed to take part in these projects. Contributors must:

  1. Learn to communicate with the community. Some projects make heavy use of wikis. Some use weblogs. Some use IRC (think AIM chat, but with lots of people at the same time). Yet others rely heavily on mailing lists. Any participant must communicate using the tools of the community they are joining.

    WIKI ] A website that can be easily updated within the web browser.
    WEBLOG ] An on-line journal of thoughts and ideas, typically chronological.
    IRC ] Group chat. Like AIM or Facebook Chat, but with lots of people at the same time.

  2. Learn the tools of the community. Some communities use bug tracking tools to focus all of their efforts. Others use to-do managers and wikis. Most use some kind of tool for tracking changes. In all cases, it is up to the participant to use the tools of the community if they are going to participate fully.

    BUG TRACKER ] A special tool that allows people to track errors in documents, and keep track of whether anyone is working on fixing the problem. Also called a TICKETING SYSTEM or PROBLEM REPORTING SOFTWARE.
    TRACKING CHANGES ] In the community, often called "version control." Many specific tools (RCS, CVS, SVN, git, hg) are referred to, but they all mean "something to track incremental changes in a project."

  3. Contribute. Communities value participation. If you don't contribute, you're not a member of the community.

  4. Listen and learn. While it is important to contribute, it also matters that you have paid attention to the community, the discussions, and learned from them.

    DISCUSSIONS ] Also sometimes called ARGUMENTS, FLAME FESTS, or DEBATES. Every community has a different feel. Some are very direct; others, more warm-and-fuzzy. However, time is precious: most are concise to the point of critical—if you're not used to that kind of on-line environment, that is.

My point in sharing this list is to underscore a point about authenticity. Getting involved in open projects is not very different from the kinds of activities that take place in the workplace today. Electronic communication and collaboration are new foundational skills for our students, and we rarely address them in the curriculum. Taking part in open software and documentation processes provides students with opportunities to learn in real-world contexts. (Not to belabor the point, but when Red Hat is hiring software engineers, candidates must be able to point to open source projects they have contributed to in the past. If the candidate cannot, they probably will not get past the first round of review in the hiring process.)

Looking Forward

My goal in talking with ACCEL is to discuss ways we might leverage my experiences at POSSE here at Allegheny College. Talking with the team at ACCEL feels like a natural starting point for discussing the opportunities that exist in this space, and ways we might collaborate on going forward to pursue those opportunities for our students.

Creative Commons License This work is licensed under a Creative Commons License.