Become an Open Source Contributor Beth Tucker Long Who - - PowerPoint PPT Presentation

become an open source contributor
SMART_READER_LITE
LIVE PREVIEW

Become an Open Source Contributor Beth Tucker Long Who - - PowerPoint PPT Presentation

Become an Open Source Contributor Beth Tucker Long Who am I? Beth Tucker Long (@e3betht) PHP Developer Stay-at-home mom User


slide-1
SLIDE 1

Become ¡an ¡Open ¡ Source ¡Contributor ¡

Beth ¡Tucker ¡Long ¡

slide-2
SLIDE 2

Who ¡am ¡I? ¡ Beth ¡Tucker ¡Long ¡ ¡ ¡(@e3betht) ¡

  • PHP ¡Developer ¡ ¡
  • Stay-­‑at-­‑home ¡mom ¡
  • User ¡group ¡leader ¡
  • Mentor ¡& ¡ApprenKce ¡

¡

slide-3
SLIDE 3

Audience ¡ParKcipaKon? ¡

  • Completely ¡fine. ¡Ask ¡me ¡quesKons ¡any ¡Kme. ¡
slide-4
SLIDE 4

¡ ¡

CustomizaKon ¡

(Please, ¡be ¡honest) ¡

slide-5
SLIDE 5

¡ ¡

Computer? ¡

slide-6
SLIDE 6

¡ ¡

OS? ¡

slide-7
SLIDE 7

¡ ¡

Permissions? ¡

slide-8
SLIDE 8

¡ ¡

IRC? ¡

slide-9
SLIDE 9

¡ ¡

Git? ¡

slide-10
SLIDE 10

¡ ¡

IDE? ¡

slide-11
SLIDE 11

¡ ¡

Vagrant? ¡

slide-12
SLIDE 12

¡ ¡

Why? ¡

slide-13
SLIDE 13

You ¡Are ¡Not ¡Just ¡Free ¡Labor ¡

Improve ¡your ¡coding ¡skills ¡

slide-14
SLIDE 14

Help ¡a ¡Project ¡That's ¡Helped ¡You ¡

Pay ¡it ¡forward ¡

slide-15
SLIDE 15

It's ¡Not ¡Just ¡Helping ¡the ¡Project ¡

Improve ¡your ¡hireability ¡

slide-16
SLIDE 16

You ¡Don’t ¡Have ¡to ¡Take ¡My ¡Word ¡For ¡It ¡

  • h^ps://ma.^/2016/02/geeng-­‑a-­‑job-­‑afer-­‑coding-­‑bootcamp/ ¡
  • h^p://www.porgolioKps.co/your-­‑resume-­‑wont-­‑get-­‑you-­‑

hired/ ¡ ¡

  • h^p://www.pcworld.com/arKcle/2096660/hiring-­‑managers-­‑

advise-­‑job-­‑seekers-­‑to-­‑contribute-­‑to-­‑opensource-­‑ projects.html ¡

  • h^p://philipwalton.com/arKcles/how-­‑to-­‑find-­‑qualified-­‑

developers/ ¡ ¡

slide-17
SLIDE 17

¡ ¡

Exercise ¡

slide-18
SLIDE 18

Download ¡the ¡Slides ¡

h^p://TreelineDesign.com/slides ¡

slide-19
SLIDE 19

¡ ¡

Geeng ¡Started ¡

slide-20
SLIDE 20

Get ¡to ¡Know ¡GitHub ¡

h^p://www.GitHub.com ¡

slide-21
SLIDE 21

GitHub.com ¡

  • Read ¡about ¡features ¡
  • Explore ¡repositories ¡
slide-22
SLIDE 22

¡ ¡

Exercise ¡

slide-23
SLIDE 23

GitHub.com ¡

Create ¡an ¡account ¡on ¡GitHub.com ¡

slide-24
SLIDE 24

¡ ¡

Git ¡

slide-25
SLIDE 25

Install ¡

h^p://git-­‑scm.com/ downloads ¡

slide-26
SLIDE 26

Setup ¡

h^ps://help.github.com/ arKcles/set-­‑up-­‑git/ ¡

slide-27
SLIDE 27

GUI ¡

