Upgrade to Pro — share decks privately, control downloads, hide ads and more …

X-Mas Issue Bash 2016 - PHP USERGROUP DRESDEN

X-Mas Issue Bash 2016 - PHP USERGROUP DRESDEN

A motivating talk about getting involved into open source software projects.

Holger Woltersdorf

December 09, 2016
Tweet

More Decks by Holger Woltersdorf

Other Decks in Programming

Transcript

  1. X-MAS ISSUE BASH '16 2 09.12.2016 • CLOUDSTERS DRESDEN •

    X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. OPEN SOURCE - GET INVOLVED!
  2. AGENDA 1 2 3 4 5 Willkommen Backlog ↹ Vortrag

    Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 3
  3. NEUE WEBSITE ๏ http://phpug-dresden.org ๏ Hosted on GitHub Pages ๏

    Statisch generiert aus Markdown und Twig ๏ Alle wichtigen Links und Infos rund um die UG 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 4
  4. MITGLIED DER SWK SAX ๏ http://softwerkskammer.org ๏ Technologie agnostische, lose

    Vereinigung von User Groups und Menschen, die alle Themen rund um Software voran bringen wollen. ๏ Europaweiter Konferenz-Kalender für 2017 ๏ Meetups, Slack-Channels, weltweit ๏ slack.softwarecraftsmanship.org 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 5
  5. EVENT KALENDER 2017 ๏ Meetup-Termine für 2017 ๏ Alle 6

    Wochen 
 (Montag - Donnerstag in Rotation) ๏ Workshops in Planung ๏ PHP Developer Day '17 ๏ X-Mas Issue Bash 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 6
  6. CFP - ALWAYS OPEN! ๏ GitHub: /slides/issues ๏ Themen vorschlagen

    ๏ Lightning Talks ๏ Gemeinsam vortragen ๏ Preview / Review ๏ Speaker vorschlagen ๏ Your turn! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 7
  7. MITGLIED WERDEN ๏ Möglichkeit auf vergünstigte Preise für Events und

    Konferenzen ๏ Kostenlose Teilnahme an Workshops, die von uns organisiert werden ๏ Mindestens 1 Frei-Getränk bei jedem unserer Meetups ๏ Zugriff auf unsere Bibliothek (Videos, Bücher, eBooks, Slides) ๏ 12,- EUR / Jahr 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 8
  8. ORGA TEAM [email protected] Ralf Junghanns TU Dresden Sandro Keil prooph

    software Holger Woltersdorf FortuneGlobe Marcel Führer move:elevator Tommy Mühle move:elevator Patrick Pächnatz move:elevator Alexander Hippe move:elevator Achim Sperling Bike24 9 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V.
  9. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 14 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  10. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 17 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  11. OPEN SOURCE SOFTWARE 18 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS

    ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. GET INVOLVED!
  12. 24 PULL REQUESTS EVENT ๏ Mit GitHub Account bei 24pullrequests.com

    anmelden ๏ Badges verdienen! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 19 https://24pullrequests.com/login
  13. YOU CAN CHANGE IT ๏ Wenn Software Open Source ist,

    kannst DU sie verändern ๏ Warte nicht auf Fixes oder Features von anderen ๏ Workarounds sind Zeitverschwendung und gefährlich ๏ Nutze im Zweifel deinen Fork bis zum Merge ๏ Lerne durch Fordern, Diskussion und Einblick ๏ Angst und Selbstunterschätzung sind fehl am Platz 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 20
  14. CONTRIBUTION GUIDE ๏ Richtlinie der Autoren, wie andere zur Software

    beitragen können / sollen - MUST READ ๏ Wesentlicher Inhalt: ๏ Angaben zum Problem und zur Reproduktion Issues ๏ Angaben zur Versionierung Semantic Versioning ๏ Angaben zur Dokumentation README, CHANGELOG, extern ๏ Angaben zur Akzeptanz Tests, Code-Style, Doku-Umfang ๏ Angaben zum VCS-Workflow 
 Branches, Commit messages, Features, Merge requests (PRs) ๏ Projektgröße ~ Richtlinien-Strenge 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 21
  15. CODE OF CONDUCT ๏ Allgemeine Richtlinie zum Umgang miteinander, vor

    allem relevant in Diskussionen - MUST READ (wenn vorhanden) ๏ Wesentlicher Inhalt: ๏ Einladende Sprache, respektvoller Umgang mit anderen Sichtweisen und Erfahrungen ๏ Annahme von konstruktiver Kritik ๏ Fokus auf das Problem, die Lösung und die Community, Empathie ๏ Nicht akzeptiertes Verhalten (Sexismus, Trolling, pers. Attacken, Schikanieren, Herausgabe privater Infos, Illegales) ๏ Verantwortliche und Kontaktmöglichkeiten 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 22
  16. GITHUB BEST PRACTICES ๏ Issue ๏ Fork ๏ Branch ๏

    Code ๏ Build ๏ Push ๏ Pull Request 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 23 IF ($Bra->Co()->Bu()) { $Pu->Pu(); }
  17. ISSUES ๏ Beschreibt das Problem und wie es reproduziert werden

    kann oder ein gewünschtes Feature ๏ Beschreibt einen nachvollziehbaren Lösungsansatz ๏ Enthält Code-Snippets, die den Lösungsansatz technisch wiedergeben ๏ Ist zentrale Anlaufstelle für Diskussionen und Voting ๏ Teil der Dokumentation, der Commit-History 
 & des CHANGELOG ๏ Teil des Release-Plans (Project / Milestones) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 24
  18. FORK ๏ Kopiert den aktuellen Stand des Repositories in deinen

    Namespace ๏ Entkoppelt die Entwicklung vom Projekt des Maintainers ๏ Maintainer’s Repository = Upstream ๏ Dein Repository = Downstream ๏ Merges in beide Richtungen über Pull Requests
 (compare across forks) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 25
  19. (ISSUE-)BRANCH ๏ Name: issue/<IssueNumber> ๏ Vereinfacht das Arbeiten an mehreren

    Issues, das Verwerfen von Änderungen und die Arbeit im Team ๏ Klare 1:1 Beziehung zum Issue ๏ Manche Projekte akzeptieren keine Pull Requests aus dem master-Branch 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 26
  20. COMMITS ๏ Referenziere das Issue in jedem Commit 
 git

    commit -m "Did something, #<IssueNumber" ๏ One Step - One Commit (Denke in Patches ohne Sideeffects) ๏ Schreibe bedeutsame Commit Messages, nutze Keywords und Scopes: ๏ Keywords: feat, fix, refactor, docs, style, perf, test, chore, revert
 git commit -m "fix(user): ensure e-mail address is unique" ๏ Ist die Message zu lang, solltest du die Commits aufteilen ๏ Schließe das Issue automatisch mit dem letzten Commit
 git commit -m "All done, closes #<IssueNumber" 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 27
  21. REMEMBER CHANGELOG README / DOCS TESTS 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 29
  22. BUILD & PUSH ๏ Tests ausführen ๏ Code Inspection ausführen

    ๏ Commits reviewen ๏ 3rd Party Tools ausführen ๏ Commits pushen (in deinen Fork) 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 30
  23. PULL REQUEST 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH

    '16 • PHP USERGROUP DRESDEN e.V. 31 Upstream Downstream
  24. WORK IN PROGRESS PR ๏ Präfix "[WIP]" in PR Namen

    aufnehmen ๏ Nach und nach commits in deinen Branch committen ๏ Maintainer kann schrittweise Reviews machen ๏ Eignet sich gut für Milestones / Release-Entwicklung ๏ Kann mehrere Issues zusammenfassen 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 32
  25. WORK IN PROGRESS PR 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS

    ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 33 Issue #24 Issue #15 Issue #17
  26. REBASE FROM UPSTREAM ๏ Deinen Fork lokal klonen 
 git

    clone https://github.com/you/project.git ๏ Upstream-Remote hinterlegen
 git remote add upstream https://github.com/they/project.git ๏ Rebase ausführen
 git rebase upstream/master 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 34 git clone [email protected]:croaky/dotfiles.git cd dotfiles git remote add upstream [email protected]:thoughtbot/dotfiles.git git fetch upstream git rebase upstream/master
  27. NOW MAKE IT A HABIT ๏ Jeden Tag 1 kleiner

    Commit oder Pull Request ๏ Verbessert deine Skills, deine Reputation und deinen "Marktwert" im Business und der Community ๏ Challenge yourself! 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 36
  28. LINKS & REFERENCES ๏ Software Versioning: https://en.wikipedia.org/wiki/Software_versioning ๏ Code of

    Conduct v1.4: http://contributor-covenant.org/version/1/4/ ๏ GitCop: https://gitcop.com ๏ Auto-Closing Issues with Commit Message (GitHub): 
 https://help.github.com/articles/closing-issues-via-commit-messages/ ๏ Commit logs from last night: http://www.commitlogsfromlastnight.com ๏ Keeping a GitHub fork updated: 
 https://robots.thoughtbot.com/keeping-a-github-fork-updated 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 38
  29. AGENDA 1 2 3 4 5 09.12.2016 • CLOUDSTERS DRESDEN

    • X-MAS ISSUE BASH '16 • PHP USERGROUP DRESDEN e.V. 40 Willkommen Backlog ↹ Vortrag Issue Bash Ausklang Neues aus der UG Projekte Issues Open Source Get Involved! Pair-Programming Session Diskussion Networking
  30. VIELEN DANK! 41 09.12.2016 • CLOUDSTERS DRESDEN • X-MAS ISSUE

    BASH '16 • PHP USERGROUP DRESDEN e.V. KEEP CONTRIBUTING