#format rst #language de .. figure:: http://hhoegl.informatik.hs-augsburg.de/oss/img/ossart.jpg :target: http://hhoegl.informatik.hs-augsburg.de/oss/img/ossart.jpg :width: 60% :align: center ========================= Open-Source Software 2021 ========================= Mi, 14:00 bis 15:30, 15:40 bis 17:10 **Klausur am 6.7. (Di), 17:00 Uhr per Zoom und Moodle**. Moodle Kurs zur Online-Prüfung https://moodle.hs-augsburg.de/course/view.php?id=4895 Zum Moodle Kurs: https://moodle.hs-augsburg.de/course/view.php?id=4639 Zoom Link: siehe Ankündigung in Moodle Video-Aufnahmen: http://hhoegl.informatik.hs-augsburg.de/video/oss21/ Material: http://hhoegl.informatik.hs-augsburg.de/oss/ (Zeitungsartikel, Aufsätze, Buchkapitel, etc.) Fragensammlung: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html Frühere Veranstaltungen: ``_ .. contents:: Inhalt .. sectnum:: News ---- * Christos Zosimidis - 27. April 2021 Eine Forschergruppe der Universität Minnesota hat absichtlich versucht Bugs und Sicherheitslücken in den Linux-Kernel zu bauen, um zu erforschen wie groß das Risiko von solchen Arten von Angriffe an Open-Source Projekte ist. https://www.golem.de/news/linux-kernel-community-blockiert-uni-nach-eingeschleusten-bugs-2104-155936.html https://github.com/QiushiWu/qiushiwu.github.io/blob/main/papers/OpenSourceInsecurity.pdf * Philipp Mirbaha - 4. Mai 2021 Lizenz https://en.wikipedia.org/wiki/WTFPL (im Projekt https://github.com/EnderQIU/vslc) 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 (http://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: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung 24.3.2021 --------- 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. Ablauf der Veranstaltung: * Hausaufgaben (keine Teams, keine Projekte) * Online-Klausur für BA und MA über Zoom im Juli, Multiple-Choice und einige Freitextaufgaben in Moodle. * MA (Master) 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 * Mit Markdown oder Restructured Text schreiben (mkdocs.org, pandoc, asciidoc, sphinx) * 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. * Wer in Zukunft nicht mehr teilnehmen möchte, meldet sich bitte aus der Teilnehmerliste in Moodle ab. Hausaufgaben **A1** bis 31.3.: 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. #. Ergänzen Sie die Geschichte freier Software (https://www.kritische-informatik.de/... siehe oben) ab 2000. Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren Open-Source Geschichte stattgefunden haben. #. In [1] Kapitel 1 lesen (13 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. Diese Aufgaben beantworten Sie bereits in Ihrem fortlaufenden Hausaufgabentext, den Sie auf das RZ WWW-Home legen. 31.3.2021 --------- 14:00 bis 16:40 Es gibt leider nur von den ersten 30 Minuten eine Videoaufnahme, siehe http://hhoegl.informatik.hs-augsburg.de/video/oss21/. Durch einen Fehler in der Aufnahme ist der Grossteil der 2,5 stündigen Vorlesung leider unbrauchbar geworden. Falls jemand eine vollständige Aufzeichnung oder eine Mitschrift hat, dann bitte melden! Worüber wir gesprochen haben: * Organisatorisches * Alle schicken mir den Link auf die Hausaufgabe über https://yopad.eu/p/Oss21Link (gueltig bis Ende April) * Probleme beim RZ WWW Upload (am besten den Upload automatisieren mit Script) * Gliederung ``_, Abschnitte "Das GNU Projekt" und "Die Open-Source Bewegung" * Unterschiede Freie Software / Open-Source-Software * Geschäftsmodelle am Beispiel Embedded Linux Dienstleister - einer zahlt, alle bekommen es (osadl.org) * Wie ist ihr Umfeld, eher OSS positiv oder negativ? * Microsoft Hetzreden auf GNU/Linux. Gerne selber informieren, Suchbegriffe "steve ballmer hate speech linux" https://www.idginsiderpro.com/article/3584911/how-microsoft-went-from-linux-is-a-cancer-to-microsoft-loves-linux.html * Richard Stallman's Email 27-Sep-83 (z.B. hier: https://gnulinux.ch/37-jahre-gnu) * Emacs, Emacs LISP * Linux Distributionen unterscheiden sich im darin enthaltenen Anteil an proprietaerem Code. Suchen Sie nach Distributionen die keine proprietaeren Anteile haben. Weiterhin gibt es Distributionen die komplett "free software" sind: https://www.gnu.org/distros/free-distros.de.html. Wo liegt der Unterschied zu der ersten Sorte von Distributionen? * Open-Source: ca. ab 1997, Open Source Definition, stammt von Debian Free Software Guidelines DFSG Lern-Videos [2], [3], [4], [5] (waren als Hausaufgabe ueber Ostern gedacht) Bei https://learning.oreilly.com muss man sich vorher ueber die Bibliothek anmelden: https://go.oreilly.com/fachhochschule-augsburg/ 7.4.2021 --------- Video: http://hhoegl.informatik.hs-augsburg.de/video/oss21/20210407.mp4 21.4.2021 --------- Video: http://hhoegl.informatik.hs-augsburg.de/video/oss21/20210421.mp4 **Code-Reading** - Vorschlaege fuer Programme sind hier: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung#code-reading Denken Sie bei der Analyse der Programme mindestens an folgende Punkte: * Projekt aktiv oder verwaist? * Wer steckt dahinter? * Wer ist der aktuelle Maintainer? * Wo wird das Projekt gehostet? * Fuer welche Betriebssysteme ist es geeignet? * Unter welcher Lizenz steht das Programm? * Ist es ein Kommandozeilen- oder Grafikprogramm? * Wie lange existiert es? * Wer hat 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 ungefaehr? (schwer herauszubekommen) * Gibt es Abspaltungen ("forks")? * Wie kann man mitmachen, bzw. was einreichen? * Letztes Update * Wie werden Branches in Git verwendet (workflow) * und so weiter... **Eigenes kleines Spielprojekt** auf gitlab anlegen. Es geht nicht um das Programm bzw. den Code an sich, sondern darum, wie man das Projekt als Open-Source Software kennzeichnet. 28.4.2021 --------- Code-Reading, Teil 2 Beispiel lighttpd - autoconf - cmake (mit make oder ninja Backend) - scons - meson GNU Autotools Demo: http://hhoegl.informatik.hs-augsburg.de/oss/aufgaben/autotools_novotnik/ Muesste mal modernisiert werden, so dass es mit den aktuellen Autotools arbeitet, als auch mit cmake, scons, meson und premake. Buch von V. Brasseur: Kap. 2, 3, 4 lesen. 5.5.2021 -------- Hausaufgabe: LGPL V3 - https://www.gnu.org/licenses/lgpl-3.0.de.html - https://www.qt.io/faq/tag/qt-open-source-licensing (LGPL V3 oder GPL V2 oder GPL V3) 19.5.2021 --------- Erläuterungen und Fragen zum Thema Lizenzen: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/Lizenz-Fragen.html 20 Jahre Wikipedia: http://hhoegl.informatik.hs-augsburg.de/oss/Wikipedia/ Artikel von Tobias Haar zu Urheberrecht und Patenten: http://hhoegl.informatik.hs-augsburg.de/oss/Haar/ 26.5.2021 --------- Arbeitsaufträge: * Die Fragensammlung habe ich ein wenig umgebaut, sie ist nun hier zu finden: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html Die Klausur ist am 6.7., sie können gerne schon mit der Vorbereitung beginnen. Ein paar Themen werde ich aber noch aus der Sammlung entfernen. * Lesen Sie den dreiseitigen Artikel zum Thema "Open Innovation". http://hhoegl.informatik.hs-augsburg.de/oss/Emde-Wissensvermehrung-2012.pdf * Lesen Sie den Übersichtsartikel von Stürmer und Myrach zum Thema "Community Building". http://hhoegl.informatik.hs-augsburg.de/oss/StuermerMyrach_OpenSourceCommunityBuilding.pdf * Jeder/Jede sollte Einträge in https://yopad.eu/p/OssProgramme machen können, so dass eine Liste entsteht, von der jeder was hat. 2.6.2021 -------- * Mal wieder einen Film ansehen: [6] (`Software Rebellen `_) * Hervorragender Text zur Gemeinschaftsbildung: "The Open Source Way" http://hhoegl.informatik.hs-augsburg.de/oss/the_open_source_way-guidebook-2.0.pdf * Geschäftsmodelle Dominik Obermaier hat an der Hochschule Landshut studiert. Er hat HiveMQ mitentwickelt und ist nun CEO der gleichnamigen Firma. Wie kann er Geld verdienen, obwohl die Software offen ist? Im folgenden Interview erzählt er über die Entwicklung und was er von Open-Source Software hält: http://hhoegl.informatik.hs-augsburg.de/oss/ss20/HiveMQ-OSS.pdf Viele Automobilfirmen verwenden HiveMQ, es koopieren sogar mehrere Hersteller an Open-Source Bibliotheken. Früher wäre das unvorstellbar gewesen. Wo liegen hier die Vorteile von freier Software? * Siehe die c't Artikel zu den Geschäftsmodellen unter http://hhoegl.informatik.hs-augsburg.de/oss. 9.6.2021 -------- **Prüfungsvorbereitung** (Klausur am 6.7. (Di), 17:00 Uhr per Zoom und Moodle) * Alte Klausuren: http://hhoegl.informatik.hs-augsburg.de/oss/Klausuren/ Schauen sie sich oss-19.pdf und oss-18.pdf an. * Fragenkatalog: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html * Einige Firmen sind in letzter Zeit auf die SSPL Lizenz gewechselt, vor allem um die Software kommerzialisieren zu können. Warum wurde die SSPL nicht als Open-Source Lizenz anerkannt? https://en.wikipedia.org/wiki/Server_Side_Public_License * Code Reading: Ein Projekt von den folgenden drei aussuchen und genauer untersuchen nach unseren bekannten Kriterien: - lighttpd https://www.lighttpd.net - libwebsockets https://libwebsockets.org - CO2 Ampel der HFT Stuttgart - https://transfer.hft-stuttgart.de/gitlab/co2ampel (ampel-firmware) - https://www.hft-stuttgart.de/forschung/news/co2-ampel-lueften-gegen-covid-19 * Freie Programme in verschiedenen Bereichen - https://yopad.eu/p/OssProgramme - http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssProgramme * Basics zur Benutzung von git und gitlab Einfaches "Github/Gitlab Flow" branching Modell http://hhoegl.informatik.hs-augsburg.de/oss/ * Basics zum Konfigurationsmanagement: Zumindest die Idee sollte bekannt sein, die hinter Werkzeugen wie automake, scons.org, cmake.org, mesonbuild.com steckt. * Firmen, die mit Open-Source Geld verdienen: Nicht nur Redhat, sondern auch mittelstaendische Unternehmen in Deutschland (Pengutronix, Linutronix, Denx.de, Sysmocom.de, Tuxedo, ...) Noch ein Buchtipp: Andy Oram, Zaheda Bhorat, Open-Source in the Enterprise, O'Reilly 2018 (frei zum Download): https://aws.amazon.com/de/opensource/enterprise-oss-book/ Weiterführende Informationen ---------------------------- Literatur/Videos ```````````````` [1] Vicky Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (222 Seiten). http://hhoegl.informatik.hs-augsburg.de/oss/forge-your-future-with-open-source_P1.0.pdf [2] Den `45-minütigen Film `_ 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. https://devtube.dev-wiki.de/videos/watch/0c5f8a0f-8f44-499a-8f08-8f616027326e Rechtliches ``````````` * 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. https://opensource.guide/legal Teil der Open-Source Guides https://opensource.guide von Github: - How to contributes to OSS - Starting an Open-Source Project - Finding Users for your Project - Building Welcoming Communities - Best Practices for Maintainers - Leadership and Governance - Getting Paid for Open-Source Work - Your Code of Conduct - Open-Source Metrics - The Legal Side of Open Source * https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository#disclaimer * https://choosealicense.com (von github) * https://de.creativecommons.org/index.php/was-ist-cc/ * http://www.ifross.org/lizenz-center * Falk Zscheile , Wissen sichern mit freien und offenen Lizenzen, CLT2017, https://chemnitzer.linux-tage.de/2017/de/programm/beitrag/260 * Urheberrecht in der digitalen Welt http://irights.info Nachricht über Änderung der Audacity Lizenz: https://www.golem.de/news/open-source-audacity-soll-neue-lizenz-und-cla-bekommen-2105-156873.html