#format rst #language de ========================= 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: ``_ .. contents:: Inhalt .. sectnum:: 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 https://r-n-d.informatik.hs-augsburg.de:8080 - 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. 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" #. 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 Vorlesungen ----------- 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. 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: - Curl https://github.com/curl/curl - Webhookd https://github.com/ncarlier/webhookd * Vorschlag ``README.md``: .. code-block:: # Open-Source Software (WPF) Hochschule Augsburg \ Fakultät für Informatik \ Sommersemester 2022 \ Prof. Dr. Hubert Högl Max Muster, #123456, INF6, 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. 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. 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 +++ 27.4.2022 ````````` * 20 Jahre Wikipedia, http://hhoegl.informatik.hs-augsburg.de/oss/Wikipedia/ * Digitale Souveränität (siehe Material https://hhoegl.informatik.hs-augsburg.de/oss) * Beispiel: https://www.hostsharing.net Am 18.5. (verhindert) und 25.5. (Pyramid) sind keine Vorlesungen, aber es gibt Hausaufgaben 4.5.2022 ````````` **News** * Neues zu Schwäbisch Hall (Material, c't Heft 10-2022, 2 Seiten). * Ich habe gerade wieder den schönen Zeitungsartikel über Emil Ivov gefunden, dem Jitsi-Meet Erfinder. Open-Source wird am schönsten, wenn man ein wenig die Geschichten hinter der jeweiligen Software kennt. Ich bin drauf gekommen, weil ich heute ein Meeting über den Münchner Jitsi Hoster https://meet.ffmuc.net (Freifunk München) hatte. Es gibt aber auch jede Menge andere Jitsi Hoster, z.B. https://meet.jit.si. https://www.sueddeutsche.de/digital/jitsi-videokonferenz-snowden-emil-ivov-datenschutz-1.5222387 * Dominic Obermaier, Absolvent Hochschule Landshut, gründet Fa. https://www.hivemq.com, http://hhoegl.informatik.hs-augsburg.de/oss/ss20/HiveMQ-OSS.pdf **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 #. Tobias Haar, Rechtsfragen der Open-Source-Compliance (Material, iX, 5/2022, 2 Seiten). #. 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/ #. Auch im Buch von Vicky Brasseur geht es in Kap. 3 u.a. um CLA/DCO. #. https://choosealicense.com #. https://ifross.github.io/ifrOSS/Lizenzcenter #. 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. 11.5.22 ``````` * Felicitas Jung, Fürchte nicht den offenen Quellcode - 1x1 des Lizenzmanagements, Pengutronix 2020. https://www.pengutronix.de/de/blog/2020-02-25-open-source101.html **Achtung: Am 18.5. und am 25.5. ist keine Präsenz-Vorlesung!** 1.6.22 ``````` Angesprochene Themen * Open-Innovation * Geschäftsmodelle * Git (fork, pull requests), Branching-Konzepte https://hhoegl.informatik.hs-augsburg.de/oss/ct.2020.15.142_145.git-branching.pdf * OSS Compliance https://hhoegl.informatik.hs-augsburg.de/oss/ix.2022.05-OSS-Compliance.pdf 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". 15.6.22 ```````` Entfallen wg. Corona. 22.6.22 ``````` Entfallen wegen Projekttag in der Informatik. Hausaufgaben ------------ Ü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. #. 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 ``_, 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. Ü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) Ü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. Ü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.) Übung 5 (bis 4.5.) ``````````````````` * Filme zu Wikipedia anschauen .. code-block:: vlc http://hhoegl.informatik.hs-augsburg.de/video/wikipedia/Das-Wikipedia-Versprechen.m2t vlc http://hhoegl.informatik.hs-augsburg.de/video/wikipedia/Wikipedia-Die-Schwarmoffensive.m2t Der Film "Wikipedia - Die Schwarmoffensive" ist auch auf der Seite von bpb.de zu finden: https://www.bpb.de/mediathek/video/346108/wikipedia-die-schwarmoffensive * Ü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.) https://hhoegl.informatik.hs-augsburg.de/oss/ * Schon mal ansehen: https://hhoegl.informatik.hs-augsburg.de/oss/Fragen/Lizenz-Fragen.html Ü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 Übung 7 (bis Samstag 28.5.) ``````````````````````````` Restliche Fragen zu Lizenzen Ü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, ... Weiterführende Informationen ---------------------------- Dazu zählt auch alles, was in unserer Materialsammlung ist: https://hhoegl.informatik.hs-augsburg.de/oss/ 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. 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://opensource.guide/legal * https://choosealicense.com (von Github) * http://www.ifross.org/lizenz-center Wikipedia - die Schwarmoffensive. Ein Dokumentarfilm von María Teresa Curzio (2021 HU-Film) https://www.bpb.de/mediathek/video/346108/wikipedia-die-schwarmoffensive/ 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)