From Fedora Project Wiki

Explanation

The chat below was completely unscripted - I overheard it in the #teachingopensource channel and thought it made a fantastic example of a good first conversation between a new FOSS contributor and an experienced one who happens upon them and tries to get them started.

For newcomers: Notice now newbie|2 got lucky and found KarlieRobinson by accident - this is the sort of person that you're looking for, and your first job is to keep on trying and asking and looking until you find one and have a conversation similar to this. A few notes:

  • This sort of person may or may not be in the IRC channel you first happen into; you may have to try multiple times over several days.
  • They won't know you're in the channel unless you speak up and ask for help, so talk! You're not interrupting anything or wasting anybody's time - in fact, if you don't speak up and let us know you're here, we can't see you're here to help you, so you help everybody (including you) not waste their time by speaking up and letting us know what we can do.
  • Ask for help on something specific (newbie|2 didn't do this, but it would have accelerated the conversation if he/she had, because KarlieRobinson would be able to point them directly to a mentor instead of spending time asking what they were interested in), and say you're new and trying to make your first contribution to open source!
  • People may not respond immediately. Look at the timestamps: newbie|2 asked at 10:59, but KarlieRobinson was the first to see their message 14 minutes later (this is unusually fast). We may have the chat window open, but be working in another terminal on our computers, so it might take some time for the first person to respond. A good rule of thumb: if you don't get a response within 15 minutes, ask again. If you don't get a response to that within 15 minutes, try another channel or another day.

For mentors:

  • Keep an eye out for new people in a channel - they often don't have any context as to how open source projects work, how they could contribute, question-asking strategies, etc. Gently educate and point them towards resources, and reassure them they're doing the right thing by asking - to a newcomer, "oh, read this" can sometimes sound like "stop wasting our time and asking questions" (see also RTFM) rather than the "we're so glad you asked - I'd like to help - why don't you check out this link, and welcome to the project!" we intend.
  • Keep in mind that this person might be new to IRC as well - things we consider "simple commands" such as joining another channel, sending a private message, etc. may not have been learned yet, and the simple act of being in an unfamiliar environment using new software (with a strange interface compared to most other text chat programs today!) surrounded by people you've never met can already be pretty intimidating.
  • Reassure! Reassure! Reassure! If a newbie does something right, tell them -- they may not know they're doing it correctly! If they do something wrong, tell them -- and let them know that people won't expect them to know all these little cultural details right away, and point them towards places and resources where they can pick more up.

The chat

  • 10:59 < newbie|2> anybody willing to tell me how to start contributing to open source?
  • 10:59 < newbie|2> I am a CS student
  • 10:59 < newbie|2> proficient in C
  • 10:59 < newbie|2> some easy project to start with is what I seek
  • 11:13 < KarlieRobinson> still hanging out newbie|2?
  • 11:17 < KarlieRobinson> I can't stay long so let me answer as best I can.
  • 11:17 < KarlieRobinson> start here User:Webpath/FOSSWelcome
  • 11:17 < KarlieRobinson> it will give some basics on what might happen once you're involved
  • 11:17 < KarlieRobinson> second, what kinds of things interest you?
  • 11:18 < KarlieRobinson> Most contributions happen by simply finding something you use or would like to use and submitting code to either fix a bug, add a new feature or other reason
  • 11:19 < KarlieRobinson> newbie|2: what school are you at?
  • 11:21 < newbie|2> KarlieRobinson: Thank you for answering
  • 11:21 < KarlieRobinson> NP
  • 11:21 < newbie|2> KarlieRobinson: I am at Univ in Tokyo
  • 11:21 < newbie|2> sorry for my bad English
  • 11:21 < KarlieRobinson> I was just about to shut down for some lunch but checked in here first
  • 11:21 < newbie|2> I will check the link you sent me
  • 11:22 < KarlieRobinson> no problem, native english speakers aren't the norm in a world wide effort like foss,
  • 11:22 < newbie|2> really? this is new to me
  • 11:23 < KarlieRobinson> We might use english, but I can see at least 3 people in the list for just this room that English is a secondary language
  • 11:23 < newbie|2> how can you be so sure
  • 11:23 < KarlieRobinson> I know them
  • 11:24 < newbie|2> :)
  • 11:24 < newbie|2> where should I go to the link you sent me
  • 11:24 < newbie|2> design? documentation?
  • 11:25 < KarlieRobinson> If I spoke their language as good as they speak mine I might get worried - but I don't, so whatever english you have, it's just fine with me
  • 11:25 < KarlieRobinson> What I would suggest is you think about a software you use
  • 11:25 < KarlieRobinson> or would like to use
  • 11:25 < newbie|2> thank you. My written English is good but spoken is daame (Japanese for not good)
  • 11:25 < KarlieRobinson> From there, poke around in the code and see if there is something you can fix
  • 11:25 < newbie|2> you mean in the sub-project directory?
  • 11:26 < KarlieRobinson> If the problem is that you don't have documentation, then write it
  • 11:26 < KarlieRobinson> maybe translation would be a good place for you to work in too, but it's all going to be more exciting for you if it's software you like
  • 11:26 < newbie|2> I guess you are right
  • 11:26 < KarlieRobinson> All Open Source code is open so you can look at it
  • 11:27 < newbie|2> not interested in translation right now
  • 11:27 < KarlieRobinson> That's fine, it's more important that you find something you'd like to do
  • 11:27 < newbie|2> ok, so basic idea is search for project you like
  • 11:27 < KarlieRobinson> that's what makes the community development process so unique.
  • 11:27 < newbie|2> and then contribute to it
  • 11:27 < KarlieRobinson> Yes
  • 11:28 < newbie|2> and I can browse the projects under sub-projects?
  • 11:28 < KarlieRobinson> is there something you use daily, like Fire Fox, a Linux OS, or something else?
  • 11:28 < newbie|2> I use firefox and linux everyday
  • 11:28 < KarlieRobinson> Yes, but you can also go to places like... let me get a link for you
  • 11:28 < KarlieRobinson> http://openhatch.org/
  • 11:28 < newbie|2> great!!! arigato gosai mashita (thank you very much!!)
  • 11:29 < KarlieRobinson> At OpenHatch, you can find jobs that need to be done for a variety of projects
  • 11:29 < KarlieRobinson> you can even list yourself as a volunteer to help with projects
  • 11:29 < KarlieRobinson> Some might be world-wide, and others might be local to you
  • 11:29 < newbie|2> but what if the project is too big
  • 11:29 < KarlieRobinson> It's ok to be a little lost in the mix,
  • 11:30 < KarlieRobinson> most of us are
  • 11:30 < newbie|2> and I do not have the skill set for what they ask (but because I am interested and I have no idea about the contribution), I just say yes to whatever that comes along my way
  • 11:30 < KarlieRobinson> think about some small part you can contribute to, and limit your scope to keep from being overwhelmed
  • 11:30 < KarlieRobinson> It's a great way to learn
  • 11:30 < newbie|2> that sounds like a good advice
  • 11:30 < newbie|2> :)
  • 11:30 < KarlieRobinson> If a problem takes you more than 30 minutes, go ask for help
  • 11:30 < newbie|2> ok
  • 11:31 < KarlieRobinson> there are plenty of people out there who can help you or point you to the info you need to be productive
  • 11:31 < newbie|2> searching openhatch right now, do you recommend any project
  • 11:31 < KarlieRobinson> even if we are a little slow answering IRC
  • 11:31 < newbie|2> some project you are familiar with?
  • 11:31 < KarlieRobinson> let me look - brb
  • 11:32 < newbie|2> haha!! I had given up hope :) your reply was like rain for Shara
  • 11:32 < KarlieRobinson> Most of the projects I"m working with at the moment are written in python
  • 11:32 < newbie|2> I am learning python, I can contribute
  • 11:32 < KarlieRobinson> I'm working with a group at the Rochester Institute of Technology in Rochester NY USA
  • 11:32 < newbie|2> but do not expect much :)
  • 11:32 < newbie|2> wow
  • 11:32 < KarlieRobinson> they are making math software for Sugarlabs.org and OLPC
  • 11:33 < newbie|2> one laptop [er child?
  • 11:33 < KarlieRobinson> yes
  • 11:33 < KarlieRobinson> Ping decause
  • 11:33 < newbie|2> I would love to be part of it
  • 11:33 < newbie|2> sounds cool
  • 11:33 < KarlieRobinson> If Remy answers the ping, I'll have you talk with him
  • 11:34 < KarlieRobinson> he runs IRC through a server so sometimes he's not actually online
  • 11:34 < newbie|2> I see
  • 11:34 < KarlieRobinson> How about this...
  • 11:34 < KarlieRobinson> Send me an email to <email removed from transcript> and I'll forward it to Remy and the work group at RIT
  • 11:35 < newbie|2> awesom
  • 11:35 < newbie|2> awesome
  • 11:35 < KarlieRobinson> I know then it will go through and I can see about getting you on a project they're working on
  • 11:35 < newbie|2> yes, please thank you so much
  • 11:35 < newbie|2> this is surreal
  • 11:35 < newbie|2> ^_^
  • 11:35 < KarlieRobinson> I know the Fortune Hunter game needs some help and there were a few that were left without a team when the last quarter of school finished up
  • 11:36 < newbie|2> OS is linux?
  • 11:36 < newbie|2> lang = python
  • 11:36 < KarlieRobinson> http://wiki.sugarlabs.org/go/Math4Team/RIT
  • 11:37 < KarlieRobinson> the platform is Sugar - a desktop environment
  • 11:37 < KarlieRobinson> so the base will be Fedora or another Linux Distro
  • 11:37 < KarlieRobinson> Python is the language of choice because it's easy for children to learn
  • 11:37 < KarlieRobinson> those kids can then modify the games and programs if they like
  • 11:37 < newbie|2> I see
  • 11:38 < newbie|2> what is XO laptop?
  • 11:38 < KarlieRobinson> There are other languages in there sometimes, but mostly python
  • 11:38 < KarlieRobinson> the XO is the name of the laptop One Laptop Per Child uses
  • 11:38 < KarlieRobinson> but you can also develop in a virtual machine on your own comptuer
  • 11:38 < KarlieRobinson> Unless you have very little hands, the keyboard isn't much fun for adults to work with
  • 11:39 < KarlieRobinson> OLPC - is the name of the project
  • 11:39 < KarlieRobinson> XO is the name of the hardware
  • 11:39 < KarlieRobinson> Sugar is the kid friendly desktop Environment
  • 11:39 < newbie|2> than you...I just had a look at the Fortune hunter wiki
  • 11:40 < newbie|2> l would love to be a part of it
  • 11:40 < KarlieRobinson> There's a lot of fun things going on with the students and you might like working with other CS students
  • 11:40 < newbie|2> thank you so much, this is surreal.. this is my first time asking for help on IRC (I learned IRC today) and first time I asked for open source contribution
  • 11:40 < newbie|2> yes, you are right
  • 11:41 < newbie|2> how much Python I need to know
  • 11:41 < KarlieRobinson> Well I have to get some lunch, so send me an email and we'll see what we can set up for you
  • 11:41 < newbie|2> basic, intermediate, advanced?
  • 11:41 < KarlieRobinson> I'm sure you'll learn it as you go along, most of the RIT team are just learning it too
  • 11:41 < newbie|2> alright, nice talking to you. I will send mail right away
  • 11:41 < KarlieRobinson> We can find more help if you need it
  • 11:41 < newbie|2> it will be from a Yahoo account
  • 11:41 < KarlieRobinson> Ok, I'll be on the look out for it
  • 11:42 < KarlieRobinson> have a good night
  • 11:42 < newbie|2> thank you...I will do my best (Gambatte)