h^ps:// desktop.github.com/ ¡

slide-28
SLIDE 28

If ¡You ¡Can't ¡Install ¡Git ¡

h^ps://guides.github.com/ acKviKes/hello-­‑world/ ¡

slide-29
SLIDE 29

¡ ¡

Exercise ¡

slide-30
SLIDE 30

Install ¡Git ¡

Install ¡and ¡set ¡up ¡Git ¡ ¡

  • n ¡your ¡local ¡machine ¡
slide-31
SLIDE 31

¡ ¡

The ¡Basic ¡OSS ¡ ¡ Git ¡Process ¡

slide-32
SLIDE 32

Find ¡the ¡Repository ¡on ¡GitHub ¡

  • Go ¡to: ¡h^p://www.github.com ¡
  • Log ¡in ¡
  • Search ¡for ¡a ¡repository ¡
slide-33
SLIDE 33

Search ¡Tip ¡

slide-34
SLIDE 34

¡ ¡

Exercise ¡

slide-35
SLIDE 35

Find ¡This ¡Tutorial's ¡Repo ¡ Find ¡the ¡repository ¡I ¡ ¡ made ¡for ¡this ¡tutorial. ¡ ¡ ¡ ¡

slide-36
SLIDE 36

Find ¡This ¡Tutorial's ¡Repo ¡ Find ¡the ¡repository ¡I ¡ ¡ made ¡for ¡this ¡tutorial. ¡ Repo: ¡oss-­‑talk ¡ Owner: ¡e3betht ¡

slide-37
SLIDE 37

Start ¡with ¡Repository ¡Guidelines ¡

README.md ¡ ¡ CONTRIBUTE.md ¡ ¡

slide-38
SLIDE 38

Cloning ¡the ¡Repository ¡

slide-39
SLIDE 39

Clone ¡the ¡Repository ¡

On ¡the ¡commandline: ¡ ¡

$ ¡git ¡clone ¡git@github.com:e3betht/oss-­‑talk.git ¡

slide-40
SLIDE 40

Fork ¡the ¡Repository ¡

slide-41
SLIDE 41

Forking ¡the ¡Repository ¡

e3betht/oss-­‑talk ¡ ¡ <your ¡name>/oss-­‑talk ¡

forked ¡from ¡e3betht/oss-­‑talk ¡

slide-42
SLIDE 42

Set ¡Your ¡Remotes ¡

View ¡current ¡remotes: ¡ ¡

$ ¡git ¡remote ¡-­‑v ¡

slide-43
SLIDE 43

Default ¡Remotes ¡

View ¡current ¡remotes: ¡ ¡

  • rigin ¡ ¡git@github.com:e3betht/oss-­‑talk.git ¡(fetch) ¡
  • rigin ¡ ¡git@github.com:e3betht/oss-­‑talk.git ¡(push) ¡
slide-44
SLIDE 44

Rename ¡Your ¡Remotes ¡

¡

$ ¡git ¡remote ¡rename ¡origin ¡<new ¡name> ¡

slide-45
SLIDE 45

Add ¡a ¡New ¡Remote ¡

¡

$ ¡git ¡remote ¡add ¡<new ¡name> ¡<your ¡ forked ¡repo ¡URL> ¡

slide-46
SLIDE 46

Updated ¡Remotes ¡

New ¡current ¡remotes: ¡ ¡

  • ss-­‑origin ¡ ¡git@github.com:e3betht/oss-­‑talk.git ¡(fetch) ¡
  • ss-­‑origin ¡ ¡git@github.com:e3betht/oss-­‑talk.git ¡(push) ¡
  • ss-­‑fork ¡ ¡git@github.com:name/oss-­‑talk.git ¡(fetch) ¡
  • ss-­‑fork ¡ ¡git@github.com:name/oss-­‑talk.git ¡(push) ¡

¡

slide-47
SLIDE 47

¡ ¡

Exercise ¡

slide-48
SLIDE 48

Prepare ¡the ¡oss-­‑talk ¡Repo ¡

Clone ¡and ¡fork ¡the ¡oss-­‑talk ¡repo. ¡ Set ¡up ¡the ¡proper ¡remotes. ¡

slide-49
SLIDE 49

