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.

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!

  1. Definition der Begriffe „freie Software“ und „offene Software“

  2. 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“).

  3. Vor- und Nachteile von offener und geschlossener Software

  4. Ein paar Einblicke in die geschichtliche Entwicklung (auch die Voraussetzungen zur Entstehung von OSS)

  5. GNU Software und die Free Software Foundation (FSF)

  6. Die Open-Source Bewegung

  7. Wo wird freie und offene Software verwendet? (typische Anwendungsbereiche)

  8. Wie macht man freie und offene Software? Regeln, Werkzeuge, kollaboratives Arbeiten mit git

  9. Aufbauen von Gemeinschaften („community building“)

  10. Beispiele von erfolgreichen OSS-Projekten

  11. Ein wenig Urheberrecht und die wichtigsten Lizenzen

  12. Zusammenstellungen von freien Programmen

  13. Anwendungsbereiche der offenen Denkweise, die ausserhalb der Softwareentwicklung liegen, z.B. Open-Innovation

  14. 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

1.3 Hausaufgaben

  1. 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.

  2. 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.

  3. Gitlab Repo anlegen, „hhoegl“ als Mitglied mit aufnehmen (dann bekomme ich eine Email). Denken Sie auch an die .gitignore Datei.

  4. 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).

  5. LIT 2024 Vortragsübersicht: Was könnte Sie interessieren? https://pretalx.luga.de/lit-2024/schedule/

  6. 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.

  7. 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!

  8. 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.

  9. Video anschauen (ca. 2 Minuten): „4 Freedoms“ http://www.youtube.com/watch?v=uJi2rkHiNqg

  10. Video anschauen (ca. 2 Minuten): What is Free Software (Open Source)? https://www.youtube.com/c/FreeSoftwareFoundationEurope

  11. 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.

  12. 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)

  1. Code Reading (Details siehe OSS23)

  2. Software-Rebellen: Die Macht des Teilens Doku (Philippe Borrel, 2018, auf Arte) https://www.youtube.com/watch?app=desktop&v=SRXdilrbujM


(24. April)

Tafel 24.4.2024

1.4 Kürzlich entdecktes