Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Get involved in Open Source

402 views

Published on

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.

Published in: Software
  • Be the first to comment

Get involved in Open Source

  1. 1. Contributing fixes to your favorite software Get involved in Open Source
  2. 2. 2 DNN / Proprietary and Confidential. All Rights Reserved. Where do you begin?
  3. 3. 3 DNN / Proprietary and Confidential. All Rights Reserved. Start with something easy
  4. 4. 4 DNN / Proprietary and Confidential. All Rights Reserved. Scratch your own itch
  5. 5. 5 DNN / Proprietary and Confidential. All Rights Reserved. Read the docs on how to contribute
  6. 6. 6 DNN / Proprietary and Confidential. All Rights Reserved. Make it easy for the team to say YES!
  7. 7. The Four Steps 7DNN / Proprietary and Confidential. All Rights Reserved.
  8. 8. Step 1. Document the Issue DNN / Proprietary and Confidential. All Rights Reserved.8 dnntracker.atlassian.net • Be thorough › Description › Steps to reproduce › Expected behavior › Actual behavior • Include screen shots when possible
  9. 9. Step 2. Get the Source Code • Fork the code • Get a tool › Git › GitHub for Windows › SourceTree • Clone to local machine DNN / Proprietary and Confidential. All Rights Reserved.9
  10. 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) DNN / Proprietary and Confidential. All Rights Reserved.10
  11. 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) DNN / Proprietary and Confidential. All Rights Reserved.11
  12. 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) DNN / Proprietary and Confidential. All Rights Reserved.12
  13. 13. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.13 GitHub dnnsoftware/Dnn.Platform Desktop
  14. 14. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.14 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop
  15. 15. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.15 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone
  16. 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 DNN / Proprietary and Confidential. All Rights Reserved.16
  17. 17. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.17 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone
  18. 18. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.18 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone Dnn.Platform Solution Open Edit
  19. 19. Step 4. Submit a Pull Request • Sync local repo to GitHub (Pull/Push) • Verify Branch • Submit Pull Request DNN / Proprietary and Confidential. All Rights Reserved.19
  20. 20. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.20 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone Dnn.Platform Solution Open Edit
  21. 21. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.21 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone Dnn.Platform Solution Open Commit Edit
  22. 22. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.22 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone Dnn.Platform Solution Open Commit Push Edit
  23. 23. Understanding Git & GitHub DNN / Proprietary and Confidential. All Rights Reserved.23 GitHub dnnsoftware/Dnn.Platform jbrinkman/Dnn.Platform Fork Desktop /documents/github/Dnn.Platform Clone Dnn.Platform Solution Open Commit Push Pull Request Edit
  24. 24. 24 DNN / Proprietary and Confidential. All Rights Reserved.
  25. 25. What Next? Biggercontributions • Enhancements • Features • Community teams AdditionalHelp • Documentation • Answer Questions • Create Extensions • Blog DNN / Proprietary and Confidential. All Rights Reserved.25
  26. 26. What Next? Biggercontributions • Enhancements • Features • Community teams AdditionalHelp • Documentation • Answer Questions • Create Extensions • Blog DNN / Proprietary and Confidential. All Rights Reserved.26

×