Quick ¡Update ¡

$ ¡git ¡remote ¡update ¡

slide-50
SLIDE 50

Create ¡Your ¡Branch ¡

$ ¡git ¡checkout ¡–b ¡<name> ¡origin/master ¡

slide-51
SLIDE 51

Finding ¡Branches ¡

slide-52
SLIDE 52

Create ¡Your ¡Branch ¡

$ ¡git ¡checkout ¡–b ¡<name> ¡origin/test ¡

slide-53
SLIDE 53

Check ¡the ¡Status ¡

$ ¡git ¡status ¡ ¡

On ¡branch ¡setup ¡ Your ¡branch ¡is ¡up-­‑to-­‑date ¡with ¡'origin/master'. ¡ nothing ¡to ¡commit, ¡working ¡directory ¡clean ¡

slide-54
SLIDE 54

Afer ¡Changes ¡

On ¡branch ¡setup ¡ Your ¡branch ¡is ¡up-­‑to-­‑date ¡with ¡'origin/setup'. ¡ Changes ¡not ¡staged ¡for ¡commit: ¡ ¡ ¡(use ¡"git ¡add ¡<file>..." ¡to ¡update ¡what ¡will ¡be ¡ committed) ¡ ¡ ¡(use ¡"git ¡checkout ¡-­‑-­‑ ¡<file>..." ¡to ¡discard ¡changes ¡ in ¡working ¡directory) ¡ ¡ ¡modified: ¡ ¡ ¡code/third.php ¡

slide-55
SLIDE 55

¡ ¡

Exercise ¡

slide-56
SLIDE 56

Add ¡Your ¡File ¡

Create ¡a ¡branch ¡Ktled: ¡ add-­‑student-­‑<you> ¡ Create ¡a ¡PHP ¡Hello ¡World ¡script ¡in ¡the ¡ Students ¡directory ¡and ¡name ¡it: ¡ <you>.php ¡

slide-57
SLIDE 57

Add ¡Files ¡

$ ¡git ¡add ¡<file> ¡

slide-58
SLIDE 58

Commit ¡Files ¡

$ ¡git ¡commit ¡–m ¡"<message>" ¡

slide-59
SLIDE 59

Double-­‑check ¡for ¡Changes ¡

$ ¡git ¡remote ¡update ¡ $ ¡git ¡rebase ¡<origin>/<branch> ¡

slide-60
SLIDE 60

Push ¡Your ¡Changes ¡

$ ¡git ¡push ¡-­‑u ¡<your ¡remote> ¡<your ¡branch> ¡

slide-61
SLIDE 61

Problem? ¡

$ ¡git ¡push ¡-­‑f ¡-­‑u ¡<your ¡remote> ¡<your ¡branch> ¡

slide-62
SLIDE 62

¡ ¡

Exercise ¡

slide-63
SLIDE 63

Commit ¡Your ¡File ¡

Commit ¡your ¡Hello ¡World ¡file ¡with ¡ a ¡nice ¡commit ¡message. ¡

slide-64
SLIDE 64

Pull ¡Request ¡

slide-65
SLIDE 65

¡ ¡

slide-66
SLIDE 66

¡ ¡

slide-67
SLIDE 67

¡ ¡

slide-68
SLIDE 68

¡ ¡

Exercise ¡

slide-69
SLIDE 69

Issue ¡a ¡Pull ¡Request ¡(PR) ¡

Issue ¡a ¡PR ¡for ¡your ¡Hello ¡World ¡ file ¡with ¡a ¡nice ¡Ktle ¡and ¡message. ¡

slide-70
SLIDE 70

¡ ¡

Success!!! ¡

slide-71
SLIDE 71

¡ ¡

slide-72
SLIDE 72

PR ¡History ¡

slide-73
SLIDE 73

I ¡Want ¡to ¡Do ¡More! ¡

  • README.md ¡or ¡CONTRIBUTE.md ¡
  • Project ¡website ¡
  • GitHub ¡Issues ¡
slide-74
SLIDE 74

GitHub ¡Issues ¡

slide-75
SLIDE 75

GitHub ¡Issues ¡

slide-76
SLIDE 76

¡ ¡

Exercise ¡

slide-77
SLIDE 77

