1 Open-Source Software 2024¶
Mi, 14:00 bis 15:30, 15:40 bis 17:10, W3.01
Prüfungsvorbereitung oss/ossprep.html
Deadline für Abgabe Studienarbeiten / Projekte ist der 28. Juni 2024 (betrifft nur Master)
Moodle: https://moodle.hs-augsburg.de/course/view.php?id=8023
Material: oss/ (Zeitungsartikel, Aufsätze, Buchkapitel, etc.)
Buchempfehlung: Vicky Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (222 Seiten). Im Folgenden kürze ich das Buch mit [BRASSEUR] ab.
Fragensammlung: oss/Fragen/index.html
Frühere Veranstaltungen: OSS
Eine Sammlung freier Programme ist im „OSS-Wiki“ (von StudentInnen erstellt im Sommer 2022): https://moodle.hs-augsburg.de/mod/wiki/view.php?id=255554. Eine weitere Zusammenstellung ist unter OssProgramme.
Anregung zum Schreiben der Hausaufgaben: Pandoc (Markdown), Sphinx (reST, Markdown, MyST), … Wichtig ist, dass irgend eine Markup Sprache verwendet wird, so dass im Git Repo die Doku wie Quelltext verwaltet werden kann.
Pandoc: https://gitlab.informatik.hs-augsburg.de/hhoegl/Markdown-Anleitung
Sphinx: https://gitlab.informatik.hs-augsburg.de/hhoegl/sphinxbericht
Asciidoc https://asciidoc.org
So lange gibt es OSS schon: oss/etc/werbung.pdf
1.1 Grobe Gliederung¶
Es geht mir bei der Veranstaltung darum, dass Sie ein paar Grundlagen in folgenden Themengebieten im Laufe der Zeit gewinnen. Stellen Sie sich vor, sie müssen in einem zukünftigen Job zum ersten Mal ein freies Softwareprojekt managen, dann sollte der Kurs ihnen die passenden Grundlagen vermittelt haben. Gerne bin ich offen für Anregungen, was Sie für wichtig halten!
Definition der Begriffe „freie Software“ und „offene Software“
Warum gibt man den Quelltext überhaupt freiwillig her, wo doch die klassische kommerzielle Verhaltensweise immer genau das Gegenteil ist (weggesperrte Software im Safe sind fuer manche wie „Goldbarren“).
Vor- und Nachteile von offener und geschlossener Software
Ein paar Einblicke in die geschichtliche Entwicklung (auch die Voraussetzungen zur Entstehung von OSS)
GNU Software und die Free Software Foundation (FSF)
Die Open-Source Bewegung
Wo wird freie und offene Software verwendet? (typische Anwendungsbereiche)
Wie macht man freie und offene Software? Regeln, Werkzeuge, kollaboratives Arbeiten mit git
Aufbauen von Gemeinschaften („community building“)
Beispiele von erfolgreichen OSS-Projekten
Ein wenig Urheberrecht und die wichtigsten Lizenzen
Zusammenstellungen von freien Programmen
Anwendungsbereiche der offenen Denkweise, die ausserhalb der Softwareentwicklung liegen, z.B. Open-Innovation
Geschäftsmodelle mit freier Software (wie kann ich damit Geld verdienen?)
Eine genauere Gliederung ist hier: https://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung
1.2 Geschichtliches¶
Im Buch von Grassmuck finden Sie einen gut lesbaren Abschnitt zur Geschichte der Softwareentwicklung, siehe die Lesetipps unter https://hhoegl.informatik.hs-augsburg.de/oss/grassmuck.html.
In der erweiterten Gliederung ist auch ein Abschnitt über die historische Entwicklung: https://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung#geschichte
DER Geheimtipp: Brian W. Kernighan, Die UNIX-Story, dpunkt Verlag 2020. https://learning.oreilly.com/library/view/die-unix-story/9781098128289/
1.3 Hausaufgaben¶
Die Master-Studierenden schicken mir bis 10. April einen Vorschlag für eine Studienarbeit / ein Projekt. Die Deadline zur Abgabe ist der 28. Juni 2024.
Installieren Sie ein (virtuelles) „Spiel-Linux“ für verschiedenen kleine Experimente, die wir im Rahmen der OSS Veranstaltung machen wollen. Ich empfehle eine Distribution zu verwenden, die von Debian abgeleitet ist, oder gleich zum Original zu greifen, aktuell Debian 12 „Bookworm“. Eine grafische Oberfläche ist nicht wichtig, wir brauchen nur gelegentlich die Kommandozeile.
Gitlab Repo anlegen, „hhoegl“ als Mitglied mit aufnehmen (dann bekomme ich eine Email). Denken Sie auch an die .gitignore Datei.
Entscheidung für ein Dokumentationssystem (pandoc, sphinx, …). Betrachten Sie ihr Repo wie ein Open-Source Projekt, es sollte eine README.md Datei geben, in der steht, worum es geht (Tipp: https://www.makeareadme.com ansehen). Fügen Sie auch eine Möglichkeit hinzu, um die Markup Sourcen in HTML Seiten umzuwandeln. Im einfachsten Fall ist das ein Skript oder ein Makefile oder ein Justfile (https://just.systems).
LIT 2024 Vortragsübersicht: Was könnte Sie interessieren? https://pretalx.luga.de/lit-2024/schedule/
Welche Programme oder Web-Anwendungen verwenden Sie typischerweise für Ihre tägliche Arbeit und zur Kommunikation (auch z.B. Discord) auf Ihrem Rechner? Stellen Sie die Programme mit ihrer Lizenz in einer Tabelle zusammen. Denken Sie auch an Programme die Sie in Ihrem Studium verwendet haben bzw. verwenden mussten. Spiele können Sie weglassen.
In [BRASSEUR] Kapitel 1 (Foundations), 2 (What Free and Open Source can do for You), 3 (Prepare to contribute) und 4 (Find a project) lesen, etwa 50 Seiten insgesamt. Machen Sie sich Notizen in ihrem Hausaufgaben-Text!
Auf einschlägige Nachrichten (Zeitung, Smartphone) aus dem FLOSS-Bereich achten.
Ich lese z.B. regelmässig https://opensource.com, da steht zwar Redhat dahinter, ist aber trotzdem relativ neutral.
Video anschauen (ca. 2 Minuten): „4 Freedoms“ http://www.youtube.com/watch?v=uJi2rkHiNqg
Video anschauen (ca. 2 Minuten): What is Free Software (Open Source)? https://www.youtube.com/c/FreeSoftwareFoundationEurope
Video anschauen (ca. 45 Minuten): https://hhoegl.informatik.hs-augsburg.de/oss/ss20/Das-Microsoft-Dilemma-2018.mp4
Bei allen Videos bitte den Inhalt in Stichpunkten in die Hausaufgabe schreiben.
Demonstrieren Sie an einem kurzen Codestück ihrer Wahl wie man einen Patch erzeugt und ihn wieder anwendet. Legen Sie den ursprünglichen Code in ein Verzeichnis (z.B. A) und duplizieren es in ein Verzeichnis B. Nun machen Sie eine Änderung in A und versuchen die Änderung auf das Verzeichnis B mit einem Patch zu übertragen. Machen Sie die kleine Übung in ihrem Spiel-Linux auf der Kommandozeile und dokumentieren Sie die Schritte in ihrem Hausaufgabentext.
Der folgende Text enthält ein Interview mit Larry Wall, dem Patch Erfinder: https://hhoegl.informatik.hs-augsburg.de/oss/ayers1.html. Suchen Sie Larry Wall auf https://www.facesofopensource.com. Gerne auch andere Leute suchen, die sie bereits in der Open-Source Szene mal gehört haben.
(10. April)
Code Reading (Details siehe OSS23)
Software-Rebellen: Die Macht des Teilens Doku (Philippe Borrel, 2018, auf Arte) https://www.youtube.com/watch?app=desktop&v=SRXdilrbujM
(24. April)
1.4 Kürzlich entdecktes¶
Bitkom Leitfaden Open-Source, 3.0 (2022)
https://hhoegl.informatik.hs-augsburg.de/oss/220624-Bitkom-Leitfaden-Open%20Source-3.0_0.pdf
LPI Open Source Essentials Exam