Kategorien
Allgemein

Der Einstieg in Open Source 1: Einführung in die Open Source-Welt

Vorwort – It’s as simple as that

Aller Anfang ist schwer. Als Entwickler entsteht dieser Eindruck schnell, wenn man sich die Repositories etablierter Open Source-Mammutprojekte ansieht. Und hier muss direkt interveniert werden. Es gibt fast nichts einfacheres als Contributor eines Open Source-Projekts zu werden.

Ebenso bestehen die Projekte fast nie nur aus Software-Entwicklern. Designer, Copywriter, Marketing Manager und Know-How-Träger aus allen Berufszweigen sind überall heiß begehrt. Aus der FOSS-Community wurde mir folgender Ratschlag gegeben:

Get involved if you have an itch to scratch. Have a project you
care about and want to help make ‚better‘. There is no project no matter how big or small that cannot use an extra brain.

It’s as simple as that.

Diese Reihe von Beiträgen soll einen detaillierten Einblick für einen Einstieg in Free / Open Source-Projekte geben. Wer sich sofort in ein Projekt involvieren will, kann den Beitrag also für später zur Seite legen und ohne zu Zögern anfangen.

Das Open Source-Prinzip

Open Source-Software (kurz OSS) ist mittlerweile aus dem alltäglichen Leben in einer mehr und mehr digitalisierten Welt nicht wegzudenken. Sie „ist trotz seiner 20-jährigen Geschichte aktueller denn je“, so eine Studie der Universität Bern, die sich auf 243 befragte Unternehmen und Behörden aus der Schweiz stützt. Demnach haben knapp 60% der Befragten angegeben, dass die Bedeutung von OSS zugenommen habe, ein weiteres Drittel schätzte sie als gleichbleibend und gerade 7% hielten sie als abnehmend. Zum Zeitpunkt der Studie sei in den letzten drei Jahren sei die Nutzung von OSS um 7.2% gestiegen (vgl. Universität Bern, Forschungsstelle Digitale Nachhaltigkeit, 2018, S. 7).

Open Source-Software bedeutet, dass Quelltexte der Software der Software öffentlich zugänglich und von Dritten verwertbar und änderbar ist. Die Projekte werden je nach ihrer Organisation und Eigenschaften von Freiwilligen, bezahlten Entwicklern oder von Gruppen aus beiden Lagern entwickelt (vgl. Schrape, 2015, S. 5–6). Anhand von Open Source-Projekten ist jedem die Möglichkeit gegeben, sich als Software-Entwickler, Designer und Weiteres zu engagieren und in seinem beruflichen Umfeld zu profitieren.

Durch das kontinuierliche Wachstum und den hohen Bedarf an Open Source-Lösungen bietet sich eine große Anzahl und ein breites Spektrum an Open Source-Projekten an, die auf alle Arten von Motivation eines Mitwirkenden zutreffen und ihn bei seinen Zielen unterstützen.

Begriffe und aktuelle Plattformen

OSS, FOSS / FLOSS

Open Source ist lediglich in nur zwei der „vier Freiheiten“ der Free Open Source, bzw. Free Libre Open Source, nach der Definition der Free Software Foundation (FSF) enthalten. Das Libre wurde hinzugefügt, damit es zur keiner Verwechslung mit dem englischen Free für kostenlos kommt (vgl. Free Software Foundation, 2001). Beide Begriffe beziehen sich im Wesentlichen auf den gleichen Satz von Lizenzen und Software, nur impliziert jeder Begriff unterschiedliche Basiswerte. Richard Stallman erklärt:

The two terms describe almost the same category of software, but they stand for views based on fundamentally different values. Open source is a development methodology; free software is a social movement.

RICHARD STALLMAN, 2007

Im TEDx-Talk für das FREEDOM (@ digital age) 2014 in Genf erläutert Stallman das Prinzip der freien Software ausführlicher.

Richard Stallman’s TEDx video: „Introduction to Free Software and the Liberation of Cyberspace“ (Quelle)

Kollaboration in Open Source-Projekten

