Slide 1

Slide 1 text

‘ProTalking’ Your way into Open Source @ircgeekie

Slide 2

Slide 2 text

Michelle Sanver A code-passionate colourful geek. @ircgeekie

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Who are you? @ircgeekie

Slide 6

Slide 6 text

@ircgeekie Contribute to my talk

Slide 7

Slide 7 text

“The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.” - opensource.org @ircgeekie

Slide 8

Slide 8 text

Better Quality @ircgeekie

Slide 9

Slide 9 text

Higher Reliability @ircgeekie

Slide 10

Slide 10 text

More Flexibility @ircgeekie

Slide 11

Slide 11 text

Lower Cost @ircgeekie

Slide 12

Slide 12 text

End to predatory vendor lock-in @ircgeekie

Slide 13

Slide 13 text

Convinced Yet? @ircgeekie

Slide 14

Slide 14 text

Contributing to Open Source In 10 steps @ircgeekie

Slide 15

Slide 15 text

Step 1: Choose The Project @ircgeekie

Slide 16

Slide 16 text

Step 1: Choose The Project Be phpassionate about it @ircgeekie Lineke’s

Slide 17

Slide 17 text

Step 1: Choose The Project (ab)use github! @ircgeekie

Slide 18

Slide 18 text

Step 1: Choose The Project Search! :) @ircgeekie

Slide 19

Slide 19 text

Step 1: Choose The Project What are your ‘friends’ doing? @ircgeekie

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

Step 1: Choose The Project Activity @ircgeekie

Slide 22

Slide 22 text

Step 1: Choose The Project Check the commit history @ircgeekie

Slide 23

Slide 23 text

Step 1: Choose The Project Your Skills @ircgeekie

Slide 24

Slide 24 text

@ircgeekie

Slide 25

Slide 25 text

Step 1: Choose The Project Erm... License? @ircgeekie

Slide 26

Slide 26 text

Questions and Pointers @ircgeekie Step 1: Choose The Project

Slide 27

Slide 27 text

Step 2: Install The Project @ircgeekie

Slide 28

Slide 28 text

Step 2: Install The Project Fork It @ircgeekie

Slide 29

Slide 29 text

@ircgeekie

Slide 30

Slide 30 text

@ircgeekie

Slide 31

Slide 31 text

Step 2: Install The Project Clone It @ircgeekie

Slide 32

Slide 32 text

@ircgeekie

Slide 33

Slide 33 text

@ircgeekie

Slide 34

Slide 34 text

Step 2: Install The Project Using vagrant @ircgeekie

Slide 35

Slide 35 text

Step 2: Install The Project @ircgeekie Ruby, Vagrant, Oracle VirtualBox

Slide 36

Slide 36 text

Step 2: Install The Project @ircgeekie $ vagrant up

Slide 37

Slide 37 text

Step 2: Install The Project Manually @ircgeekie

Slide 38

Slide 38 text

Step 2: Install The Project • Fork the protalk repository • Use git clone to get your fork on your local machine • Run ant - this will install all dependencies, clear the cache and run tests @ircgeekie

Slide 39

Slide 39 text

Step 2: Install The Project • Make sure the app/cache and app/logs directories are writable by the webserver • Create the database and change the parameters.ini in app/config to set the database connection details • Run the command "app/console doctrine:schema:create" to create the database tables @ircgeekie

Slide 40

Slide 40 text

Step 2: Install The Project • Import the doc/db/seed_data.sql in your database for initial data • Creating a admin user for the backend can be done by running this command: "app/ console fos:user:create [email protected] password -- super-admin @ircgeekie

Slide 41

Slide 41 text

Do you like vagrant now? @ircgeekie

Slide 42

Slide 42 text

Step 2: Install The Project @ircgeekie Questions and Pointers

Slide 43

Slide 43 text

Step 3: Investigation @ircgeekie

Slide 44

Slide 44 text

Step 3: Investigation Codebase @ircgeekie

Slide 45

Slide 45 text

Step 3: Investigation Coding guidelines @ircgeekie

Slide 46

Slide 46 text

Step 3: Investigation Tests? @ircgeekie

Slide 47

Slide 47 text

Step 3: Investigation @ircgeekie Questions and Pointers

Slide 48

Slide 48 text

Step 4: Hiiiiiii!!! :-) @ircgeekie

Slide 49

Slide 49 text

Step 4: Hiiiiiii!!! :-) Where art thou? @ircgeekie

Slide 50

Slide 50 text

Step 4: Hiiiiiii!!! :-) IRC I’m geekie @ircgeekie

Slide 51

Slide 51 text

Step 4: Hiiiiiii!!! :-) Contact them @ircgeekie

