Intro to IRC (Activity)

From Foss2Serve
Revision as of 20:23, 30 July 2015 by Glikins (Talk | contribs)
Jump to: navigation, search
Title Introduction to IRC
Overview Learners will gain a basic understanding of IRC (Internet Relay Chat) as well as the role that IRC plays in open source software development. Participants will learn about IRC etiquette and explore the interactions that occur between members of an open source community.
Prerequisite Knowledge None
Learning Objectives 1) Understand the importance of IRC as it relates to open source software development, 2) Become familiar with the interactions that occur in an IRC channel, 3) Learn how to connect to an IRC server and join a channel.

Background:

IRC, which stands for Internet Relay Chat, is an essential tool used by open source software developers. It allows members of the community, or those interested in becoming involved in the community, to communicate 24/7, regardless of their geographic location. IRC is much like Instant Messaging with a group.

Bear in mind that ‘talking’ is not always a requirement. You will learn a great deal by ‘listening’, especially in the beginning. When you join a channel, it is not necessary to identify yourself or to say hi, you can simply 'lurk'. Feel free to ask questions, and note that it is not necessary to ask first if you can ask a question.

Other IRC resources: http://www.irchelp.org; http://teachingopensource.org/index.php/IRC

Directions:

Part 1 – Walk through of IRC Conversation

Download this sample IRC Conversation

This conversation is part of a meeting being run with a meetbot. A meetbot is a type of "bot" (or program that simulates a human activity) that works in IRC channels to help take notes for a meeting. Note the dark green entries in the conversation that begin with a hashmark. These are meetbot commands.

  • The first line of the conversation shows "darci" starting the meeting.
  • "totally" is the name of the meetbot.
  • The #topics command sets the topic of the conversation and is one of several commands.

As you review the conversation, you should:

  1. Pay attention to the interactions that occur between community members.
  2. Ignore the technical terms.
  3. Accept that the content may be beyond your understanding at this point, your first step in being productively lost.
  4. Place your answers to the following questions on your wiki page:
    • How do people interact?
    • What is the pattern of communication?
    • Are there any terms that seem to have special meaning?
    • Can you make any other observations?
    • Bonus question: Why didn't Heidi and Darci's actions get picked up by the meetbot?
  5. Now look at the results of the meetbot. This shows you how each meetbot command is formatted into a legible page that summarizes the meeting. Some additional formatting may be needed, but it certainly provides a great starting point. Here's a link to the final version of the meeting notes.

Part 2 – Installing and Starting an IRC Client

There are many IRC clients to choose from, below is a brief list of suggestions:

  1. Windows: HydraIRC (http://www.hydrairc.com/)
  2. Linux: Konversation (http://konversation.kde.org/) or Pidgin (https://pidgin.im/)
  3. Mac OS X: Colloquy (http://colloquy.info/)
  4. Firefox add-on: ChatZilla (https://addons.mozilla.org/en-US/firefox/addon/chatzilla/) is a multi-platform add-on that will work on Windows, Linux and Mac OS X

For example, if you have Firefox running, follow these steps to add ChatZilla.

  1. Click Tools from the main menu and then choose Add-ons. The Get Add-ons tab should be selected on the left. If you don’t see the main menu, click the down-arrow next to the Firefox button in the upper, left corner, hover over Options and select Menu Bar.
  2. Type ChatZilla in the search box found in the upper, right corner.
  3. Click the install button to the right of the ChatZilla add-on. Note that ChatZilla is available in a number of languages, so be sure to select the appropriate one.
  4. Restart Firefox.

Note that in some cases an institution may block the IRC port or you may be in a location where that port is blocked. In such cases you may want to use a web-based client:

  1. Kiwiirc, supports the freenode server and you can access the foss2serve channel from here. - https://kiwiirc.com/client/irc.freenode.net/
  2. Mibbit, allows you to connect to a variety of servers. - http://www.mibbit.com/

Part 3 – Join and Observe Channel Discussion

  1. Select an HFOSS project from the list of HFOSS projects (or use the project that your class is working with).
  2. Join the project's channel and observe the discussions that occur for 24 hours.
    • For example, you can join the Foss2serve channel by issuing the following commands.
      • Connect to the server via the command: /server irc.freenode.net
      • Join the foss2serve channel via the command: /join #foss2serve
    • You might find a list of IRC commands for the novice helpful. And a more complete list may be useful as you become used to IRC.
    • Note that depending on the project, its size and the amount of activity on a project's channel, it may be necessary to determine an appropriate day for this observation. You might attempt to determine when the developers meet and schedule your observation for this day. You can join the channel and identify yourself as _afk (away from keyboard, for example joe_afk using the /nick command). When you return the following day, you will be able to observe the communication that occurred during the previous 24 hour period.
  3. Summarize your observations (of your selected HFOSS project) on your faculty wiki page.
  • Note that many of the POSSE and OpenFE team hang out in the foss2serve channel throughout the day:
  1. Connect to the server via the command: /server irc.freenode.net
  2. Join the foss2serve channel via the command: /join #foss2serve
  3. Come join us!!!

Deliverables:

Students will deliver:

  1. For Part 1, their observations/answers to the following questions:
    • How do people interact?
    • What is the pattern of communication?
    • Are there any terms that seem to have special meaning?
    • Can you make any other observations?
    • Bonus question: Why didn't Heidi and Darci's actions get picked up by the meetbot?
  2. For Part 2: nothing to deliver, should have successfully installed IRC client
  3. For Part 3: observations of the chosen IRC channel (either from chosen HFOSS channel or from project channel)
  4. For Part 4: a list of at least 5 commands that will work in the channel they have chosen, and what they mean.

Assessment:

Grading can be based on: 1) Obtaining a correct answer for the license *and* 2) Identifying the rationale for choosing that license.

Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
Choosing the correct open source license 0-2 correct answers 2-4 answers correct, with valid reasoning (or more answers correct, but without valid reasoning) 4-5 answers correct, with valid reasoning All answers correct, with valid reasoning.

Comments:

  • This activity can be completed individually or in small groups.
  • For several of the questions, there may be more than one license that will work (legal stuff = not always simple ;-) Encourage your students to choose the simplest possible answer that they can find from among the commonly accepted open source licenses (the ones listed at Choose A License are a good start).
  • If students have different answers you can have a discussion about what factors led to each choice.
    • For example, if one student chooses the MIT license and another chooses the BSD license), it could be that the student who chose the MIT license did so because he/she noticed that the MIT license explicitly grants permission to *sell* the software, while the BSD license doesn't.

Additional Information:

Knowledge Area/Knowledge Unit find
Topic find
Level of Difficulty Is this activity easy, medium or challenging?
Estimated Time to Completion 60-75 minutes
Materials/Environment Internet access, a Web browser and an IRC client.
Author Darci Burge, Heidi Ellis & Gina Likins
Source Communication and Community
License This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License


Suggestions for the Open Source Project:

It would be helpful if your project had some explanation of it is licensed the way it is. Also, if there's someone in your community who has experience with choosing licenses for projects that would be willing to speak with the class (via Skype or IRC) that would be a great thing to offer.


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png


Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox