how to contribute to open source

before we begin

sign up for a github account: github.com

install git: bit.ly/gitonwindows (windows only)

also, these slides are at bit.ly/ghc-slides

Who am I?

Shauna Gordon-McKeon, @shauna_gm
Program Director for OpenHatch
Open Source Comes to Campus

what

What do all of these projects have in common?

  • You can run them for any purpose
  • You can understand and change them
  • You can share copies of them
  • You can share your changed changed copies of them

These are called the "four freedoms".

who

coders ・ testers ・ designers ・ technical writers community organizers ・ translaters ・ artists hardware hackers ・ scientists ・ journalists teachers ・ students ・ professionals ・ hobbyists political activists ・ data scientists ・ librarians humanitarian aid workers ・ sysadmins ・ kids health providers ・ environmentalists ・ users
and more!

why

education

career

community

values

Why contribute?

"Open source is important to me because it is a way to learn, to practice, and to share with others." - Angel "Java" Lopez

"The sense and strength of community is so powerful, that I couldn't have been happier to be a part of this movement, amazed and humbled by the craziest ideas and work that get shared. In simple words, it changed my life." - Soumith Chintala

"To me Open Source is a tool in the activist toolbox. It's how we can get things done without having to wait and ask permission, without having to build every. single. thing. we want before we can accomplish great things. We build on each other's work, we build up each other's work together." - Lukas Blakk

Read more here.

how

find a project

join the community

pick a task

make a change

find a project

try bit.ly/finding-a-project

join the community

mailing lists

IRC

IRC is decentralized, which means no one organization or company controls it. Instead, individuals host networks. Make sure your channel AND network are correct!


You can join a channel from the command line!


                            /join #openhatch
					    

If you use someone's nickname, most clients highlight that so it's easy for them to see. It's considered good form to include the nicks of people you are addressing, although you don't need to do this for every single line.

You can start a private conversation with someone using this command:


                            /query nick messsage
					    

It is considered good form to ask in the public channel whether you can send a private message to someone.

You can do actions.


You can register your nickname!


                            /msg NickServ REGISTER password youremail@example.com
					    

Then, when you return to the network after being away, you can identify yourself with your registered name and password:


                            /msg NickServ IDENTIFY account password
					    

If you want to be persistently logged in to IRC, you can:

set up a "bouncer"

use a paid service

use the Quassel server component

(we can help you!)

If you want to log into IRC quickly and don't have a client set up, try webchat:

Freenode Webchat

Want to learn more? Try #irchelp!

issue trackers

Example trackers:

Explore the trackers and list what they have in common. Don't forget to click through to individual issues!

Common fields you may have found:

  • Unique ID
  • Reporter/Creator of Issue
  • Assigned
  • Date Created & Date Updated
  • Status
  • Summary

Which should you pay special attention to?

  • Status
    • Bad: "Closed", "Resolved" or "Upstream" -- the issue has been addressed, or the maintainers don't want to address it now or ever.
    • Mediocre: "New" -- the maintainers have not had a chance to see if they want the issue addressed.
    • Good: "Open" or "Accepted" or "In Progress" -- the issue has been confirmed and the community wants it addressed.

Which should you pay special attention to?

  • Assigned: If it's assigned to someone else, especially if they haven't updated recently, leave a comment saying you'd like to work on it.
  • Date Updated: If the issue hasn't been updated in a while (more than 6-12 months) you can leave a comment asking if the issue still needs to be addressed.

a few words on social norms

don't expect immediate responses
be prepared to follow up
it's always okay to ask for help
you can offer help too, even if you're new!

pick a task

try bit.ly/pick-a-task

make a change

to follow along, go to bit.ly/ghc-demo

follow up

ask me anything: @shauna_gm, shauna@openhatch.org, shauna on Freenode

the main openhatch website

open source comes to campus

paid opportunities in open source

other great orgs: Ada Initiative, GNOME's OPW, Ascend Project (plus project specific groups like linuxchix, pyladies and more)