1 Open-Source Software 2022

Mi, 14:00 bis 15:30, 15:40 bis 17:10, G1.10

Die Klausur findet am 1.7. um 17 Uhr statt. Die Details finden Sie in Moodle.

Moodle: https://moodle.hs-augsburg.de/course/view.php?id=5701

Eine Sammlung freier Programme ist im „OSS-Wiki“: https://moodle.hs-augsburg.de/mod/wiki/view.php?id=255554

Material: https://hhoegl.informatik.hs-augsburg.de/oss/ (Zeitungsartikel, Aufsätze, Buchkapitel, etc.)

Fragensammlung: https://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html

Frühere Veranstaltungen: OSS

1.1 Ablauf der Veranstaltung

  • Leistungsnachweis

    • Online-Klausur für BA und MA über Zoom im Juli, Multiple-Choice und einige Freitextaufgaben in Moodle + Zoom.

    • Master-Studierende schreiben zusätzlich eine Studienarbeit mit ca. 25 Seiten. Bearbeitung Mitte April bis Mitte Juli (3 Monate).

  • Wöchentliche Hausaufgaben

  • Im ersten Block ab 14 Uhr meist Vorlesung, im zweiten Block Zeit für Gespräche.

  • Fragen und Kommentare bitte im Moodle Forum „Fragen und Kommentare“ stellen. Jeder darf antworten!

  • Auch Zoom können wir einsetzen, wenn es Sinn macht.

  • Wer in Zukunft nicht mehr teilnehmen möchte, meldet sich bitte aus der Teilnehmerliste in Moodle ab.