Slide 52

Slide 52 text

Step 4: Hiiiiiii!!! :-) Observe the responses (Should I stay, or should I go?) @ircgeekie

Slide 53

Slide 53 text

Step 4: Hiiiiiii!!! :-) @ircgeekie Questions and Pointers

Slide 54

Slide 54 text

Step 5: What can I do? @ircgeekie

Slide 55

Slide 55 text

Step 5: What can I do? It’s not your project. (But nothing stops you from branching...) @ircgeekie

Slide 56

Slide 56 text

Step 5: What can I do? The github issuetracker @ircgeekie

Slide 57

Slide 57 text

@ircgeekie

Slide 58

Slide 58 text

Step 5: What can I do? Pick an issue @ircgeekie

Slide 59

Slide 59 text

@ircgeekie

Slide 60

Slide 60 text

Step 5: What can I do? Create an issue @ircgeekie

Slide 61

Slide 61 text

@ircgeekie

Slide 62

Slide 62 text

@ircgeekie

Slide 63

Slide 63 text

Step 5: What can I do? Communicate! In open source - Communication is key @ircgeekie

Slide 64

Slide 64 text

Step 5: What can I do? @ircgeekie Questions and Pointers

Slide 65

Slide 65 text

Step 6: How... ? @ircgeekie

Slide 66

Slide 66 text

Step 6: How... ? Read The Guidelines @ircgeekie

Slide 67

Slide 67 text

Step 6: How... ? It’s “just” code. @ircgeekie

Slide 68

Slide 68 text

Step 6: How... ? If that scares you... @ircgeekie

Slide 69

Slide 69 text

Step 6: How... ? It’s private, for now. (If you want it to be) @ircgeekie

Slide 70

Slide 70 text

Step 6: How... ? Ask questions... @ircgeekie

Slide 71

Slide 71 text

Step 6: How... ? @ircgeekie Questions and Pointers

Slide 72

Slide 72 text

Step 7: Just do it @ircgeekie

Slide 73

Slide 73 text

Step 7: Just do it Keep yourself updated @ircgeekie

Slide 74

Slide 74 text

Step 7: Just do it @ircgeekie $ git remote add upstream https://github.com/protalk/pro $ git fetch upstream $ git merge upstream/master

Slide 75

Slide 75 text

Step 7: Just do it Make your changes (You know how to code, right?) @ircgeekie

Slide 76

Slide 76 text

Step 7: Just do it Commit often $ git commit -m 'Michelle will be pleased <3' @ircgeekie

Slide 77

Slide 77 text

Step 7: Just do it @ircgeekie Questions and Pointers

Slide 78

Slide 78 text

Step 8: Push it (Just push it push it) @ircgeekie

Slide 79

Slide 79 text

Step 8: Push it (Push it real good) @ircgeekie $ git push

Slide 80

Slide 80 text

Step 8: Push it (Push it real good) @ircgeekie Questions and Pointers

Slide 81

Slide 81 text

Step 9: The pull request @ircgeekie

Slide 82

Slide 82 text

Step 9: The pull request Time to show the world (Except those poor sods without Internet) @ircgeekie

Slide 83

Slide 83 text

Step 9: The pull request Don’t worry (Be happy) @ircgeekie

Slide 84

Slide 84 text

Step 9: The pull request It’s just a button (And a form...) @ircgeekie

Slide 85

Slide 85 text

@ircgeekie

Slide 86

Slide 86 text

@ircgeekie

Slide 87

Slide 87 text

Step 9: The pull request Linking to the issuetracker #1337 @ircgeekie

Slide 88

Slide 88 text

Step 9: The pull request @ircgeekie Questions and Pointers

Slide 89

Slide 89 text

Step 10: Code Review @ircgeekie

Slide 90

Slide 90 text

Step 10: Code Review It’s constructive criticism @ircgeekie

Slide 91

Slide 91 text

Step 10: Code Review Correct or discuss @ircgeekie

Slide 92

Slide 92 text

Step 10: Code Review You learn so much! @ircgeekie

Slide 93

Slide 93 text

Step 10: Code Review And if there’s trolls... @ircgeekie

Slide 94

Slide 94 text

@ircgeekie Step 10: Code Review Trolls can be cute too!

Slide 95

Slide 95 text

@ircgeekie Step 10: Code Review Questions and Pointers

Slide 96

Slide 96 text

@ircgeekie You did it...

Slide 97

Slide 97 text

General Questions? @ircgeekie

Slide 98

Slide 98 text

Thank you! :) Git: http://gitimmersion.com/ Licenses: http://www.tldrlegal.com/ @ircgeekie