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

Einstieg in Open Source

Einstieg in Open Source

Wir alle haben irgendwann mal unsere Ersten Schritte in Open Source gemacht. In diesem Talk geht es zurück an den Anfang: Open Source Basics, wie Lizenzen oder Tools wie GitHub werden grundsätzlich für Einsteiger erklärt.

Christoph Hochstrasser

January 16, 2019
Tweet

More Decks by Christoph Hochstrasser

Other Decks in Technology

Transcript

  1. Welt verbessern. Auch kleine Beiträge bewirken etwas. Jeder Code der

    veröffentlich wird, kann anderen Personen helfen.
  2. Definition von Open Source • Die Software liegt in einer

    für den Menschen lesbaren und verständlichen Form vor. • Die Software kann beliebig kopiert, verbreitet und genutzt werden. • Die Software darf verändert und in veränderter Form weitergegeben werden.
  3. Maintainer Personen, die Projekte betreuen und das Recht haben Änderungen

    von Anderen freizugeben. Oft der Gründer des Projekts und für Richtungsentscheidungen verantwortlich.
  4. Branch Von engl. „Zweig”, also mehrere Änderungen zusammengefasst. Eine Branch

    kann von einer anderen weggezogen werden und Änderungen können auch wieder zurückgespielt werden.
  5. Merge Die Commits der Branch werden mit einer anderen Branch

    zusammengeführt und Konflikte aufgelöst.
  6. Working Copy Die Dateien des Repository, mit denen du auf

    deinem PC arbeitest und die nur du siehst.
  7. Origin Dein Repository, zugänglich im Internet, wo Änderungen auch von

    anderen gesehen werden können, z.B. auf GitHub oder BitBucket.
  8. Features • Öffentliche und private Git Repositories (seit 2019 auch

    ohne Abo unendlich viele private Repositories) • Issues (Tickets) • Projects (Boards) • Pull Requests • Forks • Stars (Favoriten) • Wiki • Releases (Changelog) • Statistiken • Gists
  9. Warum? Du hast grundsätzlich das Urheberrecht auf Werke, die du

    verfasst. Auch Code ist ein Werk, genauso wie Shakespeare.
  10. Das heißt, ohne deine Zustimmung, darf niemand etwas mit deinem

    Code tun. Nichts, nada. Kein Verwenden, kein Bearbeiten, kein Weitergeben.
  11. Wie geben wir jetzt jedem das Recht, mit dem Code

    etwas zu machen? Sprich: Wie machen wir ihn Open Source?
  12. Dafür gibt es Lizenzen. Lizenz = Vereinbarung, wo drinnen steht,

    was jemand anderer außer dir, mit dem Code (Werk) machen darf und was nicht.
  13. General Public License (GPL) Bekannt durch den Linux Kernel oder

    WordPress. Veränderter GPL Code muss wieder unter der GPL veröffentlicht werden. Veränderter Code muss öffentlich zur Verfügung gestellt werden.
  14. MIT License Sehr oft in der JavaScript Community eingesetzt und

    sehr einfach. Jeder darf im Prinzip alles machen, keine Ansprüche auf Gewährleistung. Beispiele: Rails, Vue.js, Laravel
  15. Creative Commons Hauptsächlich für Grafiken, Schriften, Texte, ganze Websites. Verbot

    von kommerzieller Nutzung möglich. Namensnennung erzwingbar.
  16. Be humble Die Maintainer müssen das Projekt langfristig für viele

    User betreuen, nimm ihre Rückmeldungen ernst.
  17. Halte dich an den Coding Style Erspare dem Maintainer Zeit,

    in dem du dich an den Style hältst der im Projekt verwendet wird.
  18. Vermeide große Pull Requests Änderungen an großen Pull Requests sind

    schwer nachzuvollziehen, die Wahrscheinlichkeit besteht, dass der PR einfach abgelehnt wird.
  19. Orientiere dich an den Präferenzen des Projekts Um deine eigenen

    Präferenzen auszuleben kannst du jederzeit dein eigenes Projekt starten.
  20. Zuerst denken, dann schreiben. Alles, was du schreibst, muss auch

    jemand lesen. Versuche nur so viele Kommentare wie notwendig zu schreiben. Bleib beim Thema.
  21. Versuche dich mit automatisierten Testen zu beschäftigen Wird in fast

    jedem Code-Projekt verwendet und Maintainer fordern gerne Tests zu Änderungen.
  22. Nicht jeder Pull Request wird angenommen werden. Das ist OK.

    Maintainer müssen auf die Bedürfnisse von vielen Usern achten. Falls du spezielle Anforderungen hast, dann steht es dir frei einen Fork zu machen.