get involved in open source

26
Contributing fixes to your favorite software Get involved in Open Source

Upload: joe-brinkman

Post on 27-Aug-2014

158 views

Category:

Software


6 download

DESCRIPTION

Lots of developers would love to contribute to Open Source projects. The question many of them have is how. In this presentation, I walk through the steps needed to contribute to DNN, my favorite Open Source project.

TRANSCRIPT

Page 1: Get involved in Open Source

Contributing fixes to your favorite softwareGet involved in Open Source

Page 2: Get involved in Open Source

2 DNN / Proprietary and Confidential. All Rights Reserved.

Where do you begin?

Page 3: Get involved in Open Source

3 DNN / Proprietary and Confidential. All Rights Reserved.

Start with something easy

Page 4: Get involved in Open Source

4 DNN / Proprietary and Confidential. All Rights Reserved.

Scratch your own itch

Page 5: Get involved in Open Source

5 DNN / Proprietary and Confidential. All Rights Reserved.

Read the docs on how to contribute

Page 6: Get involved in Open Source

6 DNN / Proprietary and Confidential. All Rights Reserved.

Make it easy for the team to say YES!

Page 7: Get involved in Open Source

The Four Steps

7DNN / Proprietary and Confidential. All Rights Reserved.

Page 8: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.8

Step 1. Document the Issue

dnntracker.atlassian.net

• Be thorough› Description› Steps to reproduce› Expected behavior› Actual behavior

• Include screen shots when possible

Page 9: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.9

Step 2. Get the Source Code

• Fork the code• Get a tool

› Git› GitHub for Windows› SourceTree

• Clone to local machine

Page 10: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.10

Sidebar: Version Control Systems

Client-Server

• TFS• SVN• VSS

Peer to Peer

• Git• Mercurial

SaaS solutions

• Sourceforge (SVN)

• CodePlex (TFS, SVN, Git)

• GitHub (Git)

Page 11: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.11

Sidebar: Version Control Systems

Client-Server

• TFS• SVN• VSS

Peer to Peer

• Git• Mercurial

SaaS solutions

• Sourceforge (SVN)

• CodePlex (TFS, SVN, Git)

• GitHub (Git)

Page 12: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.12

Sidebar: Version Control Systems

Client-Server

• TFS• SVN• VSS

Peer to Peer

• Git• Mercurial

SaaS solutions

• Sourceforge (SVN, Git, Hg)

• CodePlex (TFS, SVN, Git)

• GitHub (Git)

Page 13: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.13

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

Des

ktop

Page 14: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.14

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

Page 15: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.15

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Page 16: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.16

Step 3. Make the fix

• Checkout correct branch• Open the DNN Solution

› Compile in Debug› Compile in Release› Perform install from browser

• Make code changes• Test your fix• Commit to your local repo

Page 17: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.17

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Page 18: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.18

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Dnn.Platform SolutionOpen

Edit

Page 19: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.19

Step 4. Submit a Pull Request

• Sync local repo to GitHub (Pull/Push)

• Verify Branch• Submit Pull Request

Page 20: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.20

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Dnn.Platform SolutionOpen

Edit

Page 21: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.21

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Dnn.Platform SolutionOpen

Commit

Edit

Page 22: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.22

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Dnn.Platform SolutionOpen

Commit

Push

Edit

Page 23: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.23

Understanding Git & GitHubG

itHub

dnnsoftware/Dnn.Platform

jbrinkman/Dnn.PlatformFork

Des

ktop

/documents/github/Dnn.PlatformClone

Dnn.Platform SolutionOpen

Commit

Push

Pull Request

Edit

Page 24: Get involved in Open Source

24 DNN / Proprietary and Confidential. All Rights Reserved.

Congratulations!

You are part of the 1%

Page 25: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.25

What Next?B

igge

r con

tribu

tions • Enhancements

• Features• Community teams

Add

ition

al H

elp • Documentation

• Answer Questions• Create Extensions• Blog

Page 26: Get involved in Open Source

DNN / Proprietary and Confidential. All Rights Reserved.26

What Next?B

igge

r con

tribu

tions • Enhancements

• Features• Community teams

Add

ition

al H

elp • Documentation

• Answer Questions• Create Extensions• Blog