Lesson 4

Motivation & Communities


Newcomers frequently wonder why others work on FOSS projects. Their willingness to use and advocate for FOSS may be eroded if they don’t believe their FOSS projects will survive. This lesson addresses the motivators for investments of time and energy that make FOSS projects succeed. We’ll look at how you can make a contribution with or without programming skills, and how to connect with those who are involved.

“FOSS fosters education. For the persons contributing to it, and for the persons consuming it. The threshold for a user of FOSS to become a contributor is extremely low – if we consider the different forms of contribution possible. Given the right language, it isn’t hard for a domain expert to become a contributing developer.”

– Phillip Tellis, on Why Foss in Education makes sense

The lesson addresses these topics:

  • Human Motivation
  • Motivation for FOSS Contributors
  • Finding FOSS applications and evaluating project activity level
  • Connecting and Contributing in F/OSS Communities

Advanced Organizer

During the lesson, look for answers to the following questions

  1. Under what conditions do rewards lead to better performance?
  2. How does sense of purpose relate to motivation?
  3. How can FOSS development help with career and business contacts?
  4. In the FOSS world, what are some indicators of sustainability?
  5. How does extrinsic motivation differ from intrinsic motivation?
  6. What profile was typical of FOSS developers in Lakhani and Wolf’s 2003 study?
  7. What were the top 3 motivations expressed by Sourceforge developers?
  8. How can a non-programmer contribute to a F/OSS project?
  9. Why wouldn’t Facebook chat or Google chat work as well as IRC for real-time chat service?
  10. How can you reach other LibreOffice users in real time to ask questions?

Walk-through

1. Watch Dan Pink’s Drive: the surprising truth about what motivates us (Youtube, 10:48)

Dan Pink’s discussion of the research on human motivation reveals interesting ties to FOSS development. Where creativity and problem-solving are required, quid-pro-quo compensation doesn’t work well. Autonomy, mastery, and sense of purpose do – and FOSS contributors report these very attributes when working on FOSS projects!


2. Read: Why Hackers Do What They Do pp. 1-24

This study examines the types of motivations expressed by developers of SourceForge.net projects. The authors first review three types of motivation: enjoyment-based intrinsic, community-based intrinsic, and extrinsic. Look for substantiation of Dan Pink’s discussion.

For Discussion:

  • How does compensation rank in the motivations expressed by the developers?

4. Read the Xubuntu project leader’s blog on Why do I contribute to open source?

Pasi Lallinaho, a 27-year old geek from Helsinki, Finland briefly explains how he personally benefits from his work on a FOSS project.


5. Review Sourceforge

FOSS communities need online hubs to facilitate communication, code development, bug tracking, announcements, and other communication. While some projects build independent sites, there are several central, useful sites from which to build a FOSS project, or to find existing FOSS projects.

Sourceforge.net is an online development hub for FOSS, billed as the place to find, create, and public open-source software for free. It provides hosting and a range of tools for managing projects. It is an excellent place to begin a search for FOSS you might need for a specific educational purpose. Note that it is only a starting point – many FOSS projects host elsewhere. If a project you’re interested in does host on Sourceforge, however, you can get a fair idea of how active the development community is by looking at reviews, download statistics, current bugs, and most recent releases. Sourceforge may also provide recommended projects to explore based on your search. For instance, looking at the Sakai website suggests other FOSS learning management systems such as Claroline and Moodle (but does not suggest Canvas, which hosts on github instead)


6. Review Software is Social: Why its not all about programming

Scott Wilson, of University of Oxford and OSS Watch, discusses how software development is a social process, and provides a few insights into how you can get involved.


7. Read A Guide to Participating in an Open Source Software Community

Community is about communication with real people, even if you never meet face-to-face. This guide provides great advice on engaging with project communities. A first foray into a F/OSS project “can be both difficult and scary. However, most quickly realize that it is well worth the effort.”

Activity

Internet Relay Chat icon/I-R-C/ n. [Internet Relay Chat]

IRC is old school, but rock solid and in use world wide by FOSS developers (and others). IRC provides a way of communicating in real time with people worldwide. It consists of various separate networks of IRC servers. IRC is similar to text messaging, but designed for communicating with large groups of users vs. one-on-one. (irchelp.org) Each network host various IRC channels, each devoted to its own topic. Channels devoted to discussion or support of FOSS are great places to get help if you have questions, or want to meet other users.

Prepare for IRC

  1. Read Introduction to ChatZilla. There are many IRC clients available; we’ll use Chatzilla as an easy, open source, cross-platform client to standardize this activity.
  2. Install the ChatZilla Add-on for Firefox. (Install Firefox first)
  3. Read: Getting Help on IRC, to understand IRC etiquette

Some basics about IRC:

  • Users assign themselves a nickname, or “nick”. It can be changed at any time.
  • The input line can accept either messages to the channel or commands, which are preceded by a /.
    • For example, “/nick AgentSmith” changes your nickname to AgentSmith (you’ll get an error message if another user has already specified that nick).
  • Many actions can be handled via a command or through Chatzilla’s GUI.
  • You can join multiple channels simultaneously. Their tabs appear under the chat window and above the input line.
Chatzilla Screenshot

In this screenshot, user Paul5 is connected to the freenode network and has joined two channels. The current channel is #ubuntu.

Try Out IRC

  1. Launch Chatzilla and connect to the Freenode network.
    1. Chatzilla appears in the Firefox Tools menu, or you can type “irc:” in the address bar to launch it.
    2. Click on “freenode” in the list of available networks, or choose it from the IRC | Join Channel menu.
  2. You’ll be assigned a nick, which you can click on to change (or try it using the command “/nick”
  3. Use IRC | Join Channel to search for interesting topics on FOSS. Try searching for channels related to the FOSS applications you’re interested in. #libreoffice or #ubuntu are interesting, active places to listen.
  4. Try using “/whois” command followed by your own nick.
  5. Join 3 channels and listen in for an hour – join the discussion if you wish.

Assignments

Test: Module 2

You will find the test in Laulima, under the Tests tool.  Tests are timed, and allow only one submission. Cooperating on test responses is prohibited, and evidence of cheating will be addressed through the UHM Student Code of Conduct. Study well, and good luck!

Additional Material

  1. Contributing to Free Software projects -as a non-programmer
  2. 20 Years of GNOME project (2017) – a community exemplar
  3. Comparison of IRC clients
  4. Essential Tools for Running a Community-led Project
  5. Sustainability in Open Source Software Commons Sustainability of a FOSS project refers to the likelihood of continuation and success over time. Even commercial products have finite life-spans, but we tend to assume that a corporate developer insures that products will continue. This study examined FOSS projects at sourceforge.net. The author confirmed prior literature, concluding that
  • A primary motivator for FOSS participation is user-centric need – “Developers participate because they themselves are users of the software or because the organization they work for depends on it”
  • Some participate to learn from reading others’ code while developing the software, and
  • Others do it as a leisure activity
  • Where developers have multiple motivations for participation, projects were found to be more successful.
Back To Top