Fix ¡an ¡Issue ¡

Find ¡your ¡issue, ¡and ¡fix ¡it. ¡

slide-78
SLIDE 78

¡ ¡ Finding ¡a ¡Project ¡

slide-79
SLIDE 79

Finding ¡a ¡Project ¡

Start ¡with ¡what ¡you ¡know ¡

slide-80
SLIDE 80

Finding ¡a ¡Project ¡

Or ¡what ¡you ¡want ¡to ¡ know ¡

slide-81
SLIDE 81

Browse ¡GitHub ¡

  • Stars ¡
  • Trending ¡
  • Showcases ¡
slide-82
SLIDE 82

Search ¡

slide-83
SLIDE 83

Advanced ¡Search ¡

slide-84
SLIDE 84

Advanced ¡Search ¡Gotcha ¡

slide-85
SLIDE 85

¡ ¡

Exercise ¡

slide-86
SLIDE 86

What ¡a ¡Star! ¡

Find ¡the ¡PHP ¡ ¡ project ¡with ¡the ¡most ¡stars. ¡

slide-87
SLIDE 87

¡ ¡

Geeng ¡Help ¡

slide-88
SLIDE 88

Geeng ¡Help ¡

  • README.md ¡or ¡CONTRIBUTE.md ¡
  • Forums ¡or ¡Stack ¡Overflow ¡
  • Issue ¡or ¡PR ¡Comments ¡
  • h^p://www.PHPMentoring.org ¡
  • and… ¡
slide-89
SLIDE 89

¡ ¡

IRC ¡

slide-90
SLIDE 90

Installing ¡IRC ¡

  • mIRC ¡(h^p://www.mirc.com/ ¡-­‑ ¡Windows) ¡
  • Pidgin ¡(h^ps://www.pidgin.im/ ¡-­‑ ¡Windows, ¡Linux) ¡
  • Adium ¡(h^ps://adium.im/ ¡-­‑ ¡OS ¡X) ¡
  • Textual ¡(h^ps://www.codeux.com/textual/ ¡-­‑ ¡OS ¡X) ¡
  • HexChat ¡(h^p://hexchat.github.io/ ¡-­‑ ¡Windows, ¡OS ¡X, ¡

Unix ¡systems) ¡

slide-91
SLIDE 91

¡ ¡

EKque^e ¡

slide-92
SLIDE 92

EKque^e ¡

Running ¡an ¡open ¡source ¡ ¡ project ¡is ¡tough ¡work. ¡

slide-93
SLIDE 93

EKque^e ¡

Be ¡polite ¡and ¡respecgul. ¡

slide-94
SLIDE 94

EKque^e ¡

Follow ¡the ¡guidelines ¡carefully. ¡

slide-95
SLIDE 95

EKque^e ¡

Ask ¡if ¡you ¡are ¡unsure. ¡

slide-96
SLIDE 96

EKque^e ¡

Be ¡paKent. ¡

slide-97
SLIDE 97

EKque^e ¡

Be ¡prepared. ¡

slide-98
SLIDE 98

EKque^e ¡

Don't ¡take ¡it ¡personally. ¡

slide-99
SLIDE 99

EKque^e ¡

Be ¡compassionate. ¡

slide-100
SLIDE 100

EKque^e ¡

Say ¡thank ¡you. ¡

slide-101
SLIDE 101

Find ¡Me ¡

  • Twi^er: ¡e3betht ¡

¡

  • Madison ¡PHP ¡User ¡Group ¡(Meetup) ¡ ¡

h^p://www.madisonphp.com ¡ ¡

  • Slides ¡Available ¡on: ¡ ¡

h^p://www.TreelineDesign.com/slides ¡ ¡

slide-102
SLIDE 102

Feedback ¡

h^ps://joind.in/talk/43a20 ¡ E-­‑mail: ¡

Beth@TreelineDesign.com ¡ ¡

slide-103
SLIDE 103

¡ ¡

Final ¡Exercise ¡

slide-104
SLIDE 104

Projects ¡are ¡WaiKng ¡

h^ps://github.com/php-­‑ug/ ¡ ¡ and ¡ ¡ h^ps://github.com/joindin/ ¡ ¡