Open-Source Software 2022
Mi, 14:00 bis 15:30, 15:40 bis 17:10, G1.10
Moodle: https://moodle.hs-augsburg.de/course/view.php?id=5701
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
Inhalt
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
Auf RZ WWW Home legen, siehe https://www.hs-augsburg.de/Rechenzentrum/Eigene-Homepage.html
Bearbeitungszeit eine Woche, Abgabe spätestens am Vortag, Dienstag, 23:59.
In "Markdown" schreiben (Werkzeug "pandoc"), siehe https://r-n-d.informatik.hs-augsburg.de:8080/hubert.hoegl/Markdown-Anleitung
Verwalten Sie den "Quelltext" ihres Textes (also die .md Datei(en)) in Gitlab
Arbeiten Sie nur mit freier Software unter GNU/Linux, gerne auch in einer virtuellen Maschine (Linux als Gast) auf dem Hostbetriebssystem Windows. Oder: Windows Subsystem for Linux (WSL/WSL2), https://docs.microsoft.com/en-us/windows/wsl/install
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.
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!
- 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
- 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".
- 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 etwas genauere Gliederung ist hier: https://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung
3 Vorlesungen
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.
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.
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.
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 +++
3.5 27.4.2022
XXX to do
4 Hausaufgaben
4.1 Übung 1
(bis 29.3., 23.59 Uhr)
- 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.
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
- In [1] Kapitel 1 (Foundations) und 2 (What Free and Open Source can do for You) lesen (25 Seiten).
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.
- Github The ReadMe Project, https://github.com/readme
- 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.
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)
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.
4.4 Übung 4 (bis 27.4.)
Wiki "OSS-Wiki" im Moodle Kurs kollektiv bearbeiten
- OssProgramme
- OssAlternativen
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:
Nur MIN: Gliederung der Studienarbeit bis nach Ostern (27.4.)
4.5 Übung 5 (bis 4.5.)
Überblick über die Genossenschaft https://www.hostsharing.net verschaffen
- Ziele (Selbstbestimmung, Nachhaltigkeit, Professionalität) https://www.hostsharing.net/ziele/digitale-souveraenitaet
- Handbuch "Freie Software im Verein" https://hhoegl.informatik.hs-augsburg.de/oss/hostsharing-vereinshandbuch.pdf
Argumente dafür/dagegen sammeln:
Wann ist die klassische geschlossene Softwareentwicklung der Open-Source Entwicklung überlegen?
Argumente dafür/dagegen sammeln:
Ist freie/offene Software sicherer als kommerzielle Software?
Literatur zu Digitaler Souveraenitaet durchsehen (Gaia-X, etc.)
Schon mal ansehen:
https://hhoegl.informatik.hs-augsburg.de/oss/Fragen/Lizenz-Fragen.html
5 Weiterführende Informationen
Dazu zählt auch alles, was in unserer Materialsammlung ist: https://hhoegl.informatik.hs-augsburg.de/oss/
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.
5.2 Links
Rechtliches
Urheberrecht in der digitalen Welt http://irights.info
The Legal Side of Open Source. Everything you've ever wondered about the legal side of open source, and a few things you didn't. (von Github)
https://choosealicense.com (von Github)