1.2 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. Freie Programme, die man kennen muss (https://hhoegl.informatik.hs-augsburg.de/hhwiki/OssProgramme) Siehe auch unten den Literatur-Link „Karl Beecher, Free Alternatives to Everyday Software“.

  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 etwas genauere Gliederung ist hier: https://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung

1.3 Vorlesungen

1.3.1 23.3.2022 / Vorbesprechung

Die wichtigsten Stichpunkte aus dem heutigen Treffen (es gibt keine Video-Aufnahme):

  • Kommerzielle bzw. „proprietäre“ Software <—> Open-Source und Free Software. „Free“ steht für Freiheit, nicht kostenlos. Es hätte besser „Libre“ heissen sollen.

  • Proprietäre Lizenzen (Verbote) <—> Offene Lizenzen (Freiheiten, aber auch Einschränkungen)

    FLOSS = Free Libre Open Source Software

  • Free Software Gründer Richard Stallman https://en.wikipedia.org/wiki/Free_as_in_Freedom

    „4 Freedoms“ http://www.youtube.com/watch?v=uJi2rkHiNqg

    GNU Projekt (freies UNIX, Anfang mit GCC, GDB, Emacs)

    GPL Lizenz (Trick, damit Software frei bleibt. Antwort auf zunehmende Kommerzialisierung der Softwareentwicklung Anfang der 80er Jahre).

  • IT Infrastruktur sehr oft Open-Source (weltweites Internet, aber auch an der Hochschule z.B. im Rechenzentrum)

  • Linux ist der Kern des GNU/Linux Betriebssystems. Er steht unter GPL Lizenz. Viele Programme aus dem User-Space kommen aus dem GNU Projekt („GNU is not UNIX“).

  • Die Rolle von Microsoft früher und jetzt

  • Kommerzielle Software in der Verwaltung und bei anderen staatlichen Einrichtungen. Problem der Abhängigmachung durch Produkte von kommerzielle Firmen („lock-in“). Siehe dazu bspw. eine Gegenbewegung am CERN, „MALT“ https://malt.web.cern.ch/malt/

    Beispiel: Matlab (kommerziell) <—> Python Anaconda Distribution (Open-Source ist die „Individual Edition https://www.anaconda.com/products/individual)

  • Geschichte freier Software https://www.kritische-informatik.de/index.htm?fshistl.htm

    Eine ausführlichere Behandlung der Geschichte freier Software finden Sie in unserer Materialsammlung, siehe http://hhoegl.informatik.hs-augsburg.de/oss/. Dort ist gleich am Anfang das freie Buch von Volker Grassmuck, klicken Sie auf „Lesetipps“.

  • Gerne die Veranstaltung nutzen zum Umsteigen von Windows auf Linux. Am einfachsten geht das mit einer „virtuellen“ Installation von Linux auf Windows 10 mit Hilfe von VirtualBox https://www.virtualbox.org. Freie Images gibt es unter https://virtualboxes.org.

1.3.2 30.3.2022

  • Hausaufgaben-Links mit curl schicken (sie ändern nur name, mat und url):

    curl -u api:trick17 "hhoegl.informatik.hs-augsburg.de:8881/hsa/send_oss_url.py?name=Hans_Muster&mat=123456&url=https://hier/den/url/angeben
    

Gleich mal „Code-Reading“ üben:

  • Vorschlag README.md:

     # Open-Source Software (WPF)
    
     Hochschule Augsburg \
     Fakultät für Informatik \
     Sommersemester 2022 \
     Prof. Dr. Hubert Högl
    
     Max Muster, #123456, INF6, <Max.Muster@hs-augsburg.de>
    
    URL: https://hs-augsburg.de/homes/mmuster/oss22
    

    Die Angabe des URL ist optional. Das wären die von Markdown nach HTML übersetzten Dateien die sich auf dem RZ WWW Server befinden.

  • Neues Buch entdeckt: Gordon Haff, How Open Source Ate Software. Understand the Open Source Movement and So Much More, 2nd edition, Apress 2021.

    https://hhoegl.informatik.hs-augsburg.de/nonfree/Buecher/Haff2021_Book_HowOpenSourceAteSoftware.pdf

  • Studienarbeiten, ab April geht es los! Themen vorschlagen.

1.3.3 6.4.2022

Programme auf Github/Gitlab analysieren.

  • Projekt aktiv oder verwaist?

  • Wer steckt dahinter?

  • Wer ist der aktuelle Maintainer?

  • Wo wird das Projekt gehostet? (meist github/gitlab)

  • Gibt es eine Homepage?

  • Für welche Betriebssysteme ist es geeignet?

  • Unter welcher Lizenz steht das Programm?

  • Ist es ein Kommandozeilen- oder Grafikprogramm?

  • Wie lange existiert es?

  • Wie viele haben in etwa daran gearbeitet?

  • Welche Programmiersprache(n) wird/werden verwendet?

  • Welches Konfigurations- bzw. Build-System wird verwendet?

  • Wird eine IDE zum Entwickeln verwendet?

  • Gibt es eine Dokumentation, wenn ja, in welchem Textverarbeitungssystem wurde sie geschrieben?

  • Wie viele Anwender verwenden das Programm ungefähr? (schwer herauszubekommen)

  • Gibt es Abspaltungen („forks“)?

  • Wie kann man mitmachen bzw. Änderungen/Neuerungen einreichen?

  • Letztes Update

  • Wie werden Branches in Git verwendet (workflow)

  • und so weiter…

Vorschläge für Programme sind hier: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung#code-reading

Sehr interessant in diesem Zusammenhang: https://aosabook.org („Architecture of Open-Source Applications“). Der Initiator Greg Wilson hat auch das „Software Carpentry“ (https://software-carpentry.org) Projekt gegründet.

1.3.4 13.4.2022

Viele freie RZ Dienste (Sogo, …) +++ Mattermost Focalboard https://www.focalboard.com, AppFlowy (Rust) https://www.appflowy.io, Alternative zu notion.so +++ Nextcloud + Onlyoffice +++ https://digitalcourage.de +++ OpenVPN vs. Wireguard +++ https://microg.org +++ https://mastodon.social/about, https://hostsharing.coop/about (Mastodon Instanz), https://hostsharing.coop/@dzu, +++ Integration von Mastodon in Nextcloud +++ https://www.hostsharing.net/downloads/hostsharing-vereinshandbuch.pdf +++ Owncast (Go) https://owncast.online +++ Fediverse https://fediverse.party, https://digitalcourage.de/digitale-selbstverteidigung/fediverse +++ https://pixelfed.social +++ Peertube https://joinpeertube.org +++

1.3.5 27.4.2022

Am 18.5. (verhindert) und 25.5. (Pyramid) sind keine Vorlesungen, aber es gibt Hausaufgaben

1.3.6 4.5.2022

News

Rechtliches

  1. Tobias Haar, Was Softwareentwickler über Urheberrecht wissen müssen. iX 6, 2010.

    https://hhoegl.informatik.hs-augsburg.de/oss/Haar/haar-urheberrecht.pdf

  2. Tobias Haar, Rechtsfragen der Open-Source-Compliance (Material, iX, 5/2022, 2 Seiten).

  3. https://opensource.guide/de/legal/ (von Github). Geht auch auf CLA/DCO ein. Der Github Text ist Teil der „Open Source Guides“, https://opensource.guide/de/

  4. Auch im Buch von Vicky Brasseur geht es in Kap. 3 u.a. um CLA/DCO.

  5. https://choosealicense.com

  6. https://ifross.github.io/ifrOSS/Lizenzcenter

  7. Vergleich der MS EULA mit der GPL: https://hhoegl.informatik.hs-augsburg.de/oss/comparing_the_gpl_to_eula.pdf

    Ab Seite 4 geht es um die „Windows XP End User License Agreement“, ab Seite 19 um die GPL. Der Text ist zwar schon etwas älter (2003), hat aber noch Gültigkeit und zeigt deutlich die unterschiedlichen Absichten der beiden Lizenzen.

1.3.7 11.5.22

Achtung: Am 18.5. und am 25.5. ist keine Präsenz-Vorlesung!

1.3.8 1.6.22

Angesprochene Themen

1.3.9 8.6.22

Entfallen wg. Corona

Hausaufgabe: Die aktuelle iX 6/22 enthält einen interessanten Schwerpunkt zu Open-Source und agilen Teams. Sie finden die Artikel in dem „Material“ Ordner https://hhoegl.informatik.hs-augsburg.de/oss unter der Überschrift iX 6/22, Titel „Open-Source und Agile Teams“.

1.3.10 15.6.22

Entfallen wg. Corona.

1.3.11 22.6.22

Entfallen wegen Projekttag in der Informatik.

1.4 Hausaufgaben

1.4.1 Übung 1

(bis 29.3., 23.59 Uhr)

  1. Welche Programme verwenden Sie typischerweise für Ihre tägliche Arbeit 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.

  2. Ergänzen Sie die Geschichte freier Software ab 2000 bis jetzt. Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren Open-Source Geschichte stattgefunden haben.

    Geschichte freier Software bis 2000: https://www.kritische-informatik.de/index.htm?fshistl.htm

  3. In [1] Kapitel 1 (Foundations) und 2 (What Free and Open Source can do for You) lesen (25 Seiten).

  4. Auf einschlägige Nachrichten (Zeitung, Smartphone) aus dem FLOSS-Bereich achten.

  5. Video anschauen (ca. 2 Minuten): „4 Freedoms“ http://www.youtube.com/watch?v=uJi2rkHiNqg Die Kernaussagen im Hausaufgabentext notieren.

Diese Aufgaben beantworten Sie bereits in Ihrem fortlaufenden Hausaufgabentext, den Sie auf das RZ WWW-Home legen.

1.4.2 Übung 2

(bis 5.4., 23.59 Uhr)

  • Die Hausaufgabentexte verbessern (Markdown)

  • Film „Das Microsoft Dilemma“ ansehen und wesentliche Aussagen notieren

  • In [1] Kapitel 3 (Prepare to contribute) und 4 (Find a Project) lesen (25 Seiten). Verständnisfragen zu diesem Buch sind in der „Fragensammlung“, siehe Link ganz oben auf dieser Seite.

  • Den Übersichtsartikel von Hofmann und Winde lesen und Notizen dazu machen: https://hhoegl.informatik.hs-augsburg.de/oss/freibier-fuer-alle-lu12-2012.pdf

  • Die MIN Studierenden schicken mir Themenvorschläge für die Studienarbeit (Deadline Sonntag 3.4.2022, 23:59)

1.4.3 Übung 3

(bis 12.4., 23.59 Uhr)

  • Vergleiche Debian Social Contract (Debian-Gesellschaftsvertrag) https://www.debian.org/social_contract und Open Source Definition https://opensource.org/osd

  • Die Organisation des Debian Projektes in Grundzügen verstehen. Dazu das Kap. 1 - The Debian Project in Mas, Hertzog, The Debian Administrator’s Handbook, https://debian-handbook.info/browse/stable ansehen. Das Buch spricht nicht nur den Administrator an, wie es der Titel nahelegt.

    Tipp: Ein weiteres empfehlenswertes freies Buch zu Debian ist Frank Ronneburg’s „Debian GNU/Linux Anwenderhandbuch“, https://debiananwenderhandbuch.de. Auch in diesem Buch erfährt man im ersten Kapitel viel über freie und offene Software im allgemeinen.

    Noch ein Tipp: Auch den Wikipedia Eintrag zu Debian sollten Sie kennen: https://de.wikipedia.org/wiki/Debian

  • Film ansehen: Software-Rebellen: Die Macht des Teilens (arte 2018), https://www.youtube.com/watch?v=rJ9alHLIthw, Info zum Film

  • Wie jede Woche im Buch von Vicky Brasseur weiter lesen :-)

  • Meine Liste von freien Programmen (genauer „free + open source“) möchte ich in ein Wiki übertragen, das von allen geändert werden kann. Vermutlich nehme ich ein Moodle Wiki, gibt es andere Vorschläge? Gerne in das Forum schreiben. Gemeinschaftlich solle dann die Liste überarbeitet werden, veraltetes Zeug entfernt und neues hinzugefügt werden.

  • Versuchen Sie ein Program ihrer Wahl nach den oben genannten Kriterien des Code-Reading zu untersuchen.

1.4.4 Übung 4 (bis 27.4.)

  • Wiki „OSS-Wiki“ im Moodle Kurs kollektiv bearbeiten

    • OssProgramme

    • OssAlternativen

    https://moodle.hs-augsburg.de/course/view.php?id=5701

  • Bei Doodle Umfragen ist man meist Werbung ausgesetzt und getrackt wird man auch. Bietet offene Software irgendwelchen Alternativen in diesem häufig genutzten Bereich?

  • Letzte Woche hatten wir mal kurz über Suchmaschinen gesprochen und welche Alternativen es gibt. Hier habe ich ein paar Artikel aus der c’t darüber gesammelt. Gerne mal reinschauen wen es interessiert, ist aber nicht Pflicht, da es nicht zu einem Kernthema der Veranstaltung gehört:

    https://hhoegl.informatik.hs-augsburg.de/oss/Suchmaschinen/

  • Nur MIN: Gliederung der Studienarbeit bis nach Ostern (27.4.)

1.4.5 Übung 5 (bis 4.5.)

1.4.6 Übung 6 (bis 11.5.)

  1. Finden Sie eine aktuelle Lizenz-Statistik der Projekte auf einem grossen Git-Hoster wie Github oder Gitlab.

  2. Die Fragen im Abschnitt „2 Allgemeines“ des folgenden Textes beantworten:

    https://hhoegl.informatik.hs-augsburg.de/oss/Fragen/Lizenz-Fragen.html

1.4.7 Übung 7 (bis Samstag 28.5.)

Restliche Fragen zu Lizenzen

1.4.8 Übung 8 (bis 8.6.22)

Firmen in der Nähe sammeln, die mit freier Software arbeiten oder die freie Software herstellen.

➜ Tuxedo, Linogate, Igel, BMK, Infineon, Xitaso, Pengutronix, Linutronix, Denx, HiveMQ, …

1.5 Weiterführende Informationen

Dazu zählt auch alles, was in unserer Materialsammlung ist: https://hhoegl.informatik.hs-augsburg.de/oss/

1.5.1 Literatur/Videos

[1] Vicky Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (222 Seiten). https://hhoegl.informatik.hs-augsburg.de/oss/forge-your-future-with-open-source_P1.0.pdf

[2] Den 45-minütigen Film Das Microsoft-Dilemma bitte anschauen und die Kernaussagen im Bericht festhalten. Nachdem der Film behandelt wurde lösche ich ihn wieder von meinem Server.

[3] Karl Beecher, A Beginner’s Guide to Open Source, Apress 2018 Video https://learning.oreilly.com/videos/a-beginners-guide/9781484243497/9781484243497-Beecher_Introduction

[4] Karl Beecher, Free Alternatives to Everyday Software (Apress 2018) Video https://learning.oreilly.com/videos/free-alternatives-to/9781484243770/

[5] Karl Beecher, Moving to an Open Source World (Apress 2019) Video https://learning.oreilly.com/videos/moving-to-an/9781484244418/

[6] Software Rebellen. Die Macht des Teilens. Arte 2017.

1.5.3 Neu

2022-06-02 | InnerSource Patterns https://patterns.innersourcecommons.org, siehe dazu auch den Artikel in der iX (https://hhoegl.informatik.hs-augsburg.de/oss/ix.06.2022-InnerSource.pdf)