Slide 1

Slide 1 text

‘ProTalking’ Your way into Open Source @michellesanver

Slide 2

Slide 2 text

Michelle Sanver A code-passionate colourful geek. @michellesanver

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

About ProTalk Videos about PHP! In fact.... If you want to see this talk again @michellesanver

Slide 6

Slide 6 text

About ProTalk ProTalk.ME @michellesanver

Slide 7

Slide 7 text

About ProTalk Contribute! @michellesanver

Slide 8

Slide 8 text

Who are you? @michellesanver

Slide 9

Slide 9 text

Contribute to my talk @michellesanver

Slide 10

Slide 10 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 @michellesanver

Slide 11

Slide 11 text

Better Quality @michellesanver

Slide 12

Slide 12 text

Higher Reliability @michellesanver

Slide 13

Slide 13 text

More Flexibility @michellesanver

Slide 14

Slide 14 text

Lower Cost @michellesanver

Slide 15

Slide 15 text

End to predatory vendor lock-in @michellesanver

Slide 16

Slide 16 text

Convinced Yet? @michellesanver

Slide 17

Slide 17 text

Before we get started... Top3: Lineke an Kim @michellesanver

Slide 18

Slide 18 text

Before we get started... Top3: Kim @michellesanver It’s ok to get it wrong

Slide 19

Slide 19 text

Before we get started... Top3: Kim @michellesanver You might not get an immediate response

Slide 20

Slide 20 text

Before we get started... Top3: Kim @michellesanver Don't be afraid to ask for a task to be assigned to you

Slide 21

Slide 21 text

Before we get started... Top3: Lineke @michellesanver Git

Slide 22

Slide 22 text

Before we get started... Top3: Lineke @michellesanver Passion & Usability

Slide 23

Slide 23 text

Before we get started... Top3: Lineke @michellesanver The development process

Slide 24

Slide 24 text

Contributing to Open Source In 10 steps @michellesanver

Slide 25

Slide 25 text

Step 1: Choose The Project @michellesanver

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

@michellesanver

Slide 31

Slide 31 text

Step 1: Choose The Project Activity @michellesanver

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

Step 1: Choose The Project Your Skills @michellesanver

Slide 34

Slide 34 text

@michellesanver

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

Questions and Pointers Step 1: Choose The Project @michellesanver

Slide 37

Slide 37 text

Step 2: Install The Project @michellesanver

Slide 38

Slide 38 text

Step 2: Install The Project Fork It @michellesanver

Slide 39

Slide 39 text

@michellesanver

Slide 40

Slide 40 text

@michellesanver

Slide 41

Slide 41 text

Step 2: Install The Project Clone It @michellesanver

Slide 42

Slide 42 text

@michellesanver

Slide 43

Slide 43 text

@michellesanver

Slide 44

Slide 44 text

Step 2: Install The Project Using vagrant @michellesanver

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

Step 2: Install The Project $ vagrant up @michellesanver

Slide 47

Slide 47 text

Step 2: Install The Project Manually @michellesanver

Slide 48

Slide 48 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 @michellesanver

Slide 49

Slide 49 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 @michellesanver

Slide 50

Slide 50 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 @michellesanver

Slide 51

Slide 51 text

Do you like vagrant now? @michellesanver

Slide 52

Slide 52 text

Step 2: Install The Project Questions and Pointers @michellesanver

Slide 53

Slide 53 text

Step 3: Investigation @michellesanver

Slide 54

Slide 54 text

Step 3: Investigation Codebase @michellesanver

Slide 55

Slide 55 text

Step 3: Investigation Coding guidelines @michellesanver

Slide 56

Slide 56 text

Step 3: Investigation Tests? @michellesanver

Slide 57

Slide 57 text

Step 3: Investigation Questions and Pointers @michellesanver

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

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

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

Step 5: What can I do? @michellesanver

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

@michellesanver

Slide 68

Slide 68 text

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

Slide 69

Slide 69 text

@michellesanver

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

@michellesanver

Slide 72

Slide 72 text

@michellesanver

Slide 73

Slide 73 text

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

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

Step 6: How... ? @michellesanver

Slide 76

Slide 76 text

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

Slide 77

Slide 77 text

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

Slide 78

Slide 78 text

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

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

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

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

Step 7: Just do it @michellesanver

Slide 83

Slide 83 text

Step 7: Just do it Keep yourself updated @michellesanver

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

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

Slide 87

Slide 87 text

Step 7: Just do it Questions and Pointers @michellesanver

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

Step 9: The pull request @michellesanver

Slide 92

Slide 92 text

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

Slide 93

Slide 93 text

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

Slide 94

Slide 94 text

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

Slide 95

Slide 95 text

@michellesanver

Slide 96

Slide 96 text

@michellesanver

Slide 97

Slide 97 text

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

Slide 98

Slide 98 text

Step 9: The pull request Questions and Pointers @michellesanver

Slide 99

Slide 99 text

Step 10: Code Review @michellesanver

Slide 100

Slide 100 text

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

Slide 101

Slide 101 text

Step 10: Code Review Correct or discuss @michellesanver

Slide 102

Slide 102 text

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

Slide 103

Slide 103 text

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

Slide 104

Slide 104 text

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

Slide 105

Slide 105 text

Step 10: Code Review Questions and Pointers @michellesanver

Slide 106

Slide 106 text

You did it... @michellesanver

Slide 107

Slide 107 text

General Questions? @michellesanver

Slide 108

Slide 108 text

Thank you! :) Git: http://gitimmersion.com/ Licenses: http://www.tldrlegal.com/ Rate my talk!! (PLZ) :-) http://joind.in/talk/view/8950 @michellesanver