OSS-Projekte werden oftmals geografisch verteilt entwickelt, wobei sich Entwickler in unterschiedlichen Zeitzonen befinden (vgl. GODFREY & QIANG TU, 2000, S. 141). Dieser verteilte Charakter der OSS-Entwicklung schafft den Bedarf an Koordination, wie Aberdour erklärt:

OSS development must also manage a geographically distributed team, requiring focus on coordination tasks

ABERDOUR, 2007, S. 58

Laut Nakakoji etal. ist die kollaborative Entwicklung ein wesentliches Merkmal jeder OSS (vgl. NAKAKOJI et al., S. 76).

Für die Versionsverwaltung von OSS-Projekten werden am häufigsten Web- und Desktopanwendungen eingesetzt und ebenso mit diesen ein Anteil an Koordination erledigt. Die bekanntesten sind GitHub, GitLab, Bitbucket, SourceForge.

Neben der Versionsverwaltung bieten die Plattformen andere Funktionen, wie Repository– und Projekt-Management, Soziale Austauschmöglichkeiten, Code Reviews, Pull Requests oder Issue Tracking. Jeder der Plattformen bieten ihre eigenen Vor- und Nachteile. In den meisten Fällen lässt es sich aber einfach an persönlicher Bedarf und Präferenz entscheiden, welche man schlussendlich nutzen möchte.

Wie geht es für mich weiter?

Nach dieser kurzen Einführung lernst du im nächsten Beitrag über die unterschiedlichen Arten, die es an Open Source-Projekte gibt und erhältst einen schnellen, unkomplizierten Einblick in Open Source-Lizenzen.

Hier geht es zum 2. Teil der Reihe: Projektarten und Lizenzen

Falls du Anregungen, Verbesserungsvorschläge und Fragen hast, kannst du die unixAG Zweibrücken über das Kontaktformular erreichen oder mir auf GitHub folgen. Die unixAG trifft sich ebenfalls jeden Mittwoch in der Hochschule Kaiserslautern am Standort Zweibrücken. Die Treffen sind für alle offen und jeder ist herzlich eingeladen sich dazuzugesellen. Mehr dazu findest du auf unserer Webseite.

Quellen

Universität Bern, Forschungsstelle Digitale Nachhaltigkeit (2018): Open Source Studie Schweiz 2018. Online verfügbar unter https://www.oss-studie.ch/open-source-studie-2018.pdf

Schrape, Jan-Felix (2015): Open Source Softwareprojekte zwischen Passion und Kalkül (SOI Discussion Paper) (02). Online verfügbar unter
http://www.uni-stuttgart.de/soz/oi/publikationen/soi_2015_2_Schrape_Open_Source_Softwareprojekte_zwischen_Passion_und_Kalkuel.pdf,
zuletzt geprüft am 14.02.2019

Free Software Foundation (2001): Freie Software. Was ist das? Hg. v. Free Software Foundation. Online verfügbar unter https://www.gnu.org/philosophy/free-sw.html

Richard Stallman (2007): Warum „Open Source“ das Ziel Freie Software verfehlt. Hg. v. Free Software Foundation. Online verfügbar unter https://www.gnu.org/philosophy/open-source-misses-the-point.de.html,
zuletzt geprüft am 14.02.2019

Godfrey; Tu, Qiang (2000): Evolution in open source software: a case study. In: Proceedings International Conference on Software Maintenance ICSM-94. Proceedings International Conference on Software Maintenance. Victoria, BC, Canada, 14.10.2000 – 14.10.2000: IEEE Comput. Soc. Press, S. 131–142

Aberdour, Mark (2007): Achieving Quality in Open-Source Software. In: IEEE Software 24 (1), S. 58–64. DOI: 10.1109/MS.2007.2.

Nakakoji, Kumiyo; Yamamoto, Yasuhiro; Nishinaka, Yoshiyuki; Kishida, Kouichi; Ye, Yunwen (2002): Evolution patterns of open-source software systems and communities. In: Mikio Aoyama (Hg.): Proceedings of the International Workshop on Principles of Software Evolution. the international workshop. Orlando